Skip to content

Add Eglot LSP tools, project.el backend, and version 0.0.4#5

Open
ransomts wants to merge 7 commits intoacmorrow:mainfrom
ransomts:eglot-project-el-support
Open

Add Eglot LSP tools, project.el backend, and version 0.0.4#5
ransomts wants to merge 7 commits intoacmorrow:mainfrom
ransomts:eglot-project-el-support

Conversation

@ransomts
Copy link
Copy Markdown

Summary

  • Add Eglot backend (claude-code-ide-extras-eglot.el) with 9 MCP tools: code actions, workspace/document symbols, rename, call hierarchy, find implementations, type definition, describe thing at point, and format buffer
  • Add project.el backend (claude-code-ide-extras-project.el) with 9 MCP tools as a built-in alternative to the projectile backend
  • Add call hierarchy, find implementations, and type definition tools to the lsp-mode backend as well
  • Bump all module versions to 0.0.4 for consistency
  • Add Version and Package-Requires headers to the main package file (emacs "29.1", claude-code-ide "0.1")
  • Update README to document all new modules and tools

Test plan

  • Verify eglot tools work with an active eglot session (code actions, symbols, rename, call hierarchy)
  • Verify project.el tools work in a project recognized by project-current (task start/kill/query, dir-locals, file listing)
  • Verify lsp-mode tools still work with the new call hierarchy/implementations/type-definition additions
  • Confirm optional module loading: eglot and project.el modules should silently skip on Emacs < 29 or when dependencies are missing
  • Byte-compile all files without warnings

🤖 Generated with Claude Code

ransomts and others added 7 commits March 3, 2026 00:29
Add code_actions, workspace_symbols, document_symbols, and rename tools
to the Eglot module. Add project.el backend as built-in alternative to
projectile. Add Tim Ransom as co-author across modules.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds three new LSP capabilities to both the Eglot and lsp-mode backends,
enabling Claude to navigate call chains, find interface implementations,
and jump to type definitions. Bumps version to 0.0.4.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The README was missing the eglot (9 tools) and project.el (9 tools)
modules added in recent commits, and undercounted LSP tools (listed 2,
actually 5). Also updates the author's note, requirements, installation
examples, security model, and architecture sections to reflect the
current state of the package.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Aligns version constants across all modules (common, emacs, meta,
project, projectile, main) to 0.0.4 to match eglot and lsp which
were already bumped. Adds Version and Package-Requires headers to
the main package file, declaring emacs 29.1 and claude-code-ide 0.1
as dependencies.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
New modules providing 19 additional MCP tools:

- buffers: list_buffers, get_buffer_info
- diagnostics: get_diagnostics, get_diagnostics_summary,
  recheck_diagnostics, get_compilation_errors (supports both
  flymake and flycheck backends)
- git: git_status, git_diff, git_log, git_blame, git_stash,
  git_branch (uses vc.el, no magit dependency)
- testing: list_tests, run_test, run_tests, run_buttercup_spec
  (supports both ERT and Buttercup frameworks)
- files: file_stat, list_directory, find_files

Wires all new modules into the main package entry point.
Buffers, files, and testing are always loaded; diagnostics and
git are optional (loaded via condition-case like existing modules).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…es modules

Adds documentation for all 19 new MCP tools across 5 modules.
Updates package count, requirements (Emacs 29.1+), installation
examples, security model, and architecture sections.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
New module providing 7 tools for org-mode workflows:

- list_babel_blocks: inventory source blocks with languages and names
- babel_execute: run a single named source block
- babel_execute_buffer: run all blocks in sequence
- get_babel_result: read existing results without re-executing
- babel_tangle: tangle file or specific block to source files
- org_export: export to pdf, html, latex, md, or ipynb
- get_export_settings: read all #+KEYWORD export configuration

Supports ox-jupyter and ox-ipynb for Jupyter notebook export.
Wired into main package as always-loaded (org is built-in).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@acmorrow
Copy link
Copy Markdown
Owner

@ransomts - Thank you for the pull request! It may be a week or so until I have time to give it a quality review, but I will get back to you with my thoughts as soon as I can. I'm very excited to see that others are interested in this.

@ransomts
Copy link
Copy Markdown
Author

No worries and thanks for the starting point! I've been using this in my setup for a little bit now but it certainly has room for improvement.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants