All notable changes to this project will be documented in this file. Format for entires is - release date.
- Core loop
- More explicit
(os/exit 0)
instead of implicit process exit
- More explicit
- Logging
- Overhaul logging module and include significantly more logging statements throughout
- Completion
- Simplify
binding-type
lookup
- Simplify
- Bug Fixes
- Attempting to index on null ds in
on-document-definition
- Catch error when attempting to write to
janetlsp.log.txt
fails - Diagnostics/Completion: Maintain separate eval-envs for each document uri instead of overwriting shared eval results
- Attempting to index on null ds in
- Testing
- Fix tests throughout
- Progress on Integration testing
- Misc
- Formatting tweaks
- Capture current commit in version outputs
- Catch and handle errors from
handle-message
instead of crashing
- Core Functionality
- Logging
- Now fail gracefully when unable to write to
janetlsp.log.txt
by @CFiggers in #25
- Now fail gracefully when unable to write to
- Jump to Definition
- Preliminary work (not completed yet) by @CFiggers in #25
- Diagnostics
- Tests
- Additional tests and reorganization by @CFiggers in #23
- Project
- We now install
janet-lsp
as a binscript instead of building an executable at all by @CFiggers in #19
- We now install
- Formatting
- Tweak to vendored copy of
spork/fmt
by @CFiggers in #19
- Tweak to vendored copy of
- Diagnostics
- Completion and Hover Definitions
- Bugs with jpm definitions resolved by @CFiggers in #19
- Signature helps
- Fix bugs in
sexp-at
(off-by-one and crash on unparenthesized top-level forms) by @CFiggers in #19
- Fix bugs in
- RPC
- Can now send properly formatted LSP notifications (in addition to responses, needed for publishing diagnostics)by @CFiggers in #19
- Testing
- Migrated Judge tests from main.janet into a separate fileby @CFiggers in #19
- CLI
--debug
flag now works correctlyby @CFiggers in #19
- Misc
- Source code formatting and comment cleanup by @CFiggers in #17
- Completion
- Add basic CompletionItemKind by @fnurk in #9
- Formatting
- New feature: Document formatting by @CFiggers in #13
- Signature Helps
- New Feature: Signature Helps by @CFiggers in #14
- Debug Console
- New Feature: Debug Console by @CFiggers in #15
- Diagnostics
- Improvement: Multiple Diagnostic Errors by @CFiggers in #16
- Cross-cutting
- Separate environment for flychecking user code (better separation between running server env and diagnostic eval env)
- Replace
spork/argparse
withianthehenry/cmd
for command line argument parsing - Bug fixes
- Hover
- Improved hover documentation (more detailed info, syntax highlighting for function signatures)
- Completion
- Added
project.janet
symbols for jpm (declare-project
,declare-native
,declare-executable
, etc.)
- Added
- General
- Improved module loading logic for eval/completion environment
- Replaced
spork/json
dependency withCFiggers/jayson
for .jimage compatibility - Handle
shutdown
andexit
lifecycle requests properly
- Hard forked this project from JohnDoneth/janet-language-server.