Commit Graph
2051 Commits
Author SHA1 Message Date
Dominik Jain 93294a2b30 Fix healh-check assuming non-compact symbol overview
Fixes #958
2026-01-19 23:06:18 +01:00
Dominik Jain 10ba2d890b Fix logging error (kind is not necessarily an int) 2026-01-19 23:05:08 +01:00
Torben Leth 4a44cba6c8 feat(al): normalize AL symbol names by stripping object type and ID metadata
AL Language Server returns symbol names with full object format like
'Table 50000 "TEST Customer"', but symbol names should be pure without
metadata - uniformly across all languages.

This follows the same pattern as Java LS which strips type information
from names. Metadata (object type, ID) is available via the hover LSP
method when using include_info=True in find_symbol.

Changes:
- Add extract_al_display_name() to parse AL object names
- Override request_document_symbols() to normalize names at source
- Update tests to expect normalized names
2026-01-19 22:48:38 +01:00
Dominik Jain a9b345ccfe Merge pull request #959 from oraios/simplify-serena-config
Further simplify SerenaConfig
2026-01-19 21:22:33 +01:00
Dominik Jain 0c43e60810 SerenaConfig: Unify handling of file-mapped configuration entries
Fixes 'fixed_tools' not being loaded
2026-01-19 19:45:29 +01:00
Dominik Jain abef88c482 SerenaConfig: Rename gui_log_window_enabled to gui_log_window
This removes the discrepancy with the configuration file (where it was always gui_log_window)
2026-01-19 18:33:43 +01:00
Dominik Jain 80f296fcdb Merge pull request #928 from MaxMiksa/fix/ts-rename-didopen
SolidLSP (TypeScript): ensure didOpen before textDocument/rename to avoid null edits
2026-01-19 15:12:25 +01:00
Dominik Jain 4b64867a52 SerenaAgent.create_system_prompt: Fix use of exposed tools instead of active tools
Improve handling of active tools in general

Fixes #954
2026-01-19 00:01:30 +01:00
Dominik Jain ed46e3f3d2 Improve workflow description when using the JetBrains plugin
Resolves #942
2026-01-18 22:56:05 +01:00
Dominik Jain 131162c0b9 Merge pull request #953 from oraios/lazy-lsp-file-buffer
LSPFileBuffer: Make content hash computation lazy
2026-01-18 21:35:30 +01:00
Dominik Jain f97e1bb99a Force black below v26, because of pathspec compatibility 2026-01-18 19:41:08 +01:00
Dominik Jain 4d679dc99c LSPFileBuffer: Make content hash computation lazy #951
Fix content hash computation ignoring file encoding and hard-coding utf-8
2026-01-18 19:41:08 +01:00
Dominik Jain 3748eb8b7c TestSerenaAgent.test_find_symbol: Fix test by continuing to test with include_info=True 2026-01-18 19:11:00 +01:00
Dominik Jain 486340b2ba FindReferencingSymbolsTool: Disable include_info by default #951 2026-01-18 16:50:56 +01:00
Dominik Jain 684953f646 FindSymbolTool: Disable include_info by default #951 2026-01-18 16:31:49 +01:00
zen010101 53524062d8 feat(pascal): Support ls_specific_settings for Pascal LSP
Add support for configuring Pascal Language Server via ls_specific_settings:
- pp: Path to FPC compiler driver (must be fpc.exe, not ppc386.exe)
- fpcdir: Path to FPC source directory
- lazarusdir: Path to Lazarus directory
- fpc_target: Override target OS (FPCTARGET env var)
- fpc_target_cpu: Override target CPU (FPCTARGETCPU env var)

These settings are passed as environment variables to pasls, enabling
CodeTools to properly configure target platform and locate source files.
This fixes hover/navigation issues with complex include directives like
those in mORMot2 project.
2026-01-18 13:43:23 +08:00
zen010101 0deaa923ec feat(pascal): Add auto-update for Pascal Language Server
- Automatically download pasls from zen010101/pascal-language-server releases
- Check for updates every 24 hours with version comparison
- SHA256 checksum verification for security
- Atomic installation with rollback on failure
- Tarfile path traversal protection
- Handle nested archive directory structure

CI improvements:
- Fix FPC installation for Ubuntu/macOS/Windows
- Add proper FPC verification step that fails on actual errors

Tests:
- 33 unit tests for version comparison, checksum, tarfile safety
- 8 integration tests with actual pasls functionality
2026-01-17 23:16:07 +08:00
Long Peng 6f98e6c67c Adjust the activation prompt for Codex, to make GPT-5 more compliant. 2026-01-17 17:10:50 +08:00
Dominik Jain b5c49c0726 SerenaConfig.propagate_settings: Add missing return type declaration 2026-01-17 00:47:36 +01:00
Dominik Jain 1c17d61121 Improve documentation (particularly on configuration) and the issue template 2026-01-17 00:46:43 +01:00
Dominik Jain 7c1cc2ad0e Improve/extend SerenaConfig
* Make the save function update all configuration settings
  * Consider all non-existing keys to be a migration, triggering a resave
  * Improve handling of settings that do not use the same name in
    the configuration file
  * Properly group SerenaConfig class members:
      - public setting (config file-mapped)
      - private setting (renamed to use _ prefix)
      - static member
      - methods
  * Add configuration setting 'jetbrains_plugin_server_adress',
    which is centrally propagated (avoiding injection)
  * Add 'fixed_tools' to template file (was previously a "hidden" setting)

