camel-tooling / camel-language-server Goto Github PK
View Code? Open in Web Editor NEWThe Apache Camel LSP server implementation
License: Apache License 2.0
The Apache Camel LSP server implementation
License: Apache License 2.0
for instance for now when we have:
<uri="|"> and <uri="time|">
the completion returned is exactly the same, it would nice that in second case, we return only the components starting with "time". (or maybe to put them on top and provide the other components after, so just changing the sort)
it is particularly an issue when there is an '&' in the string as it needs to be encoded as '&'
I think that it will require to have a "fault-tolerant" xml parser but where can we find/configure it?
to jump from the to the component anId
We are not allowed to use org.apache so we should rename the gav to org.cameltooling
new name should start with org.cameltooling as we are not allowed to use org.apache.*
some attributes are JSonPath dataformat/language, it would be nice to be able to provide completion/validation for these fields
would be interesting to factorize code with Camel Idea plugin
can be strikethrough or italic?
follow-up #73
currently LSP4E (and more and more clients) is using DocumentSymbol to provide an outline.
As first iteration having just the list of routes can be nice
Then having them grouped by Camel context
then having also global endpoint
then... we will see at usage and open new enhancement request
to help contributor to jumpstart in the project:
extend the travis script to push snapshots and releases to some official and public maven repository
see #73
for some domains, some components are more used, it would be nice to provide built-in for different domain which will sort the completion proposal by providing first the domain-specific ones
maybe can be split on hover and on completion
in case placeholder value can be determined, it might be nie to add the value as a code-lens
maybe worth having a look to camel-validation-plugin and see if we can reuse it directly
what needs to be done at process level?
not an easy task, but it would certainly allow to parse a single time the file (and on each modifications?), simplifying after to provide all completions/documentsymbol and other things
currently, the whole file is sent on each request. to save bandwith and improve performance, it would be nice to support incremental update
some catalogs are provided outside of Camel core, it will be a good idea to have a way to include them in the completion/validation/doc. it will help to focus on a specific vertical for instance.
Currently, it contains only the component documentation, it would be nice to provide the Camel attribute documentation also
currently the compeltion is based on latest available version.
it would be nice to be able to specify which version to use in a first time and to read it from project in a second time (or to read it from xsd location if people are using strict modeling metamodel)
Camel components have tags which can help to search for a specific domain.
See a part of this list from a screenshot from Fuse Tooling:
while auto-completing, it migth be nice to search in categories too.
I imagine several possibilities:
for instance, there is "timer", I put the cursor after the t and choose twitter
current result is:
"twitter:kindimer"
expected result would be:
"twitter:kind"
same applies for options.
How to handle the remaining parts if more complex such as:
"timer:value?delay=1000"
if I autocomplete after the t with twitter:kind, what would be the result?
"twitter:kind"
"twitter:kind?delay=1000"
"twitter:value"
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.