Tacking in account the document version when applying highlighting
to prevent applying old info to the changed document.
Fixed full/range request. Now we send a range request on
document changes.
GPS.Style expanded. Added underline, underline color,
strikethrough, strikethrough color with Python API suppotr
Styles now support hierarchical updating, so some properties
can be changed in a parent style and it will be applied to
all children except the overriden explicitly.
Implemented support for LSP styles in TextMate themes and
all styles can be adjusted there.
Added default styles for LSP similar to VS Code
For eng/ide/gnatstudio#618
Shows semanic tokens and modifiers in the editor tooltip.
Added "LSP-Semantic-Highlighting-Tooltip" preference to turn
it on/off. By default - disabled.
For eng/ide/gnatstudio#617
The upcoming compiler change trades spurious errors (reject-valid bugfixes)
for valid errors (accept-invalid bugfixes), and now flags a few problematic
constructs in the codebase:
gps-editors.ads:1291:04: error: deferred constant "Nil_Editor_Mark" is frozen before completion
gps-editors.ads:1291:04: error: because expression of function "Create_Mark" is frozen here
gps-editors.ads:1291:04: error: as a primitive operation of type "Dummy_Editor_Location" frozen here
gps-editors.ads:1291:04: error: expression function "Create_Mark" is declared at line 1230
gps-editors.ads:1326:04: error: full constant declaration appears too late
gps-editors.ads:1587:04: error: deferred constant "Nil_Editor_Cursor" is frozen before completion
gps-editors.ads:1587:04: error: because expression of function "Get_Main_Cursor" is frozen here
gps-editors.ads:1587:04: error: as a primitive operation of type "Dummy_Editor_Buffer" frozen here
gps-editors.ads:1587:04: error: expression function "Get_Main_Cursor" is declared at line 1341
gps-editors.ads:1672:04: error: full constant declaration appears too late
language-abstract_language_tree.ads:503:04: error: deferred constant "No_Semantic_Node_Array" is frozen before completion
language-abstract_language_tree.ads:503:04: error: because expression of function "Children" is frozen here
language-abstract_language_tree.ads:503:04: error: as a primitive operation of type "Dummy_Semantic_Node" frozen here
language-abstract_language_tree.ads:503:04: error: expression function "Children" is declared at line 410
language-abstract_language_tree.ads:506:04: error: deferred constant "No_Semantic_Node_Array" is frozen before completion
language-abstract_language_tree.ads:506:04: error: because expression of function "Root_Nodes" is frozen here
language-abstract_language_tree.ads:506:04: error: as a primitive operation of type "Dummy_Semantic_Tree" frozen here
language-abstract_language_tree.ads:506:04: error: expression function "Root_Nodes" is declared at line 477
language-abstract_language_tree.ads:509:04: error: full constant declaration appears too late
xref.ads:367:13: error: this primitive operation is declared too late
xref.ads:371:13: error: this primitive operation is declared too late
[...]
There is a chicken-and-egg issue in language-abstract_language_tree.ads,
whereby the completions of the constants at the end of the file freeze
each other, so there is no legal declaration order for the completions.
Therefore one of them is turned into a function (which is completed by
an expression function) to break the circularity.
Issue: eng/toolchain/gnat#1701
All these preferences and their implementation were implemented
before the LSP, and they are all disabled by default.
LAL-based features such as semantic highlighting, block folding are
now implemented in the ALS.
For eng/ide/gnatstudio#603
- Merge the concept of Avoid_Move_Cursor and Freeze_Cursor.
- Compute minimal edits only if for the TextEdits affecting a
cursor
- Freeze the cursor when applying TextEdits
- Fix condition in completion window where we are deleting the
window and then trying to access it.
- Fix wrong preference name in test (it was the same by default
for C++)
Closes eng/ide/gnatstudio#582
This is needed in order to prepare the transition to GPR2.
Project edition should be done by editing the .gpr files now, with
the help of the Ada Language Server.
Documentation and comments have been updated accordingly and tests
checking the Project Properties GUI have been removed.
For eng/ide/gnatstudio#569
Fix limit formatting condition
Fix Get_Iter_At_Screen_Position defaulting to the first Iter
when trying to get the last iter (this happens when a buffer
doesn't have EOF)
Fix Before_Delete_Text invalid conversions between Line_Offset
and Visible_Columns (missing tab expansions).
Improve IndentOnly string comparison
Add tests
Depends-On: eng/ide/ada_language_server!2116
For eng/ide/ada_language_server#1713