Dominik Jain
b72fe2d45d
Fix mypy issues
2025-11-19 22:32:29 +01:00
Dominik Jain
11cb8f2811
Merge branch 'main' into mypy_on_solidlsp
...
Conflicts:
src/solidlsp/language_servers/elixir_tools/elixir_tools.py
src/solidlsp/language_servers/gopls.py
src/solidlsp/language_servers/terraform_ls.py
src/solidlsp/ls.py
src/solidlsp/ls_handler.py
2025-11-19 22:10:16 +01:00
Dominik Jain
ea3c454a6d
Fix signature of overridden method; fixes #777
2025-11-19 21:52:23 +01:00
Dominik Jain
d103235561
Update language restrictions (Java no longer has symbol naming-related issues)
...
[skip ci]
2025-11-19 21:00:18 +01:00
Dominik Jain
4385203956
Fix use of outdated data['language'] in exception
2025-11-19 19:45:59 +01:00
Dominik Jain
d97cc2889c
Move class ToolSet to module agent
2025-11-19 19:40:31 +01:00
Dominik Jain
14a0e7918a
Fix circular import
2025-11-19 18:48:31 +01:00
Dominik Jain
8a0e6455a1
Update change log [skip ci]
2025-11-19 18:23:10 +01:00
Dominik Jain
6c2b8363dc
Merge pull request #774 from oraios/new-replace-tool
...
More fail-safe and flexible content replacement tool
2025-11-19 18:03:42 +01:00
Dominik Jain
2dcce39fa3
Mention changes pertaining to ReplaceContentTool/ReplaceRegexTool in change log [skip ci]
2025-11-19 18:03:10 +01:00
Dominik Jain
98099e32d5
Encourage use of regex mode more strongly
2025-11-19 17:49:38 +01:00
Dominik Jain
9e1ce384fa
Handle legacy tool names in ToolSet for backward compatbility
2025-11-19 17:42:13 +01:00
Dominik Jain
2d2854d38c
Simplify excessively long prompt on regex-based editing,
...
fixing some incorrect statements
2025-11-19 15:12:21 +01:00
Dominik Jain
b330a03a15
Use new replace content functionality in EditMemoryTool
...
Resolves #747
2025-11-19 15:04:25 +01:00
Dominik Jain
b6f88b9517
Modify ReplaceRegexTool to become ReplaceContentTool, which is more fail-safe and more flexible
...
* It is more fail-safe because it requires no escaping in replacement strings
(I have opted to use a different character sequence for backreferences,
such that escaping backslashes is no longer required.
* It is more flexible, because it adds the "literal" mode, which is simpler
to use for models that are not good at generating regexes correctly
2025-11-19 14:56:32 +01:00
Dominik Jain
9a8be970f2
Merge pull request #772 from oraios/context-single-project-setting
...
Generalise concept of a single-project SerenaAgentContext
2025-11-19 12:43:50 +01:00
Adam Lichtl
81a0fd875c
Added YAML language server ( #763 )
...
Also minor fixes in Elixir LS and a more customizable logging (inferring log level from the log message) for LS implementations
2025-11-19 03:53:22 +01:00
Dominik Jain
e26c8b5195
Merge pull request #736 from oraios/name-path-overloads
...
Add support for overloads, extending name paths with overload indices
2025-11-18 17:39:03 +01:00
Dominik Jain
70c1e4c3bc
Improve type annotations, fixing mypy issues
2025-11-18 17:19:22 +01:00
Dominik Jain
19be1c41c0
Generalise concept of a single-project SerenaAgentContext
2025-11-18 17:17:14 +01:00
Dominik Jain
25513e9179
Connect comment for clarity
2025-11-18 17:15:55 +01:00
Dominik Jain
d6839656ac
Merge remote-tracking branch 'origin/main' into name-path-overloads
...
Conflicts:
src/serena/cli.py
2025-11-17 16:24:13 +01:00
Dominik Jain
600080c68f
Merge pull request #769 from oraios/global-indexing-loop
...
Use a single loop over source files to index project
2025-11-17 16:22:31 +01:00
Dominik Jain
98e6189ac8
Show counts per language after indexing
2025-11-17 16:20:53 +01:00
Dominik Jain
70e64de890
Save migrated cache and delete legacy cache after migration
2025-11-17 16:08:39 +01:00
Dominik Jain
89b6bfce96
Merge pull request #741 from oraios/name-path-description
...
Improve/simplify name path and name path matching pattern descriptions
2025-11-17 16:00:53 +01:00
Dominik Jain
fc7a0938e2
Merge remote-tracking branch 'origin/name-path-overloads' into name-path-description
...
Conflicts:
src/serena/tools/symbol_tools.py
2025-11-17 16:00:18 +01:00
Dominik Jain
4688a48770
Use a single loop over source files to index project
...
Resolves #765
2025-11-17 15:46:54 +01:00
Dominik Jain
261a157db8
Merge pull request #749 from oraios/two-tier-cache
...
Two-tier document symbol cache
2025-11-17 15:39:00 +01:00
Anatolii Prylutskyi and Claude
568ee77e42
Fix: Expose only serena scripts in Nix package, exclude Python interpreter ( #753 )
...
* Fix: Expose only serena scripts in Nix package, exclude Python interpreter
Modified flake.nix to use a wrapper derivation that filters the virtual
environment to expose only serena-specific executables (serena, serena-mcp-server,
index-project) while excluding the Python interpreter and other venv binaries.
The full virtual environment is still accessible via 'nix build .#serena-env'
for development purposes.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
* Remove deprecated commands from Nix package exports
This change removes serena-mcp-server and index-project from the default
Nix package outputs, exposing only the serena command. These commands are
deprecated and will be removed soon, so they should not be part of the
public package interface.
Addresses PR review feedback requesting to expose only the serena command.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
---------
Co-authored-by: Claude <noreply@anthropic.com >
2025-11-15 23:54:58 +07:00
Michael Panchenko
b5fda5674b
Docs: fixed cutoff sentence
2025-11-14 11:50:28 +07:00
Michael Panchenko
91421ce985
Docs: fix link (jupyterbook doesn't use standard markdown references)
2025-11-14 11:46:03 +07:00
Adra
2b4fd66674
feat: Added project create command with --name, --index, and auto-creation ( #755 )
...
Previous command `generate_yml` has been removed
2025-11-13 15:22:37 +01:00
Dominik Jain
058803a601
Remove obsolete parameter include_body
2025-11-13 13:25:52 +01:00
Dominik Jain
c6e43c3cf3
Improve docstring
2025-11-13 11:46:53 +01:00
Michael Panchenko
5c7ad8edf7
Minor [ci skip]
2025-11-13 11:04:05 +01:00
David Bernazal
2d7527bcde
fix: Adding window support for ElixirTools on init ( #752 )
...
* Adding window support for ElixirTools init
* Update type to map
2025-11-13 09:23:15 +01:00
Dominik Jain
0699a87264
request_document_symbols: Avoid splitting document into lines more than once (optimisation)
2025-11-12 12:08:16 +01:00
Dominik Jain
44c1b69dde
Open every file exactly once during request_full_symbol_tree
2025-11-12 12:08:16 +01:00
Dominik Jain
faa0708595
Improve/optimise logging
2025-11-12 03:46:18 +01:00
Dominik Jain
cb26c8c169
Do not augment existing symbol dictionaries from the LS, instead create new ones
...
because the raw cache would otherwise store the exact same objects
2025-11-12 03:46:18 +01:00
Dominik Jain
10c9cc33f0
Remove obsolete list of all symbols
2025-11-12 03:46:18 +01:00
Dominik Jain
c6a5c1aa57
Reinstate access to cache location (used by cli)
2025-11-12 03:46:18 +01:00
Dominik Jain
44d1a404cd
Remove include_body from interface of SolidLS.request_document_symbols
...
(body is always in data structure, callers can decide whether to use it)
2025-11-12 03:46:18 +01:00
Dominik Jain
7450fd73f6
Fix performance issue: Retrieving symbols with include_body=True
...
would re-read the respective file for every single symbol
2025-11-12 03:46:18 +01:00
Dominik Jain
7af490d0a2
Reintroduce (high-level) document symbols cache, now storing instance of DocumentSymbols
2025-11-12 03:46:18 +01:00
Dominik Jain
d8cac3aedb
Introduce abstraction DocumentSymbols, which is now returned by request_document_symbols
2025-11-12 03:46:18 +01:00
Dominik Jain
24ea449abf
Introduce "raw" document symbol cache, removing the high-level cache for the time being
...
(i.e. cache the raw LS result)
Reuse the legacy cache v23-06-25 as the raw symbol cache (the stored root symbols are
just augmented versions of the originally returned LS response)
2025-11-12 03:46:18 +01:00
Dominik Jain
83f4da5ff0
Add profiling script, add pyinstrument to dev dependencies
2025-11-12 03:46:18 +01:00
Dominik Jain
c0fc9d3756
Merge pull request #743 from oraios/intelephense-ignore-vendor-setting
...
Intelephense: Add configurable setting `ignore_vendor`
2025-11-11 21:33:56 +01:00