Comments (7)
atom-ide-ui
0.1.6+ has a searchable outline view now :) Still doesn't address project symbols, but it should help bridge the gap between symbols-view/outline-view.
from atom-languageclient.
I think the outline view is actually well suited to the data returned from LSP! The textDocument/documentSymbols verb gives us back a list of symbols with their parent names. If we assume that a container symbol comes lexically before the symbols inside it (as they do in all LSP languages, including even C/C++) then we can reconstruct the OutlineView correctly. The SymbolInfo.kind field gives a good icon to display in OutlineView too.
from atom-languageclient.
see @ljw1004's implementation for our internal LSP adapter:
facebookarchive/nuclide@dc59da7 (tree structure)
facebookarchive/nuclide@d734d34 (icons)
from atom-languageclient.
With the icon support it might be useful although I still think we're going to need go-to-symbol support for both the project and the current document. The latter might be do-able with further changes to outline view? Any thoughts on the former?
from atom-languageclient.
For the project-wide symbol search, Nuclide uses a "symbols" tab in the quick-open dialog. I've hooked it up so that LSP calls to workspace/symbol can populate it.
Oh gosh I really love the quick-open dialog. I've found it so incredibly useful, much friendlier than the symbol-search functionality in VSCode and VisualStudio. I love how it conveniently aggregates all the relevant search mechanisms in an easily-discoverable way, so it educates me about other search mechanisms I wasn't aware of, and it removes the up-front brain tax of having to decide which search mechanism to use (e.g. document-search vs project-search in VSCode).
from atom-languageclient.
documentSymbols now wired up to the revised Outline view using enhanced logic + syntax coloring + icons. Will create a separate issue for project symbols.
from atom-languageclient.
Where's the issue for project symbols? I might dig into exposing that data.
from atom-languageclient.
Related Issues (20)
- TypeError: Cannot read property 'isIncomplete' of null
- abc log console
- Hook to server termination HOT 4
- Is this project dead? HOT 3
- Autocomplete handling does not meet spec HOT 1
- Why is activate() without parameter? HOT 1
- replacementPrefix generated by textEdit for autocompletion suggestions is overruled HOT 3
- Client throws error after receiving a diagnostic message HOT 1
- Include Apache Camel Language Server in wiki HOT 1
- Atom ide being deprecated HOT 8
- Succesfully cancelled request still log a (spurious) error HOT 1
- Doesn't install on windows HOT 1
- Better source of languageId HOT 2
- Request to add ide-gopls to the wiki page HOT 1
- slash or 'normalised-path' - warning HOT 1
- Update to LSP Version 3.15 HOT 1
- Hover markdown is not syntax highlighted
- Is this project dead? HOT 2
- Add Erlang to wiki of supported languages
- This repo has officially moved to atom-community HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from atom-languageclient.