Skip to content

Commit d53ce2e

Browse files
authored
feat: support block completions (#1937)
Two changes are necessary to support autocompletion of block keywords: 1. The `@` keyword causes immediate completion 2. The new block completion item kind maps onto the keyword icon
1 parent 9442292 commit d53ce2e

File tree

2 files changed

+4
-1
lines changed

2 files changed

+4
-1
lines changed

server/src/completion.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import {lspPositionToTsPosition, tsTextSpanToLspRange} from './utils';
1414
// TODO: Move this to `@angular/language-service`.
1515
enum CompletionKind {
1616
attribute = 'attribute',
17+
block = 'block',
1718
htmlAttribute = 'html attribute',
1819
property = 'property',
1920
component = 'component',
@@ -90,6 +91,8 @@ function ngCompletionKindToLspCompletionItemKind(kind: CompletionKind): lsp.Comp
9091
case CompletionKind.reference:
9192
case CompletionKind.variable:
9293
return lsp.CompletionItemKind.Variable;
94+
case CompletionKind.block:
95+
return lsp.CompletionItemKind.Keyword;
9396
case CompletionKind.entity:
9497
default:
9598
return lsp.CompletionItemKind.Text;

server/src/session.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -677,7 +677,7 @@ export class Session {
677677
codeLensProvider: {resolveProvider: true},
678678
textDocumentSync: lsp.TextDocumentSyncKind.Incremental,
679679
completionProvider:
680-
{resolveProvider: true, triggerCharacters: ['<', '.', '*', '[', '(', '$', '|']},
680+
{resolveProvider: true, triggerCharacters: ['<', '.', '*', '[', '(', '$', '|', '@']},
681681
definitionProvider: true,
682682
typeDefinitionProvider: true,
683683
referencesProvider: true,

0 commit comments

Comments
 (0)