Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
210 commits
Select commit Hold shift + click to select a range
7f303b0
feat(lsp): add initial jrsonnet language server and analysis stack
iainlane Feb 9, 2026
24842c1
feat(lsp): handle didSave notifications
iainlane Feb 9, 2026
cc23c0d
feat(lsp): implement findReferences execute command
iainlane Feb 9, 2026
dd4c6a9
feat(lsp): add semantic tokens range support
iainlane Feb 9, 2026
91de759
feat(lsp): add codeLens/resolve support
iainlane Feb 9, 2026
71f2ad8
feat(lsp): add declaration request support
iainlane Feb 9, 2026
a9524c2
fix(lsp-inference): prevent local Ty leakage across analysis boundaries
iainlane Feb 9, 2026
a1f4f14
feat(lsp): add implementation request support
iainlane Feb 9, 2026
6f2a8b8
refactor(lsp): harden runtime paths and remove panic-prone code
iainlane Feb 9, 2026
1990d78
refactor(lsp): split declaration navigation path from definition
iainlane Feb 9, 2026
521ec01
feat(lsp): separate declaration from canonical definition resolution
iainlane Feb 9, 2026
622f669
docs(lsp): make navigation semantics user-oriented
iainlane Feb 9, 2026
a96085b
fix(lsp): resolve cross-file references from local uses
iainlane Feb 9, 2026
249c8ea
fix(lsp-inference): resolve dynamic return specs in polymorphic calls
iainlane Feb 9, 2026
4f1c3fa
fix(lsp-inference): trace object method fields in const-eval
iainlane Feb 9, 2026
9d2de0f
fix(lsp-check): validate std.format text-block literals
iainlane Feb 9, 2026
ae73cf8
style(lsp-check): apply rustfmt wrapping in string literal parsing
iainlane Feb 9, 2026
89262da
test(lsp): implement annotated error assertions
iainlane Feb 9, 2026
634d7be
feat(lsp-hover): infer definition-site types from bound values
iainlane Feb 9, 2026
bd1ed58
test(flow): assert structural non-empty narrowing for std.length facts
iainlane Feb 9, 2026
ded1a11
feat(lsp): add textDocument/typeDefinition support
iainlane Feb 9, 2026
dd5309c
test(lsp): broaden typeDefinition navigation coverage
iainlane Feb 9, 2026
dfeb7e5
test(lsp): add navigation matrix coverage
iainlane Feb 9, 2026
b04cfcd
feat(flow): narrow literal strings with min-length facts
iainlane Feb 9, 2026
e8bf1aa
test(lsp): add exact annotated hover/type assertions
iainlane Feb 9, 2026
2b996eb
test(lsp): remove redundant URI clones in navigation tests
iainlane Feb 9, 2026
c59cea0
refactor(lsp): unify import resolution for graph and navigation
iainlane Feb 9, 2026
f30fdb3
fix(lsp): preserve import graph semantics on didClose
iainlane Feb 9, 2026
e33d1d2
refactor(lsp): drive cross-file resolution from import graph
iainlane Feb 9, 2026
5d5acfb
refactor(lsp): resolve goto import targets from import graph
iainlane Feb 9, 2026
135c016
fix(lsp): reindex tracked import graph files on config changes
iainlane Feb 9, 2026
55ea677
refactor(lsp-handlers): remove root-scan fallback for visible bindings
iainlane Feb 10, 2026
f92d19e
fix(lsp): return transitive importers in stable order
iainlane Feb 10, 2026
9609e9d
fix(lsp): align eval commands with shared import-root logic
iainlane Feb 10, 2026
b4d2c37
fix(lsp): advertise and implement jrsonnet.showErrors
iainlane Feb 10, 2026
67b1739
feat(lsp): bootstrap workspace import graph at startup
iainlane Feb 10, 2026
7f81356
feat(lsp): search tracked files for workspace symbols
iainlane Feb 10, 2026
3099eab
refactor(lsp-handlers): remove deprecated allow from symbols
iainlane Feb 10, 2026
1160012
perf(lsp): run startup workspace indexing asynchronously
iainlane Feb 10, 2026
ab0edd6
feat(lsp): rank and cap workspace symbols
iainlane Feb 10, 2026
da6e934
fix(lsp): return InvalidParams for unknown execute commands
iainlane Feb 10, 2026
8613558
lsp: add InflightRequests boundary for request lifecycle
iainlane Feb 10, 2026
ff0829c
lsp: route codeLens/resolve through typed inflight request
iainlane Feb 10, 2026
babef6f
lsp: route all requests through typed inflight lifecycle
iainlane Feb 10, 2026
b3456d6
lsp: support request cancellation through inflight lifecycle
iainlane Feb 10, 2026
264d075
lsp: dynamically register watched-file notifications
iainlane Feb 10, 2026
3f3366d
lsp: use relative watched-file patterns when supported
iainlane Feb 10, 2026
6b0aaee
lsp: track outgoing request methods for response logging
iainlane Feb 10, 2026
6cb6be9
lsp-inference: record types in a single inference pass
iainlane Feb 10, 2026
8d49e84
stdlib/evaluator: resolve clippy warnings
iainlane Feb 10, 2026
0ca14fd
lsp-inference/types: narrow function-length flow and comprehensions
iainlane Feb 10, 2026
eee7c4a
lsp-types: refine function_any arity via std.length flow
iainlane Feb 10, 2026
b415103
lsp-tests: expand flow typing coverage
iainlane Feb 10, 2026
950dcde
lsp-tests: table-drive flow typing e2e cases with rstest macro
iainlane Feb 10, 2026
7765a16
lsp-flow: resolve std aliases and refine nested fact extraction
iainlane Feb 10, 2026
e65ff0c
lsp: route stdlib detection through semantic builtin-std resolution
iainlane Feb 10, 2026
5767173
lsp-types: delegate narrow/widen/length transforms to operations
iainlane Feb 10, 2026
18cb18d
lsp-handlers: split completion implementation out of mod.rs
iainlane Feb 10, 2026
f6bcfbe
lsp: surface unresolved imports as first-class diagnostics
iainlane Feb 10, 2026
4e38b4a
lsp-handlers: improve field completion edits and signature spans
iainlane Feb 10, 2026
0ead8be
lsp: centralize token semantics in rowan parser
iainlane Feb 10, 2026
110a21e
lsp: support multi-purpose token docs in hover
iainlane Feb 10, 2026
51a0ed6
lsp: enforce token doc outcomes and semantics table invariants
iainlane Feb 10, 2026
38305bd
lsp: validate docs/lsp jsonnet snippets in tests
iainlane Feb 10, 2026
77f5085
lsp: unify import resolution behind shared boundary API
iainlane Feb 11, 2026
8afbff2
rowan-parser: remove unused Parse::syntax API
iainlane Feb 11, 2026
94542fc
lsp-import: make ImportResolution the public resolve boundary
iainlane Feb 11, 2026
a2f2fbb
feat: expand stdlib signatures
iainlane Feb 11, 2026
1a31e45
Recover imports from syntax-broken documents
iainlane Feb 11, 2026
6cefcae
Limit TypeProvider pre-analysis to dependency closure
iainlane Feb 11, 2026
e84be80
Add structural remove-unused binding quickfix
iainlane Feb 11, 2026
25240d4
lsp-handlers: introduce typed remove-unused action policy
iainlane Feb 11, 2026
b21b5ef
lsp-handlers: plan remove-unused edits for local/object bindings
iainlane Feb 11, 2026
8e7ee88
lsp: add source.fixAll remove-unused code action
iainlane Feb 11, 2026
b0acb3e
lsp: wire remove-unused action policy through config
iainlane Feb 11, 2026
02028e3
lsp-code-action: add import/comment remove-unused policy modes
iainlane Feb 11, 2026
2e37686
lsp-tests: add typed timeline scenario model and parser
iainlane Feb 11, 2026
e281ed0
lsp-tests: add scenario runner and async timeline coverage
iainlane Feb 11, 2026
9783b3c
lsp-formatting: add workspace contract engine and typed context
iainlane Feb 11, 2026
7fdf449
lsp-formatting: surface formatter failures with typed errors
iainlane Feb 11, 2026
e7d4121
feat(lsp-import): classify imports by kind and filter traversal
iainlane Feb 12, 2026
7e94693
feat(lsp-inference): deepen import and flow type narrowing
iainlane Feb 12, 2026
e47f987
fix(lsp): refresh watched-file lifecycle and cross-file fallbacks
iainlane Feb 12, 2026
35bba77
fix(lsp-completion): improve field completion after bracket lookups
iainlane Feb 12, 2026
15ed5da
feat(lsp-semantic-tokens): formalize legend contract and docs sync
iainlane Feb 12, 2026
f25dd5b
test(lsp): migrate e2e harness to scenario crate and YAML fixtures
iainlane Feb 12, 2026
a65c3e5
chore(cleanups): parser recovery and minor non-functional tidy-ups
iainlane Feb 12, 2026
bfa6f00
feat(lsp): improve hover type precision for imported methods
iainlane Feb 12, 2026
8c230c5
refactor(lsp): split server and integration test hotspots
iainlane Feb 12, 2026
9de2fed
chore(lint): ratchet lsp clippy checks in xtask
iainlane Feb 12, 2026
43fd378
Improve hover type detail and import root resolution
iainlane Feb 12, 2026
c8fffc7
chore(lint): move lsp clippy ratchet to workspace lints
iainlane Feb 12, 2026
1d34637
Speed up LSP request pipeline and reuse analysis artifacts
iainlane Feb 12, 2026
9999cdd
Avoid unnecessary cross-file import hover resolution
iainlane Feb 12, 2026
ab90df6
refactor(lsp-scenario): replace script string errors with typed errors
iainlane Feb 13, 2026
db598ee
Add semantic artifact cache and eager request-path lookups
iainlane Feb 13, 2026
9937850
chore(lint): remove option_if_let_else workspace allow
iainlane Feb 13, 2026
9021dcb
refactor(lsp-document): use typed URI/path conversion
iainlane Feb 13, 2026
53b91eb
refactor(lsp-import): intern graph file paths with FileId
iainlane Feb 13, 2026
9920380
refactor(lsp-inference): key document state by FileId
iainlane Feb 13, 2026
2aa5be8
refactor(lsp): intern remaining path-keyed state maps
iainlane Feb 13, 2026
e8ec2f5
refactor(lsp): enforce shared FileId path identity
iainlane Feb 13, 2026
781405c
refactor(lsp): remove path access shims from interner APIs
iainlane Feb 13, 2026
0311f93
refactor(lsp): borrow interned paths and remove display shims
iainlane Feb 13, 2026
9d7e6e2
refactor(lsp): split server requests and large scope/scenario modules
iainlane Feb 13, 2026
9315286
refactor(lsp): route formatting and tokens through async handlers
iainlane Feb 13, 2026
7d25056
refactor(lsp): share semantic token enums across types/handlers/scenario
iainlane Feb 16, 2026
30b2f7d
chore(deps): regenerate Cargo.lock
iainlane Feb 16, 2026
e390362
chore(fmt): apply formatting cleanups
iainlane Feb 16, 2026
a23cdc5
refactor(lsp-types): split operations into submodules
iainlane Feb 16, 2026
03a9d30
refactor(lsp-types): split store methods by feature
iainlane Feb 16, 2026
9289198
refactor(lsp-types): split substitution module by concern
iainlane Feb 16, 2026
94695a1
refactor(lsp-types): split mut store methods by concern
iainlane Feb 16, 2026
8365213
refactor(lsp-types): split unification module by role
iainlane Feb 16, 2026
d557ca4
docs(lsp): document why remaining handlers stay sync
iainlane Feb 16, 2026
343a8b2
refactor(lsp): split async import lookup by concern
iainlane Feb 16, 2026
48793d0
refactor(lsp): split async command handlers by feature
iainlane Feb 16, 2026
a758120
refactor(lsp-types): split logic ops by concern
iainlane Feb 16, 2026
1c9aed6
refactor(lsp): extract server workspace indexing module
iainlane Feb 16, 2026
ba19c47
refactor(lsp): extract server initialization module
iainlane Feb 16, 2026
188de2b
refactor(lsp): extract server event loop module
iainlane Feb 16, 2026
17cbf6f
refactor(lsp-check): split `type_check` into focused modules
iainlane Feb 16, 2026
21b83c5
refactor(lsp-check): split lint passes into modules
iainlane Feb 16, 2026
d21a822
refactor(lsp-handlers): split remove_unused internals
iainlane Feb 16, 2026
dad20cc
refactor(lsp-inference): split expr inference module
iainlane Feb 16, 2026
191f652
refactor(lsp-inference): split flow module by concern
iainlane Feb 16, 2026
245f76a
refactor(lsp-handlers): split rename into focused modules
iainlane Feb 16, 2026
6811a31
refactor(lsp-handlers): split code lens internals
iainlane Feb 16, 2026
d23e2d2
refactor(lsp-handlers): split hover internals
iainlane Feb 16, 2026
0bd5f3f
refactor(lsp-handlers): split formatting internals
iainlane Feb 16, 2026
9b79660
refactor(lsp-handlers): split references internals
iainlane Feb 16, 2026
df49011
refactor(lsp): move request handlers from sync to async path
iainlane Feb 16, 2026
c70d20c
refactor(lsp-handlers): split symbols into focused modules
iainlane Feb 16, 2026
2933584
refactor(lsp-handlers): split signature help internals
iainlane Feb 16, 2026
a7e9e98
refactor(lsp-handlers): split completion field resolution
iainlane Feb 16, 2026
0c0c9e4
refactor(lsp-handlers): split completion dispatch by feature
iainlane Feb 16, 2026
ab37d86
fix(inference): infer object-local bindings in object bodies
iainlane Feb 16, 2026
552439a
feat(lsp): add configurable inlay hint categories
iainlane Feb 16, 2026
b7541b5
fix(hover): infer key and object-local bind token types
iainlane Feb 16, 2026
afe2425
fix(hover): return enclosing type for brace-token hover
iainlane Feb 16, 2026
c31e495
feat(inlay): add enum-based hint category configuration
iainlane Feb 17, 2026
26727b7
fix(hover): map bind syntax hover to bound value type
iainlane Feb 17, 2026
d6d2a12
fix(hover): improve function-sugar token type resolution
iainlane Feb 17, 2026
1ce2db7
fix(hover): trim trailing blank lines from multiline local hovers
iainlane Feb 18, 2026
23bd087
refactor(hover): centralize hover policy and section model
iainlane Feb 18, 2026
a555755
refactor(paths): remove guard-backed interned path API
iainlane Feb 18, 2026
8fa081c
refactor(import-graph): record resolved FileId on entries
iainlane Feb 18, 2026
5610f67
refactor(import-graph): resolve entry FileIds before writes
iainlane Feb 18, 2026
e621870
refactor(inference): use FileId for dependency analysis
iainlane Feb 18, 2026
dd8d185
refactor(inference): narrow DocumentSource to FileId
iainlane Feb 18, 2026
3e04056
refactor(async): load documents by FileId in handlers
iainlane Feb 18, 2026
2115fd4
refactor(import-graph): use FileId doc lookup on refresh
iainlane Feb 18, 2026
44291d5
refactor(imports): enforce resolved FileId graph invariant
iainlane Feb 18, 2026
f7c3ece
refactor(import-graph): resolve entry FileIds defensively
iainlane Feb 18, 2026
aff86bf
refactor(locking): shorten import graph read-lock scope
iainlane Feb 18, 2026
774a725
perf(import-graph): optimize topological traversal and queue
iainlane Feb 18, 2026
b5c686b
perf(workspace-symbol): rank top results without full sort
iainlane Feb 18, 2026
ff50734
Include jrsonnet-lsp in workspace default members
iainlane Feb 18, 2026
bf288ea
perf(diagnostics): coalesce debounced worker requests
iainlane Feb 18, 2026
3909dd2
perf(import-graph): avoid interner write lock on known paths
iainlane Feb 18, 2026
089ac16
perf(server): drop redundant import-graph pre-resolve pass
iainlane Feb 18, 2026
b60a0bb
perf(import-graph): cache resolved imports per file
iainlane Feb 18, 2026
7174f60
test(scenario): remove hover primary-type expect shortcut
iainlane Feb 18, 2026
7acf97b
test(scenario): require full completion expectations
iainlane Feb 18, 2026
6174ddf
test(scenario): require explicit request aliases in expects
iainlane Feb 18, 2026
4047ed1
feat(config): add tri-state tanka path resolution mode
iainlane Feb 19, 2026
db2ee60
docs(lsp): add user-facing README with neovim setup
iainlane Feb 19, 2026
08fafd9
feat(scenario): add custom request and code-lens execute steps
iainlane Feb 25, 2026
ca297b6
feat(lsp): add custom operation registry and migrate evalFile
iainlane Feb 25, 2026
b640a2e
fix(eval): always include parent dir in eval import roots
iainlane Feb 25, 2026
9954296
test(lsp): cover custom eval request and code-lens execute flow
iainlane Feb 25, 2026
b553029
docs(lsp): document the `jrsonnet/evalFile` custom request
iainlane Feb 25, 2026
18920aa
feat(lsp): add custom evalExpression and transitive importer requests
iainlane Feb 25, 2026
f721373
refactor(lsp): remove legacy executeCommand-only operations
iainlane Feb 25, 2026
d58c161
docs(lsp): describe custom requests and eval code-lens bridge
iainlane Feb 25, 2026
19d19b8
feat(formatting): migrate LSP formatting to in-process engine
iainlane Feb 25, 2026
11df569
feat(lsp): add function parameter inlay hints
iainlane Feb 25, 2026
5c417c2
feat(lsp): add anonymous function return inlay hints
iainlane Feb 25, 2026
d9f04a1
feat(lsp): add call-argument inlay parameter name hints
iainlane Feb 25, 2026
1f8d8df
feat(lsp): add comprehension binding inlay hints
iainlane Feb 25, 2026
840f245
feat(lsp): add destructuring inlay hints
iainlane Feb 25, 2026
6acf822
fix(inference): infer dynamic object key expressions
iainlane Feb 25, 2026
f50d78a
refactor(inference): split expr core from module exports
iainlane Feb 25, 2026
4301931
feat(lsp): add destructuring hints for comprehension bindings
iainlane Feb 25, 2026
3a4184d
test(lsp): expand inlay hint runner scenario coverage
iainlane Feb 25, 2026
25bd3c8
feat(lsp): support formatting request option combinations
iainlane Feb 27, 2026
f2fc804
docs(lsp): remove request formatting-option behavior notes
iainlane Feb 27, 2026
e6683d9
feat(lsp): add textDocument/rangeFormatting support
iainlane Feb 27, 2026
88906cf
lsp: add inlay hint refresh support and scenario auto-handling
iainlane Feb 27, 2026
525105d
refactor(lsp): eliminate panic-prone test patterns and indexing
iainlane Feb 27, 2026
6ccb521
refactor(lsp): unify request errors with typed wire mapping
iainlane Feb 27, 2026
c8a816d
style: apply nix fmt leftovers
iainlane Feb 27, 2026
7583ae4
refactor(lsp): replace stringly errors with typed variants
iainlane Feb 27, 2026
4fc212b
perf(lsp-import): use FxHash graph maps and add import graph benches
iainlane Feb 27, 2026
277d66d
style(lsp-import): simplify bench dependency iteration
iainlane Feb 27, 2026
9f7a8af
fix(rtk): preserve formatting behavior with state-scoped evaluator flags
iainlane Feb 27, 2026
b038bba
perf(lsp-inference): share resolved import maps via Arc
iainlane Feb 27, 2026
9a97bf1
perf(lsp-import): streamline import parsing passes
iainlane Feb 27, 2026
6dc03f5
refactor(lsp): make workspace import graph demand-driven
iainlane Feb 27, 2026
67c6156
perf(lsp-import): add approximate parse mode tracking
iainlane Feb 27, 2026
f912481
fix(evaluator): reintroduce lazy-safe import cycle detection
iainlane Feb 27, 2026
9d66004
jrsonnet-lsp: type-driven diagnostic dedupe and eval spans
iainlane Feb 27, 2026
852c259
refactor(jrsonnet-lsp-tests): remove path attrs via module layout cle…
iainlane Feb 27, 2026
dbac010
fix(lsp): support imported-member refs and rename from use sites
iainlane Feb 27, 2026
19e2f3c
fix(lsp): return precise ranges for import definitions
iainlane Feb 27, 2026
d130027
fix(lsp): suppress noisy hover on structural braces
iainlane Feb 27, 2026
aac2e55
fix(lsp-check): report unknown named arguments in calls
iainlane Feb 27, 2026
d102c84
fix(lsp): align nested import-member refs and rename
iainlane Feb 27, 2026
0710c79
refactor(lsp): tighten import-graph lock lifetime in refs
iainlane Feb 27, 2026
3a61ab7
Fix LSP eval and hover test expectations
iainlane Feb 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 6 additions & 0 deletions .markdownlint.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"MD013": {
"code_blocks": false,
"tables": false
}
}
Loading
Loading