mirror of
https://github.com/SpartanJ/eepp.git
synced 2026-08-16 22:15:01 +03:00
Fixed syntax highlighting issues when inserting or removing multi-line comments.
Added support for ranged semantic highlighting, improving performance for LSPs that support ranges but not fullDelta changes.
This commit is contained in:
@@ -115,17 +115,18 @@ void LSPDocumentClient::requestSemanticHighlighting() {
|
||||
if ( !mServer || !mServer->getManager()->getPlugin()->semanticHighlightingEnabled() )
|
||||
return;
|
||||
const auto& cap = mServer->getCapabilities();
|
||||
if ( !cap.semanticTokenProvider.full && !cap.semanticTokenProvider.fullDelta /*&&
|
||||
!cap.semanticTokenProvider.range*/ )
|
||||
if ( !cap.semanticTokenProvider.full && !cap.semanticTokenProvider.fullDelta &&
|
||||
!cap.semanticTokenProvider.range )
|
||||
return;
|
||||
|
||||
TextRange range;
|
||||
std::string reqId;
|
||||
bool delta = false;
|
||||
/*if ( cap.semanticTokenProvider.range ) {
|
||||
range = mDoc->getDocRange();
|
||||
} else */
|
||||
if ( cap.semanticTokenProvider.fullDelta ) {
|
||||
if ( cap.semanticTokenProvider.range && !mFirstHighlight ) {
|
||||
range = mDoc->getActiveClientVisibleRange();
|
||||
} else if ( mFirstHighlight ) {
|
||||
mFirstHighlight = false;
|
||||
} else if ( cap.semanticTokenProvider.fullDelta ) {
|
||||
delta = true;
|
||||
reqId = mSemanticeResultId;
|
||||
}
|
||||
@@ -145,8 +146,8 @@ void LSPDocumentClient::requestSemanticHighlightingDelayed() {
|
||||
if ( !mServer || !mServer->getManager()->getPlugin()->semanticHighlightingEnabled() )
|
||||
return;
|
||||
const auto& cap = mServer->getCapabilities();
|
||||
if ( !cap.semanticTokenProvider.full && !cap.semanticTokenProvider.fullDelta /*&&
|
||||
!cap.semanticTokenProvider.range*/ )
|
||||
if ( !cap.semanticTokenProvider.full && !cap.semanticTokenProvider.fullDelta &&
|
||||
!cap.semanticTokenProvider.range )
|
||||
return;
|
||||
UISceneNode* sceneNode = getUISceneNode();
|
||||
if ( sceneNode ) {
|
||||
|
||||
Reference in New Issue
Block a user