I have started a project that requires syntax highlighting and code completion (a window pops up at the caret location providing suggestions) and can't find a suitable solution. There are multiple Swing components which take text input e.g. JTextArea, JTextPane and JEditorPane which makes it significantly more difficult to figure out which is the correct one to use.
The project is a programmer specific text editor which will have integration with the unity game engine. This meaning code completion and highlighting will be done on JavaScript and C# syntax.
It might be obvious but the general idea is that when the user types, certain words change to a specified colour, these words would be stored in a text file. For the code completion I need to be able to grab the currently typed letters, this detection process will restart by using the space character as the delimiter.
Thanks for your time :)
See my answer here which shows auto completion for JTextComponent
, it can show pop up window of auto completion words to the current caret index on JTextPane
/JEditorPane
(+1 @AndrewThompson for the idea):
For JTextField
:
and for other JTextComponent
s i.e JTextPane
, JEditorPane
etc its shown at the current caret index:
To change text colour of words (i.e syntax highlight) have a look here:
Or if you want rather a highlighted word. See here:
you can look at components from jintilla (a JNI wrapper around the widely used scintilla) or jedit if their licensing terms fit your use case.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With