Commit graph

50 commits

Author SHA1 Message Date
f3fb8e7045 Improve documentation and consolidate path/URL utilities
- Added comprehensive module-level documentation to all djls-workspace modules
- Consolidated scattered URL/path conversion utilities into paths module
- Added documentation explaining the 'why' for key types and abstractions
- Added #[must_use] annotations to constructors and getters
- Focused on explaining architecture and design decisions rather than obvious behavior
2025-08-29 15:35:12 -05:00
2dd779bcda Fix overlay bug: Salsa wasn't re-reading from buffers when files were opened
The core issue was that when a file was opened in the LSP, if it had already
been read from disk, Salsa would return cached content instead of reading
from the overlay system. This happened because opening a file didn't bump
its revision, so Salsa had no reason to invalidate its cache.

Key changes:
- Created Buffers abstraction to encapsulate shared buffer storage
- Fixed Session::open_document() to bump revision when file already exists
- Added comprehensive integration tests to verify overlay behavior
- Refactored WorkspaceFileSystem to use Buffers instead of raw DashMap

This ensures that overlays always take precedence over disk content, fixing
the issue where LSP edits weren't being reflected in template parsing.
2025-08-29 07:55:37 -05:00
96e0b81417 wowza 2025-08-28 22:54:41 -05:00
4e3446f6ee wip 2025-08-27 15:37:29 -05:00
269d4bceae lsp types 2025-08-25 13:19:52 -05:00
3131470cce wip 2025-08-25 12:22:54 -05:00
541200cbb1 wip 2025-08-25 10:52:37 -05:00
fb768a86d5 wip 2025-08-25 10:14:43 -05:00
b6bc1664ac wip 2025-08-25 05:54:56 -05:00
588b38c8c6 wip 2025-08-25 04:31:21 -05:00
48dacb277c wip 2025-08-25 04:25:35 -05:00
74b6b5b56d wip 2025-08-25 03:47:56 -05:00
75385e0254 workspace 2025-08-24 19:43:51 -05:00
2086f80cc0
reorganize server crate by moving workspace related code to submodule (#182)
Some checks failed
test / generate-matrix (push) Has been cancelled
zizmor 🌈 / zizmor latest via PyPI (push) Has been cancelled
lint / pre-commit (push) Has been cancelled
lint / rustfmt (push) Has been cancelled
lint / clippy (push) Has been cancelled
lint / cargo-check (push) Has been cancelled
release / build (push) Has been cancelled
release / test (push) Has been cancelled
test / Python , Django () (push) Has been cancelled
test / tests (push) Has been cancelled
release / release (push) Has been cancelled
2025-08-17 22:50:46 -05:00
d0c745ff2a
Finish basic logging setup with tracing (#181)
Some checks are pending
lint / pre-commit (push) Waiting to run
lint / rustfmt (push) Waiting to run
lint / clippy (push) Waiting to run
lint / cargo-check (push) Waiting to run
release / release (push) Blocked by required conditions
release / build (push) Waiting to run
release / test (push) Waiting to run
test / generate-matrix (push) Waiting to run
test / Python , Django () (push) Blocked by required conditions
test / tests (push) Blocked by required conditions
zizmor 🌈 / zizmor latest via PyPI (push) Waiting to run
2025-08-17 19:38:31 -05:00
352c50d1b4
Add unified file and LSP logging using tracing to server (#178) 2025-08-17 18:28:50 -05:00
1ceb972f0e
Add logging macros for tracing migration (#176) 2025-08-17 16:55:58 -05:00
8ce8b24fed
bump salsa crate from git hash to 0.23.0 (#165) 2025-07-24 19:57:33 -05:00
68ea842821
print warning when trying to run serve command in TTY (#155)
Some checks failed
lint / pre-commit (push) Has been cancelled
lint / rustfmt (push) Has been cancelled
lint / clippy (push) Has been cancelled
lint / cargo-check (push) Has been cancelled
release / build (push) Has been cancelled
release / test (push) Has been cancelled
test / generate-matrix (push) Has been cancelled
zizmor 🌈 / zizmor latest via PyPI (push) Has been cancelled
release / release (push) Has been cancelled
test / Python , Django () (push) Has been cancelled
test / tests (push) Has been cancelled
2025-05-19 12:03:20 -05:00
b71dfe5eb7
change server session to be an option and create on init (#154) 2025-05-19 11:22:33 -05:00
11ef05dddf update all internal crate versions to 0.0.0
Some checks failed
release / build (push) Has been cancelled
release / test (push) Has been cancelled
lint / pre-commit (push) Has been cancelled
lint / rustfmt (push) Has been cancelled
lint / clippy (push) Has been cancelled
lint / cargo-check (push) Has been cancelled
test / generate-matrix (push) Has been cancelled
zizmor 🌈 / zizmor latest via PyPI (push) Has been cancelled
release / release (push) Has been cancelled
test / Python , Django () (push) Has been cancelled
test / tests (push) Has been cancelled
2025-05-18 15:54:33 -05:00
de5e65c10d refactor some small session fields
Some checks are pending
lint / cargo-check (push) Waiting to run
lint / clippy (push) Waiting to run
lint / pre-commit (push) Waiting to run
lint / rustfmt (push) Waiting to run
release / build (push) Waiting to run
release / test (push) Waiting to run
release / release (push) Blocked by required conditions
test / generate-matrix (push) Waiting to run
test / Python , Django () (push) Blocked by required conditions
test / tests (push) Blocked by required conditions
zizmor 🌈 / zizmor latest via PyPI (push) Waiting to run
2025-05-17 23:24:14 -05:00
9e13422245
Move client handling from server to global static (#153) 2025-05-17 19:24:55 -05:00
7db9e11802
move all dependencies to workspace Cargo.toml (#150) 2025-05-15 21:21:30 -05:00
def9fba2b6
migrate all async tokio to server & swap to single-thread runtime (#149) 2025-05-15 21:03:14 -05:00
c29b268326
Integrate Salsa into document tracking for server (#148)
Some checks are pending
lint / rustfmt (push) Waiting to run
lint / clippy (push) Waiting to run
lint / cargo-check (push) Waiting to run
lint / pre-commit (push) Waiting to run
release / build (push) Waiting to run
release / test (push) Waiting to run
release / release (push) Blocked by required conditions
test / generate-matrix (push) Waiting to run
test / Python , Django () (push) Blocked by required conditions
test / tests (push) Blocked by required conditions
zizmor 🌈 / zizmor latest via PyPI (push) Waiting to run
2025-05-15 01:35:49 -05:00
d677aacf7c
add pedantic clippy setting and fix/allow warnings (#147)
Some checks are pending
lint / pre-commit (push) Waiting to run
lint / rustfmt (push) Waiting to run
lint / clippy (push) Waiting to run
lint / cargo-check (push) Waiting to run
release / build (push) Waiting to run
release / test (push) Waiting to run
release / release (push) Blocked by required conditions
test / generate-matrix (push) Waiting to run
test / Python , Django () (push) Blocked by required conditions
test / tests (push) Blocked by required conditions
zizmor 🌈 / zizmor latest via PyPI (push) Waiting to run
2025-05-14 18:21:43 -05:00
e87c917cb6
use nightly rustfmt and sort imports (#145)
Some checks are pending
lint / pre-commit (push) Waiting to run
release / build (push) Waiting to run
release / test (push) Waiting to run
release / release (push) Blocked by required conditions
test / generate-matrix (push) Waiting to run
test / Python , Django () (push) Blocked by required conditions
test / tests (push) Blocked by required conditions
zizmor 🌈 / zizmor latest via PyPI (push) Waiting to run
2025-05-14 00:46:55 -05:00
00140c58ca
move all state to single field on server struct (#144)
Some checks are pending
test / tests (push) Blocked by required conditions
lint / pre-commit (push) Waiting to run
release / test (push) Waiting to run
release / release (push) Blocked by required conditions
release / build (push) Waiting to run
test / generate-matrix (push) Waiting to run
test / Python , Django () (push) Blocked by required conditions
zizmor 🌈 / zizmor latest via PyPI (push) Waiting to run
2025-05-13 23:25:27 -05:00
26cd151ef5
move LSP serve method to main cli crate and fix shutdown handling (#143) 2025-05-13 15:52:47 -05:00
ccf33290b3
introduce salsa and integrate into djls-project crate (#139)
Some checks failed
lint / pre-commit (push) Waiting to run
zizmor 🌈 / zizmor latest via PyPI (push) Waiting to run
release / build (push) Failing after 15s
release / test (push) Has been skipped
release / release (push) Has been cancelled
2025-05-09 23:16:39 -05:00
5997d9b87a
simplify task queue API to directly accept futures (#137) 2025-05-07 17:20:37 -05:00
2dacbb0056 fix path_str on windows 2025-04-30 15:09:28 -05:00
7ef503d866
fix release build failures due to libpython linking (#125) 2025-04-30 15:02:00 -05:00
7eb9580750
Create djls-dev crate and centralize Python linking build scripts (#119) 2025-04-30 12:59:04 -05:00
c09d6541ba
improve Python environment activation (#118) 2025-04-30 12:34:20 -05:00
3b7ffe0b70
Add configurable venv path and improve Python detection (#116)
Some checks failed
lint / pre-commit (push) Waiting to run
release / linux (map[runner:ubuntu-22.04 target:aarch64]) (push) Failing after 5s
release / linux (map[runner:ubuntu-22.04 target:armv7]) (push) Failing after 3s
release / linux (map[runner:ubuntu-22.04 target:ppc64le]) (push) Failing after 3s
release / linux (map[runner:ubuntu-22.04 target:s390x]) (push) Failing after 3s
release / test (push) Has been skipped
release / linux (map[runner:ubuntu-22.04 target:x86]) (push) Failing after 3s
release / linux (map[runner:ubuntu-22.04 target:x86_64]) (push) Failing after 3s
release / musllinux (map[runner:ubuntu-22.04 target:aarch64]) (push) Failing after 3s
release / musllinux (map[runner:ubuntu-22.04 target:armv7]) (push) Failing after 3s
release / musllinux (map[runner:ubuntu-22.04 target:x86]) (push) Failing after 3s
release / musllinux (map[runner:ubuntu-22.04 target:x86_64]) (push) Failing after 4s
release / sdist (push) Has been cancelled
release / windows (map[runner:windows-latest target:x64]) (push) Has been cancelled
release / windows (map[runner:windows-latest target:x86]) (push) Has been cancelled
release / macos (map[runner:macos-13 target:x86_64]) (push) Has been cancelled
release / macos (map[runner:macos-14 target:aarch64]) (push) Has been cancelled
release / release (push) Has been cancelled
2025-04-29 23:01:00 -05:00
3008389f2b
Add djls-conf crate and add initial settings (#113) 2025-04-29 17:43:38 -05:00
980983e4f3
refactor queue to use closures and move project init to queue (#107) 2025-04-21 23:04:24 -05:00
c2e27d43c3
rename, relocate, and simplify the task queue (#106) 2025-04-21 21:59:00 -05:00
e098272ea6
swap in tower-lsp-server dependency (#100) 2025-04-21 13:52:28 -05:00
7654334052
rename templates crate to djls-templates (#89) 2025-04-20 22:34:54 -05:00
59e2665c6f
add html-django language id (#67)
Some checks failed
release / linux (map[runner:ubuntu-22.04 target:aarch64]) (push) Failing after 3s
release / linux (map[runner:ubuntu-22.04 target:armv7]) (push) Failing after 2s
release / linux (map[runner:ubuntu-22.04 target:ppc64le]) (push) Failing after 2s
release / linux (map[runner:ubuntu-22.04 target:s390x]) (push) Failing after 3s
release / linux (map[runner:ubuntu-22.04 target:x86]) (push) Failing after 3s
release / linux (map[runner:ubuntu-22.04 target:x86_64]) (push) Failing after 2s
release / musllinux (map[runner:ubuntu-22.04 target:aarch64]) (push) Failing after 2s
release / musllinux (map[runner:ubuntu-22.04 target:armv7]) (push) Failing after 3s
release / musllinux (map[runner:ubuntu-22.04 target:x86]) (push) Failing after 2s
release / musllinux (map[runner:ubuntu-22.04 target:x86_64]) (push) Failing after 2s
release / macos (map[runner:macos-13 target:x86_64]) (push) Has been cancelled
release / macos (map[runner:macos-14 target:aarch64]) (push) Has been cancelled
release / sdist (push) Has been cancelled
test / test (macos-latest) (push) Has been cancelled
test / test (ubuntu-latest) (push) Has been cancelled
test / test (windows-latest) (push) Has been cancelled
release / windows (map[runner:windows-latest target:x64]) (push) Has been cancelled
release / windows (map[runner:windows-latest target:x86]) (push) Has been cancelled
release / release (push) Has been cancelled
2025-01-03 14:16:24 -06:00
f848798699
remove extra server layer in front of tower-lsp's server (#49) 2024-12-24 13:40:47 -06:00
c16635b1c0
add initial autocomplete for installed templatetags (#46) 2024-12-23 19:36:54 -06:00
a73e912e0f
swap from IPC architecture to PyO3 library (#45) 2024-12-23 10:12:10 -06:00
0c9dc72daf rename ast crate 2024-12-16 10:33:14 -06:00
d1cc9f7ca0 specify dependencies to minor version
Some checks are pending
test / test (macos-latest) (push) Waiting to run
test / test (ubuntu-latest) (push) Waiting to run
test / test (windows-latest) (push) Waiting to run
2024-12-13 07:18:08 -06:00
235bb4419d
switch from runner to ipc and long-running sidecar process (#21) 2024-12-11 16:16:40 -06:00
4c10afb602
create djls-cli and migrate serving LSP to it (#20) 2024-12-11 10:23:35 -06:00