Commit Graph
230 Commits
Author SHA1 Message Date
Michael Panchenko c79e9d65f2 Update header text in README.md [ci skip] 2026-04-29 14:33:02 +02:00
Dominik Jain b331183c76 Update documentation to mention JetBrains debug tool 2026-04-24 13:27:23 +02:00
e4da2db1d7 feat: add JSON language server support via vscode-json-languageserver (#1404)
* feat: add JSON language server support via vscode-json-languageserver (fixes #1391)

Add support for JSON files using the `vscode-json-languageserver` npm package
from Microsoft. This provides document symbol navigation and hover information
for JSON files.

The implementation follows the existing YAML language server pattern:
- Auto-installs `vscode-json-languageserver` via npm on first use
- Requires Node.js and npm
- Marked as experimental (must be explicitly specified)

Co-Authored-By: Octopus <liyuan851277048@icloud.com>
Co-authored-by: octo-patch <octo-patch@github.com>
Co-authored-by: Michael Panchenko <35432522+MischaPanch@users.noreply.github.com>
2026-04-24 11:41:50 +02:00
Dr. Dominik Jain 49524ab155 Update README
* Add "Quick Demo" section with new videos
* Remove old section "Serena in Action"
* Update section "How Serena Works", removing redundant part explaining backends (this is what the next section handles)
2026-04-17 15:55:36 +02:00
Michael Panchenko 9ff2c765a9 Readme: minor changes in section on how Serena works 2026-04-15 16:08:10 +02:00
Michael Panchenko 510a4fe300 Added copilot cli eval, minor changes in eval wording 2026-04-14 15:10:05 +02:00
Dominik Jain e6b6faee08 Improve presentation of evaluation in README 2026-04-13 16:42:57 +02:00
Michael Panchenko c3a5652fc7 Minor improvement in readme and docs [ci skip] 2026-04-13 14:54:40 +02:00
Michael Panchenko a3cf1b17c9 Added documentation on Serena evaluation and first evaluation results 2026-04-13 14:09:04 +02:00
Michael Panchenko 685715dd02 Merge branch 'main' into evaluation 2026-04-13 09:51:20 +02:00
ab67ecab3b feat: add mSL (mIRC Scripting Language) support (#1315)
* feat: add mSL (mIRC Scripting Language) support

Add language server support for mIRC Scripting Language (.mrc files).
mSL is used in mIRC and AdiIRC IRC clients for scripting bots, games,
and automation.

The implementation uses a custom Python-based LSP server (pygls) that
parses aliases, events, menus, dialogs, and CTCP handlers. Dependencies
(pygls, lsprotocol) are installed in an isolated venv on first use.

Includes test repo, integration tests, and documentation updates.

* style: apply ruff formatting to msl_language_server.py

* fix: remove INITIALIZE handler that crashes pygls 2.x

pygls 2.x handles the initialize request internally. Overriding
it via @server.feature(lsp.INITIALIZE) causes the LSP subprocess
to crash. Removing the handler lets pygls auto-advertise capabilities
based on registered features (document_symbol, workspace_symbol).

* fix: update embedded LSP script for pygls 2.x

pygls 2.x moved LanguageServer from pygls.server to pygls.lsp.server.
Update import and bump requirement from pygls>=1.3.0 to pygls>=2.0.0.

* refactor: ship mSL LSP as package module, not runtime disk write

Per maintainer feedback: the mSL LSP is a Python script, so it should
ship as a module inside the package rather than being written to disk
at runtime.

Changes:
- Extract embedded LSP script to msl_lsp_server.py (proper module)
- Simplify MslLanguageServer: remove venv creation, disk writes,
  _create_msl_lsp_files(). DependencyProvider now just returns
  sys.executable and launches the sibling module directly.
- Add pygls>=2.0.0 and lsprotocol>=2023.0.0 to pyproject.toml deps

* fix: regenerate uv.lock after upstream v1.1.0 merge

* feat(msl): add references, definitions, and expand test coverage

- Add textDocument/references handler for cross-file alias reference finding
- Add textDocument/definition handler for go-to-definition support
- Handle $ prefix on cursor position for mSL identifiers
- Fix pre-existing mypy error in agent.py (dict[str, object] -> dict[str, str | int])
- Add MSL to _LANGUAGE_PYTEST_MARKERS in conftest.py
- Add MSL parametrized cases to test_find_symbol_stable and test_find_symbol_references_stable
- Expand test repo with cross-file reference examples (main.mrc <-> utils.mrc)
- Add within-file and cross-file reference tests to test_msl_basic.py
- Update docs and CHANGELOG to reflect expanded capabilities

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

* style: apply ruff formatting to msl_lsp_server.py

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

* fix(msl): add hover handler, fix cross-file references via filesystem scan

Root causes of 4 CI test failures:
- textDocument/hover was not implemented (test_find_symbol_stable needs it)
- references/workspace_symbol/definition only searched opened documents,
  missing files not explicitly opened by the client
- pygls.uris.to_fs_path returns lowercase drive letters on Windows,
  causing URI mismatch with the framework's repository path comparison

Fixes:
- Add textDocument/hover handler returning definition snippets in Markdown
- Add _get_all_mrc_files() to scan workspace filesystem for all .mrc files
- Read workspace roots from server.workspace (pygls 2.x API) instead of
  broken monkey-patching of server.lsp
- Use pathlib.Path.resolve() to normalize drive letter casing on Windows
- Simplify __main__ to just server.start_io()

All 12 tests pass locally (10 solidlsp + 2 serena_agent integration).

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

* MSL language: removed unnecessary Dep. provider

* Changelog

* deps

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Michael Panchenko <michael.panchenko@oraios-ai.de>
2026-04-13 08:47:51 +02:00
Michael Panchenko 99925447ea Evaluation, WIP 2026-04-12 15:16:16 +02:00
Michael Panchenko 5eb7c028c2 Readme: fix link to quick-start section 2026-04-12 12:58:32 +02:00
Michael Panchenko acb3a0dc1a Adding discord link (badge) to readme 2026-04-12 12:54:00 +02:00
Dominik Jain 34a703ad50 Restore links to quick start guide, updating the docs autogen build script 2026-04-11 16:54:45 +02:00
Dominik Jain fef4165702 Fix docs build 2026-04-11 16:36:05 +02:00
Dominik Jain bfd63a73fb Revert "WIP"
This reverts commit 468110a9e0.
2026-04-11 16:27:18 +02:00
Michael Panchenko 812b6e066a Merge branch 'main' into v1.1-develop
# Conflicts:
#	CHANGELOG.md
2026-04-11 15:27:38 +02:00
Michael Panchenko 468110a9e0 WIP 2026-04-10 21:13:59 +02:00
Michael Panchenko 8b76fc2846 Readme: callout on installation 2026-04-10 15:34:13 +02:00
Tobias Jansing e9b6c0ff85 Add Haxe language support via vshaxe/haxe-language-server
Includes full setup with ls provider, tests, docs, etc.
2026-04-10 15:07:23 +02:00
Dominik Jain 9722f68796 Merge remote-tracking branch 'origin/main' into v1.1-develop 2026-04-09 15:26:35 +02:00
Dominik Jain 25f5f5095f Adjust documentation to use uv tool installation as the main way of running things
* Add installation, update, etc.
* Remove use of `<serena>` and obsolete uvx examples.
2026-04-07 17:36:44 +02:00
Jochen Seeber d8bf1365c3 Add Crystal language support 2026-04-07 17:15:09 +02:00
Dominik Jain d1652727fe Improve init command: Report version, add final success message
Improve README:
 * Move LS deps back to prerequisites
 * Remove incorrect config path (redundant anyway, because user sees it upon init)
 * Some wording changes
2026-04-06 23:07:22 +02:00
Michael Panchenko 318d2f4204 Readme, docs: recommend init command instead of start-mcp-server 2026-04-06 20:25:07 +02:00
Michael Panchenko 0e229586dc Readme, docs: clarified config file creation and JB plugin role
Also added a sentence on using with the Codex app
2026-04-04 20:19:57 +02:00
Dominik Jain d958f70103 Improve language server docs 2026-04-04 20:19:57 +02:00
Dominik Jain 30244526f7 README refinements 2026-04-04 20:19:57 +02:00
Dominik Jain df16c9f9f5 Restore old section on language support separate from features,
collapse features section
2026-04-04 20:00:22 +02:00
Dominik Jain ab79cca16b Collapse video demos 2026-04-04 20:00:22 +02:00
Dominik Jain 9f28a2d75f Restore LLM interaction section, adding block diagram 2026-04-04 20:00:22 +02:00
Dominik Jain 2d78040cf9 Auto-generate docs pages from README: About & Features 2026-04-02 18:21:05 +02:00
Michael Panchenko 9f63606d7b Update README and About section with enhanced feature presentation for v1 2026-04-02 17:38:03 +02:00
Dominik Jain 6faf12b9fa Update uvx run instructions to include Python version (3.13)
uvx ignores not only the lock file but also the Python
version specified in pyproject.toml.
https://github.com/astral-sh/uv/issues/8206#issuecomment-4113536371
2026-04-02 13:25:58 +02:00
Michael Panchenko 958b4ffd95 Disabled F# tests in CI, mentioned bugs in readme 2026-03-23 14:33:48 +01:00
Sergey Belov ff1b9057c0 Add limited Ansible language server support (#1170)
References and definition not working yet. Since ansible resolves same files as yaml LS, we will need to add disambiguation later.

Work in progress, improvements on the language server itself are being worked on, ansible support in Serena will be extended accordingly in the future.
2026-03-16 22:40:58 +01:00
Dominik Jain 3690215e72 Delete roadmap
Resolves #1136 [skip ci]
2026-03-15 13:11:57 +01:00
Vinh Tran 6d6f55308f feat(solidlsp): add Solidity language server support (#1156)
Integrates the Nomic Foundation @nomicfoundation/solidity-language-server
as a new Language.SOLIDITY backend (experimental). Supports .sol files with
go-to-definition, find references, document symbols, hover, and diagnostics.
The server is automatically installed via npm on first use.
2026-03-13 13:14:09 +01:00
StayBlue b3a6045f7e Add Luau language support (#1152) 2026-03-12 11:58:45 +01:00
Dan Rosen 09c007d1e1 Add Lean 4 language support (#1137) 2026-03-12 11:32:31 +01:00
Dominik Jain e7ae10f7cd Update supported IDEs, move OCaml info to the proper place 2026-03-04 22:22:41 +01:00
John Haley 13e20c1cbd feat: Add comprehensive OCaml language support with ocaml-lsp-server integration (#573) 2026-03-04 21:56:49 +01:00
DevonandClaude Opus 4.6 dbd7bf7596 Add HLSL and related languages support through shader-language-server (#1093)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 19:28:50 +01:00
Michael Panchenko 1d0b3afdc9 Removed ccls mention from readme 2026-02-01 20:09:37 +07:00
Azraf Nahian 71a6f1ff82 CCLS Support added (#975)
Also added a test suite for both clangd and ccls
2026-02-01 20:01:51 +07:00
Seyed (Yahya) Shirazi f758a3d19c Add MATLAB language server support (#893)
Requires Matlab and node to be installed, using vscode Matlab extension as LS
2026-01-01 21:56:23 +07:00
Dominik Jain 4b437fe738 Mention Rider IDE as unsupported [skip ci] 2025-12-23 13:23:41 +01:00
Dominik Jain 42849576bd Add custom JetBrains marketplace button image (works in both light & dark modes) 2025-12-18 19:25:53 +01:00
Dominik Jain 807226ddf8 Improve wording/presentation of language support 2025-12-18 19:15:37 +01:00