Relates to #941
2026-01-16 16:03:05 +01:00
Dominik Jain 6c4d6e5b67 Improve docstrings [skip ci] 2026-01-16 15:14:38 +01:00
Dominik Jain b0dd8512bb Merge pull request #933 from oraios/ls-dependency-provider
Introduce LanguageServerDependencyProvider abstraction
2026-01-15 21:36:07 +01:00
Dominik Jain eefebaf018 Add ls_path to documentation and general improvements to ls_specific_settings documentation 2026-01-15 19:15:27 +01:00
Dominik Jain deb416353b Merge remote-tracking branch 'origin/main' into ls-dependency-provider 2026-01-15 18:58:38 +01:00
Dominik Jain 95a856c2e5 LanguageServerDependencyProviderSinglePath: Mention ls_path configurability 2026-01-15 18:55:15 +01:00
Dominik Jain ccca8dad26 Update language addition guide to use DependencyProvider 2026-01-15 18:55:15 +01:00
Dominik Jain 2217f516af ClangdLanguageServer: Refactored to use DependencyProvider 2026-01-15 18:55:15 +01:00
Dominik Jain ac1531b305 ClojureLSP: Refactored to use DependencyProvider 2026-01-15 18:55:15 +01:00
Dominik Jain f45db064d4 Intelephense: Refactored to use DependencyProvider 2026-01-15 18:55:15 +01:00
Dominik Jain b33a4085c2 CSharpLanguageServer: Refactored to use DependencyProvider 2026-01-15 18:55:15 +01:00
Michael Panchenko adf26b792b Merge pull request #902 from n-r-w/golang-ls-specific-settings
feat(gopls): support gopls_settings via ls_specific_settings
2026-01-16 00:41:28 +07:00
Dominik Jain dd3c97b81f Remove Rider from list of IDEs [skip ci] 2026-01-14 23:06:03 +01:00
Dominik Jain 29adb65d39 Project.is_path_in_project: Allow symlinks pointing outside the project directory to be accessed
It is reasonable to assume that symlinks point to relevant project content (instead of disallowing access).

Resolves #936
2026-01-14 19:17:40 +01:00
Dominik Jain be50086930 Merge pull request #938 from oraios/open_dashboard_param_in_cli
Open dashboard param in cli and client info in dashboard
2026-01-14 18:26:48 +01:00
Dominik Jain 129be9bdb1 Improve logging, apply timeout only to project ready event #937 2026-01-14 18:22:27 +01:00
Michael Panchenko 26f66a5d23 Hotfix: Add timeout to waiting for server readiness in EclipseJDTLS 2026-01-14 23:52:27 +07:00
Michael Panchenko 2eca7af593 Display info about the client (that performed the last tool call) in dashboard
Had to hack around a bit to make it happen but worth the added transparency for users
2026-01-14 22:18:20 +07:00
Dominik Jain c7c07046c5 EclipseJDTLS: Log language status updates #937 2026-01-14 12:20:09 +01:00
Michael Panchenko 5897585ef2 Support for --open_web_dashboard in the CLI
Also extended docs around that topic.

The setting `context_settings={"max_content_width": _MAX_CONTENT_WIDTH}` in the click command makes the CLI --help output more readable and ensures longer links are not broken up into multiple lines. For consistency, I added it to all commands
2026-01-14 14:14:59 +07:00
Dominik Jain 62cff92b0f Refactor DependencyProvider: Rename method create_process_env -> create_launch_command_env 2026-01-14 02:33:31 +01:00
Dominik Jain 97a777c55b MatLabLanguageServer: Move _find_matlab_installation into DependencyProvider 2026-01-14 02:33:31 +01:00
Dominik Jain df642b8ca1 VueTypeScriptServer: Refactor to use DependencyProvider 2026-01-14 02:33:31 +01:00
Dominik Jain 20b9104702 EclipseJDTLS: Refactor to use DependencyProvider 2026-01-14 02:33:31 +01:00
Dominik Jain 9350017605 PyrightServer: Use sys.executable instead of just 'python' (just in case) 2026-01-14 02:33:31 +01:00
Dominik Jain 941f4ea253 PyrightServer: Refactor to use DependencyProvider 2026-01-14 02:30:48 +01:00
Dominik Jain 9560ee651d Introduce LanguageServerDependencyProvider abstraction
* Add specialisation LanguageServerDependencyProviderSinglePath,
    where the core path can be overridden via ls_specific_settings #917
  * Implement in MatLabLanguageServer and TypeScriptLanguageServer
  * Backwards compatibility is retained; the new approach is optional
2026-01-14 02:29:15 +01:00
Dominik Jain b7142cbfd4 Use simple executor for poe to avoid uv env recreation trouble 2026-01-13 23:16:38 +01:00
Dominik Jain 5c60f1e8b5 ReplaceContentTool: Improve error case message 2026-01-13 22:14:34 +01:00
Dominik Jain 16792389d7 Add missing DotNetRuntime dependency for win-arm64
Fixes #921
2026-01-13 17:05:15 +01:00