0.0.1
Changelog
66a6d0e Run publish after build
0d660a6 Added gh-action workflows and build tasks
9924544 Fixed textDocument/hover response range coordinates
19cbd82 Update inoURI after (the optional) inoToCpp conversion
2fdf332 Increased logging in textDocument/completion response message
93659a0 Add usage instructions to README.
5e04001 Add flag to set cli config file
4083356 Update default formatter configuration
08de1bd Added -format-conf-path flag
59f0539 Use custom .clang-format file in sketch if present
2b471cf Force a different clang-formatter configuration on autoformat
63e2721 Do not consider preprocessed section as part of the sketch.
b1f73af Add security policy link to readme
39849ad update links and imports
62e5552 Improved logging of LSP messages
5c2c156 Fixed progress bar race condition
8221a5b Ensure buildPath is initialized before accepting requests
5a8b048 Fixed improper canonicalization on Windows
397053c Better cleanup...
72884b6 Use a custom temp folder to make all LS business...
8c3243d Correct locking for condition variable
32fcf17 Slightly verbose logging
3b9d676 Use canonical path in sketchRoot
92b0697 Correctly interpret empty DocumentSymbol arrays
8eb20fe Slightly refactored tests
fcfc8a7 Whitelist all .arduino15/packages dir for clang driver detection
23b5a34 Detect include changes even on include with quotes
9c332bb Do not bail out if compile_commands.json is empty
37f3b38 Better handling of publishDiagnostics
21d9a7c Use canonical paths everywhere
88647ab Check for includes changes at the right place
eeabe2c Consider also '#include' lines to trigger re-builds
c2e6b69 extracted examineCompileCommandsJSON function
e485484 Fixed concurrency and improved checks for sketch-rebuild trigger
2a31a25 reduced log
fd6769e Added textutils.ExtractRange function
750f0bf Another improvement in loggind (data locks)
f1cf6ba Fixed documentSymbol handling for Windows
5dd3ea2 Fixed documentSymbol update deadlock
35f4685 Sligltly increased logging
881fb94 Added some missing panic catchers
4ab09ab Improved logging of jsonrpc requests
a159dbf Fixed 'languageId' field in TextDocumentItem
ce6e1cd Dramatically improved progress handling
5f3c065 Handle progress messages sequentially
2389e3d Fixed compiler query driver on Windows
429acc5 fixed tests for sourcemapper
0ce1169 detach clangd initialization from arduino LS initialization
d7969be Increased logging data
505b583 Removed useless logic from AsyncHandler
956770a Added a long empty header while restarting logging
7e45b5c Use canonical form for files when dealing with URI
a01225c Clean-up temp source-overrides once done
c36cf56 Improved support for LSP 1.17/clangd 11.0
e807d55 Added progress reporting support
c76120c Fixed documentHighlight message pointers
15b81ad Restructured DocumentURI handling
f88db97 removed unused function
12e7ca7 Added support for clang 11
bd78817 Handle external error gracefully
d03920d Leverage clangd to detect function prototypes changes
b6edaee Implemented didClose message
e86003c fixed didOpen error return
5902ba6 added rangeFormatting
b3f97b9 Minimal didSave implementation
d12931f Added textDocument/highlight support
4c2027c implemented go-to-definition and a bunch of other correlated messages
a5afeeb Implemented text formatter
98b7e45 Keep cppURI for clangd->ino conversion
303635e CppToIno range conversion now considers endline overlaps
af2c223 Added DebugLogAll function in sketch mapper
2c80ae7 Added InoMapper.CppToInoRangeOk() method
b2da3a2 Force sketch rebuild check if "undeclared_var_use" error is detected
c2c6d96 Improved panic log handling
796a463 Fixed text synchronization issues
e5c82d6 Fixed publishDiagnostics for .cpp files
d9eeb0c didOpen now handles .cpp / .h files too
c51689a Added .Ext() method on DocumentURI
9cd5943 updated arduino-cli version
414f11b correctly handle diagnostics update
2836832 renamed InoHandler.trackedFiles -> docs
476eabc Added String method to DocumentURI
da6892e Fixed doc sync infinite loop bug
54bfcf1 re-preprocess sketch if there are changes in the c++ functions outline
4590458 Added some Commands.Arguments
611bf6b Updated go-paths-helper
804136d Implemented sketch rebuild
ff6c799 fixed case in 'omitempty' directive
80eb6f3 removed no more used functions
f8b79ea implemented documentSymbol caching
fdd4a7f fixed dirty change detection
10355fa Fixed content tracking version mismatch warning
556b426 removed unused field
943cfa8 removed wrong synchronization directives
c3eac7a Added InitializedParams lsp structure
8a67a18 didChange now keeps track of changes in the text
7943ae1 partial implementation of documentSymbol
aac7cdc re-enable global message handling synchronization
f9b9ad6 Added lsp protocol decoding tests
749ab91 Append to logs instead of overwriting
91241a3 Implemented textDocument/documentSymbol
57a46b3 partial implementation of codeAction
e227159 inline completionList
b675233 Log by redirecting stderr, this helps to log panics in goroutines
bf332d7 let's panic on un-handled functions
474f2e7 inlined Hover response handler
736739a implement cleaning of diagnostics
b27fb0f improved logging
039617b first implementation of textDocument/didChange
8d099f9 track version in tracked files
5f19408 Added methods to apply text-changes in sketch mapper
4401a25 sketchMapper: added info about preprocessed lines
d07b2ab use lsp helper in sourceMapper
23b6d9c slightly improved logging
049d19f Moved URI helper in lsp module
5b8ca71 Forked https://github.com/sourcegraph/go-lsp
0d5f610 Slightly improved logging
ed22a4b Added implementation for 'textDocument/hover' message
436052b Implemented textDocument/publishDiagnostics
84b85b7 Made a more clean logging
f070822 Implemented 'completion' message
dbbc34f Accept all compiler for querying drivers (g++ and gcc for example)
a9580aa Big refactoring in LSP handling
a01cf52 slightly refactored syncer
ee6b06e InoMapper now maps all .ino files in a project
9b0a39b Converted method-switch into type-switch
09d329d Consume stderr if no log file is specified
a03fc20 Output stackstrace in log in case of crash
12a1bf6 Create a source mapper object and factored textutils subroutine
a8d0ddc Some refactoring wrt logging and debugging
3ec5d2a updated go modules
e9ee267 When logging command output add also the command line args
eea4010 Use github.com/arduino/go-properties-orderedmap for handling properties
2e949ef Can feed clangd with the compile commands dir.
5b9966f Use 'docker://plugins/s3' for the S3 upload
14711f5 Fixed the typo for the 'schedule' condition.
3b99c8b Port CI to GitHub Actions
4ef3fb6 Generalized 'No such file or directory handling'
98e078c Do not escape line breaks for 'window/showMessage'
4d6cc2f Fixed path of the gen cpp and compile_flags files.
503a272 Fixed a compatibility issue with the 0.11.0
CLI.
e8103c5 Build with MACOSX_DEPLOYMENT_TARGET
on macOS.
fb2d7bc Build on latest Xcode to avoid sining issues
0fdfae4 [build] Updated to macOS 10.14
8fb6d89 Don't show error message for missing board without name (arduino/arduino-pro-ide#134)
e3a4767 Support libraries with no src folder (arduino/arduino-pro-ide#22)
c1b4166 [build] Use .exe suffix for Windows
485a8f8 arduino/arduino-pro-ide#166: Discard error stream of clangd unless logging is active
6086aff Added synchronization of message processing, removed "arduino/selectedBoard"
f62da6e Fixed #15: relax character index on last line
6bd1522 Fixed #21: Hide proposals starting with underscore
209f171 Make sourcemaps more resilient against out-of-range modifications
4f4e489 [bugfix] fix #10 by hard de-dupping documentSymbols
1ec92fd [misc] Make stream logging less intrusive
a21f92d Added .gitpod.yml
24b77c3 Several improvements
3a51dda Several improvements
f7b8ee8 Added initial board argument, restart clangd on board change
258f45a Fixed compile error
745cf63 Added support for sam boards
a1f0aa6 Fixed #1: Added JSON-RPC message to obtain board configuration
2b39f5a Fixed URI test
1b4e560 Fixed URI conversion for Windows
1aeecf8 Added error handling for more helpful messages to the user
2d826f4 Show error message when preprocessing fails
c32ed19 Added workspace/symbol
186f2ad Added textDocument/signatureHelp
5b0fb1e Added textDocument/rename
ae7cbe0 Added textDocument/documentSymbol
9ac2644 Added textDocument/formatting
d3d0e34 Added nightly build schedule
50e97c4 Added textDocument/codeAction
71d1280 Added textDocument/references
bb6b506 Resolve symbolic links of temporary folder
c3d4d55 Added launch.json
6b27e58 [build] Improved formatting
5d07a1e Added command line argument for specifying cli path
e69a455 Added S3 upload task
f9401dc Enabled multi-architecture build
7c660f3 Set up CI with Azure Pipelines
0cc9027 Added argument to specify clangd executable path
7837af4 Created Go module, moved handler code to subpackage
38cf645 First draft of Arduino language server