mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-10-02 06:41:48 +00:00
Introducing a Scopes Mapper to map from RA scopes to TextMate scopes with fallbacks.
Current scopes defined: ``` ['keyword.unsafe', ['storage.modifier', 'keyword.other', 'keyword.control']], ['function', ['entity.name.function']], ['parameter', ['variable.parameter']], ['type', ['entity.name.type']], ['builtin', ['variable.language', 'support.type', 'support.type']], ['text', ['string', 'string.quoted', 'string.regexp']], ['attribute', ['keyword']], ['literal', ['string', 'string.quoted', 'string.regexp']], ['macro', ['support.other']], ['variable.mut', ['variable']], ['field', ['variable.object.property']], ['module', ['entity.name.section']] ``` Need to complement with further fallbacks as some themes fail.
This commit is contained in:
parent
5957b851e4
commit
0ddf47a7ab
4 changed files with 60 additions and 13 deletions
|
@ -2,7 +2,7 @@ import seedrandom = require('seedrandom');
|
|||
import * as vscode from 'vscode';
|
||||
import * as lc from 'vscode-languageclient';
|
||||
import * as scopes from './scopes'
|
||||
|
||||
import * as scopesMapper from './scopes_mapper';
|
||||
|
||||
import { Server } from './server';
|
||||
|
||||
|
@ -65,10 +65,13 @@ export class Highlighter {
|
|||
tag: string,
|
||||
textDecoration?: string
|
||||
): [string, vscode.TextEditorDecorationType] => {
|
||||
const scope = scopes.find(tag)
|
||||
|
||||
if (scope) {
|
||||
const decor = createDecorationFromTextmate(scope);
|
||||
const foundRule = scopesMapper.toRule(tag, scopes.find) || scopes.find(tag)
|
||||
|
||||
|
||||
|
||||
if (foundRule) {
|
||||
const decor = createDecorationFromTextmate(foundRule);
|
||||
return [tag, decor];
|
||||
}
|
||||
else {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue