-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PR: Migrate introspection services to use the Language Server Protocol (LSP) #4751
Merged
ccordoba12
merged 127 commits into
spyder-ide:master
from
andfoy:language_server_adapter
Aug 20, 2018
+3,546
−496
Merged
Changes from 1 commit
Commits
Show all changes
127 commits
Select commit
Hold shift + click to select a range
4ee91c9
Add proof-of-concept server
andfoy 4d0c22e
Improve editor and workspace capabilites documentation
andfoy 6e2139f
Handle SIGINT and SIGTERM signals to close all connections
andfoy db63b91
Close TCP socket and terminate language-server process on SIGTERM/SIGINT
andfoy c399889
Handle ConnectionAbortedError on Windows
andfoy 8b0f176
Handle SIGBREAK on Windows
andfoy 536fef9
Handle SIGBREAK on Widows
andfoy ea464c6
Add connection timeout instead of waiting a fixed time interval
andfoy f7fcdf4
Module extraction and code refactor
andfoy e25d285
Process server responses
andfoy 49ec0f6
Add basic expected server capabilities settings
andfoy 9afeb75
Add LSPClient base implementation skeleton
andfoy b1ec308
Add class and function decorators to differentiate LSP method handlers
andfoy 2184681
Extract LSP method signature to decorator
andfoy 96db142
Merge remote-tracking branch 'upstream/master' into language_server_a…
andfoy 2e583dd
Send initialize request when transport layer is ready
andfoy 20f65d6
Minor settings configuration
andfoy 388cdd2
Merge remote-tracking branch 'upstream/master' into language_server_a…
andfoy 9a54c69
Start LSP client from Spyder main window
andfoy 09637f5
Start LSP client after creating editor plugin
andfoy ae707a0
LSP Plugin Manager Config Page WIP
andfoy 7959110
Plugin configuration page is now complete
andfoy a46774e
Minor command/host validation issues corrected
andfoy 20d8ee1
Start LSP client on file open action
andfoy a98b8ce
Fix PEP8 errors
andfoy 78d4276
Merge remote-tracking branch 'upstream/master' into language_server_a…
andfoy 23e0ead
Close language server when is not required
andfoy 387bf35
Correct PEP8 errors
andfoy 9e16e7a
Select port using select_port
andfoy 884d95e
Reload clients if settings are updated
andfoy 280f725
Merge remote-tracking branch 'upstream/master' into language_server_a…
andfoy bc384e7
Implement textDocument/didOpen request
andfoy 2db33c3
Add textDocument/publishDiagnostics handler
andfoy 94fd388
Back to work
andfoy 48d5536
Send textDocument/DidOpen request each time a file is opened
andfoy b0e6979
Remove tabs
andfoy d7c0f21
Transport layer should read Content-Length bytes
andfoy 4b95a4b
Improve textDocument/didOpen notifications behaviour at startup
andfoy acfed93
Add textDocument/publishDiagnostics handler on codeeditor
andfoy 7ba5ff1
Display linter hints/warnings/errors on Line Number area
andfoy f177bda
Hightlight linter conflicting selections by modifying bg color
andfoy e2beec1
Improve warning highlighting visualization
andfoy 1e125d5
textDocument/didChange first experiments
andfoy 54187c4
Send all document instead of sending incremental updates
andfoy 11c5d5a
Remove linter selections after 10s
andfoy 8a574aa
Merge changes from upstream
andfoy 6909f5b
Hid linter selection after 5s
andfoy a5fd36a
Solve ZMQ communication and blocking issues
andfoy 2191f6c
Send textDocument/completion requests
andfoy 20183a8
textDocument/completion request responses should arrive to the codeed…
andfoy 63b0888
Auto completion should be working now
andfoy d627e21
Close completion widget on Escape Key press
andfoy 45b607f
Display completion documentation alongside dialog (If available)
andfoy 330ba83
Show documentation tooltip only if it's available
andfoy e5d9d92
Handle and process textDocument/signatureHelp requests
andfoy dda4660
Handle textDocument/hover requests
andfoy 3afde13
Merge with upstream
andfoy b3c7bbd
Disable some features
andfoy 1db53b2
Improve socket reading procedure
andfoy ccc39d8
Merge remote-tracking branch 'upstream/master' into language_server_a…
andfoy db0c317
Perform Go-to-definition requests
andfoy 12db7db
Go To Definition: Same file
andfoy bf4fcbe
Go To Definition: Disable end column highlighting
andfoy a1c960b
Go to definition complete
andfoy a0398c4
Implement document/WillSave notification
andfoy 4ae4ee0
Implement Document/DidClose notification
andfoy 85253fb
Disable LSP configuration page
andfoy 354392e
Cleanup begins
andfoy b9f9e29
Close all servers when Spyder closes down
andfoy 7330308
Merge files with upstream
andfoy 7c4bcb0
Correct lsp_client.py __main__ test
andfoy 1e37637
Correct initialization problems
andfoy dc07070
Merge with upstream
andfoy 02062d0
Minor transport consumer issues fixed
andfoy a029c2f
Go-to-definition fixed
andfoy a9dadde
Disable function hinting when documentation is None
andfoy 8490670
Test migration begins
andfoy b750784
Prevent LSP transport client module testing
andfoy 72778e0
Add depdencies to Travis
andfoy 46d9fed
Add depdencies to Appveyor
andfoy 69711a8
Prevent LSP transport client module testing
andfoy e21f0d3
Enable RDP debugging
andfoy 79bd920
Add pexpect to dependencies
andfoy 8ae9fac
Warning diagnostic tests fixed
andfoy 3940e54
Fix introspection test
andfoy d9d07ee
Integrate documentation inspection calls to LSP methods
andfoy c2f777f
Fix get_help test
andfoy 9ab3c25
Fix calltip test
andfoy c499108
Prevent test_get_help from hanging on
andfoy 229f30a
Kill LSP processes before get_help testing
andfoy 9ee5ee9
Killtest_calltip: Send LSP request manually
andfoy cc719ad
test_calltip: Remove document_did_change call
andfoy 3cb2853
test_calltip: Fixed document_did_open call
andfoy 5fdd128
test_calltip: Fixed
andfoy 3e00469
test_adding_warnings: Fixed
andfoy a6a5cae
text_get_help: Fixed
andfoy b5969ff
Skip test_calltip on PY2
andfoy 3c89543
Merge with upstream
andfoy f3aa040
Disable installation on Travis
andfoy 16cee99
Improve server spawning and teardown
andfoy 88fcb65
Update test_get_help
andfoy 58b3340
Disable Spyder installation on Appveyor
andfoy cc0ce6f
Prevent textDocument/didClose call if LSP is down
andfoy 02d90a5
Reimplement TCP consumer on Windows
andfoy 3b1203d
Prevent TypeError while parsing JSON
andfoy 329a03c
Daemonize consumer thread, create blocking socket
andfoy 47ecb9d
Daemonize thread via class attribute
andfoy 15cd3f5
Disable Ctrl+Break event on Windows
andfoy ad88cf0
test_flag_painting: Fixed
andfoy 7c70fd6
test_flag_painting: Minor error correction
andfoy 5c529be
Merge with upstream
andfoy c66aa54
Fix byte conversion issues on LSP transport consumer
andfoy 63085cc
Add pyls dependency to NO_CONDA CI machine on Travis
andfoy 5d30978
Codeeditor: Perform LSP request only if LSP server is available
andfoy 2053cc9
Use SPY_TEST_USE_INTROSPECTION to launch pyls on CIs
andfoy e459fa2
Add test introspection env var on test_warnings
andfoy 70b6c7f
Skip pyls tests on Appveyor/Py3
andfoy bc781cb
Add pyls JSON configuration sources
andfoy 9b0b29f
Update test_adding_warnings to reflect pydocstyle inclusion
andfoy c78087d
Update test_move_warnings to reflect pydocstyle inclusion
andfoy a1222e7
Redirect LSP log file to config folder
andfoy 7e6618c
Merge with master
andfoy 63c628f
Remove additional arg to file open on lsp_client spawn
andfoy 41b5563
Create lsp_logs folder under .config
andfoy 40a3016
Disable Rope, Pydocstyle and McCabe
andfoy ac66380
Blacklist spyder/utils/code_analysis on Circle
andfoy 0471faa
Disable pydocstyle tests
andfoy File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This doesn't work on Windows, i.e. processes can't be killed this way there. If you want a cross-platform way of doing this, please take a look at
psutil.kill
.