Commit Graph
1801 Commits
Author SHA1 Message Date
zetaloop 3c9a201ce5 feat: Set MCP ToolAnnotations.readOnlyHint from Tool.can_edit() (#816) 2025-12-08 01:58:54 +01:00
Dominik Jain 2e19f7e098 Merge pull request #662 from dsyme/fsharp
Add F# support using FsAutoComplete LSP
2025-12-08 01:14:07 +01:00
Dominik Jain 72ffb54b7d Improve documentation of F#-specific system configuration and env vars for Claude Desktop [skip ci] 2025-12-08 01:12:06 +01:00
Bracken Spencer 8631984ed6 Fix Windows test: use .exe extension for fsautocomplete 2025-12-07 22:25:01 +01:00
Dominik Jain d4d9da37d9 Adapt F# tests to new DocumentSymbols interface 2025-12-07 21:41:09 +01:00
Dominik Jain 67fd22d134 Merge remote-tracking branch 'brackendev/fsharp-fix' into fsharp
Conflicts:
	test/solidlsp/fsharp/test_fsharp_basic.py
2025-12-07 20:52:50 +01:00
Dominik Jain e4bcd98869 Add missing type annotations 2025-12-07 19:45:13 +01:00
Bracken Spencer 3b83c66fa6 Fix RUF043: Use raw string and escape dot in regex pattern 2025-12-07 19:43:44 +01:00
Dominik Jain 1938ed812c Merge branch 'main' into fsharp
Conflicts:
	CHANGELOG.md
	README.md
	pyproject.toml
	src/solidlsp/ls_config.py
2025-12-07 19:43:09 +01:00
Przemek Pokrywka a56a82f2d2 Scala language server: stop requiring old coursier
You run coursier with "cs" command nowadays.
Users of the new coursier no longer have the old
"coursier" command around.
Yet, the assertion required its presence.
That caused the project creation command to break.

After this change:
- the assertion passes if "cs" or "coursier" is there

("coursier" was only used to install the new "cs" if it was missing)
2025-12-07 19:16:27 +01:00
Bracken Spencer 4cc0cabcb7 Fix Windows CI: Replace Unix-only SIGALRM with cross-platform timeout
signal.SIGALRM is not available on Windows, causing test_completion to fail.
Replace with threading.Thread approach (daemon=True) that works on all platforms.
2025-12-07 18:28:30 +01:00
Dominik Jain e7f1260b3a Add information on advanced configuration 2025-12-07 14:41:00 +01:00
Dominik Jain 7b287fa602 Allow Serena home directory to be overridden with SERENA_HOME env var,
defining the relevant path variables in SerenaPaths
2025-12-07 13:39:08 +01:00
Dominik Jain 904a25053e Merge pull request #812 from oraios/fix/ubuntu-ci-tests
Fix Ubuntu CI test failure
Fixes #788
2025-12-06 14:35:42 +01:00
Dominik Jain 4982622b6a Disable randomly failing assertion #814 2025-12-06 13:59:12 +01:00
Dominik Jain 01ec8465fb Try to re-enable further language tests #788 2025-12-06 13:26:23 +01:00
Dominik Jain 0b87837210 Free disk space on Linux 2025-12-06 12:51:53 +01:00
Dominik Jain cec8ff7a55 Change test log level to INFO 2025-12-06 12:51:53 +01:00
Dominik Jain 118365e96a Change project test fixture to scope 'module' and ensure shutdown
to avoid resource leakage (LS instances accumulating)
2025-12-06 12:51:53 +01:00
Dominik Jain 5fe463f3af Allow agent to be explicitly shut down with controllable timeouts 2025-12-06 12:51:53 +01:00
Dominik Jain e56f1d44a1 Increase LS shutdown timeout in tests to 5s 2025-12-06 00:03:29 +01:00
Dominik Jain 38bad52414 Use context manager for agent fixture 2025-12-05 20:46:44 +01:00
Dominik Jain 7de68c09c3 Improve handling of languages for which tests are disabled
adding Clojure to list of disabled languages (tests appear to fail randomly)
2025-12-05 20:46:03 +01:00
Dominik Jain 72d5f688d4 Disable AL tests in CI #788 2025-12-05 15:21:05 +01:00
Dominik Jain 43001eca68 Attempt to fix Ubuntu CI failure by improving LS lifecycle management in tests #788 2025-12-05 14:34:51 +01:00
Dominik Jain 2fa477397b Merge pull request #810 from oraios/revise-prompts
Revise prompts
2025-12-05 13:08:02 +01:00
Dominik Jain b046f2cb24 Skip SerenaAgent tests using Java in CI #788 2025-12-05 02:27:17 +01:00
Dominik Jain fdeee664ee Remove obsolete enums for contexts and modes 2025-12-05 01:39:16 +01:00
Dominik Jain e75856f587 Revise context prompts/descriptions #742
* Rename 'ide-assistant' to 'claude-code' (backwards-compatible)
* Add new mode 'ide' (basically the same as 'claude-code')
2025-12-05 01:33:00 +01:00
Dominik Jain f0c7a55a4d Minor wording improvements 2025-12-05 00:49:24 +01:00
Dominik Jain 9f6b94b251 Improve mode template 2025-12-05 00:49:19 +01:00
Dominik Jain 25330148b1 Streamline editing mode prompt, removing overlap with system prompt #742 2025-12-05 00:49:19 +01:00
Dominik Jain 33036f0010 Streamline the system prompt, removing redundancies [skip ci] 2025-12-05 00:25:11 +01:00
Dominik Jain 9b3cb94854 Simplify prompt of mode 'no-onboarding' [skip ci]
(made too many assumptions; presence of memories is indicated upon project activation)
2025-12-05 00:09:45 +01:00
Dominik Jain b4654d9b15 Remove unconditional statement about memories from system prompt 2025-12-04 13:40:25 +01:00
Dominik Jain 725eb08f80 Improve mode descriptions 2025-12-04 13:40:03 +01:00
Dominik Jain b1cee0a9f7 Increase likelihood of Serena's manual being read
(if not provided at MCP connection time)
2025-12-03 23:31:18 +01:00
Dominik Jain 790a9ed863 Improve description of CheckOnboardingPerformedTool 2025-12-03 23:31:18 +01:00
Dominik Jain c09b4139f5 Add 'no-memories' mode 2025-12-03 23:31:17 +01:00
w0wl0lxd b4914673a7 style: Fix black formatting in TOML test file 2025-12-01 04:06:44 -06:00
w0wl0lxd 5b31dfffed test: Add comprehensive TOML language server tests
Add 28 new tests across 4 test files for Taplo TOML language support:

- test_toml_edge_cases.py: Tests for inline tables, multiline strings,
  arrays of tables, nested tables, datetime values, and dependency tables
- test_toml_ignored_dirs.py: Tests for TOML-specific directory ignoring
  (target, .cargo, node_modules)
- test_toml_symbol_retrieval.py: Tests for document overview, symbol tree,
  directory overview, and symbol hierarchy operations
- __init__.py: Package initialization

Also adds config.toml test fixture with comprehensive TOML features for
edge case testing.

Total: 35 TOML tests (7 basic + 28 new), all passing.
2025-12-01 04:01:55 -06:00
w0wl0lxd 8b4cd2d33e fix: Taplo LSP initialization and test assertions
- Remove unsupported capabilities from Taplo initialization params
  (formatting, semanticTokens, configuration) that caused -32602 error
- Remove VS Code extension-specific initializationOptions (evenBetterToml)
- Update tests to match Taplo's actual symbol kinds (kind 19 for tables)
- Fix features symbol test to find top-level section, not nested key
2025-12-01 03:40:21 -06:00
w0wl0lxd c01d9d06e8 feat: Add TOML language support via Taplo
Add TOML language server using Taplo with automatic binary download
for .toml file validation, formatting, and schema support.

Security:
- SHA256 checksum verification for downloaded binaries
- Zip slip vulnerability protection for archive extraction
- Download timeout (120s) to prevent indefinite hangs

Fixes #796: serena project index fails on Rust projects when
project.yml contains languages: ["toml"]. Without TOML in the
Language enum, loading such configurations raises ValueError:
'toml' is not a valid Language. This commonly occurs in Rust
projects where users want to index Cargo.toml alongside .rs files.
2025-12-01 02:49:52 -06:00
Dominik Jain 855818da63 System prompt: Improve potentially misleading information on find_symbol usage
Potentially affects #790
2025-11-29 12:42:51 +01:00
Dominik Jain 2691d65b46 Merge pull request #787 from mdbenito/fix/unused-arg
Bugfix: Remove spurious arg from log call
2025-11-27 13:29:54 +01:00
Miguel de Benito Delgado a5a62748c8 Remove spurious arg from log call 2025-11-27 11:49:21 +01:00
Dominik Jain f2c891c59b Allow non-ASCII characters in JSON responses
escaping only required characters

Introduce method Tool._to_json to unify JSON handling

Resolves #785
2025-11-26 22:58:58 +01:00
Dominik Jain 0c2bc17713 Merge pull request #781 from oraios/remove-ls-logger
Remove LanguageServerLogger
2025-11-26 22:41:56 +01:00
Dominik Jain d58dbebce2 Add repo dir sync [skip ci] 2025-11-23 15:57:45 +01:00
Dominik Jain 7f11d6b7e8 Fix SuspendedLoggerContext (adding a copy to serena.util.logging) 2025-11-23 13:32:41 +01:00