Skip to content

Commit e3d7df7

Browse files
committed
added token support back f ro header files and ams files
1 parent e29f252 commit e3d7df7

File tree

6 files changed

+36
-12
lines changed

6 files changed

+36
-12
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "systemverilog",
33
"displayName": "SystemVerilog - Language Support",
44
"description": "Language support for Verilog and SystemVerilog.",
5-
"version": "0.13.9",
5+
"version": "0.13.10",
66
"publisher": "eirikpre",
77
"author": {
88
"name": "Eirik Prestegårdshus",

src/compiling/DocumentCompiler.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { URI } from 'vscode-uri';
44
import * as path from 'path';
55
import * as child from 'child_process';
66
import { getPathFromUri } from '../utils/common';
7-
import { isSystemVerilogDocument, isVerilogDocument, getLineRange } from '../utils/server';
7+
import { isSystemVerilogDocument, isVerilogDocument, isVerilogAMSDocument, getLineRange } from '../utils/server';
88
import { DiagnosticData } from './DiagnosticData';
99

1010
/*
@@ -45,7 +45,7 @@ export abstract class DocumentCompiler {
4545
return;
4646
}
4747

48-
if (!isSystemVerilogDocument(document) && !isVerilogDocument(document)) {
48+
if (!isSystemVerilogDocument(document) && !isVerilogDocument(document) && !isVerilogAMSDocument(document)) {
4949
reject(new Error('The document is not a SystemVerilog/Verilog file.'));
5050
return;
5151
}

src/extension.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,11 @@ let closeWindowProgress = true;
2020

2121
const selector: DocumentSelector = [
2222
{ scheme: 'file', language: 'systemverilog' },
23-
{ scheme: 'file', language: 'verilog' }
23+
{ scheme: 'file', language: 'systemverilogheader' },
24+
{ scheme: 'file', language: 'verilog' },
25+
{ scheme: 'file', language: 'verilogheader' },
26+
{ scheme: 'file', language: 'veriloga' },
27+
{ scheme: 'file', language: 'verilogams' },
2428
];
2529

2630
let indexer: SystemVerilogIndexer | undefined = undefined;

src/indexer.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { CancellationToken } from 'vscode-languageclient/node';
33
import * as glob from 'glob';
44
import * as minimatch from 'minimatch';
55
import { SystemVerilogParser } from './parser';
6-
import { isSystemVerilogDocument, isVerilogDocument } from './utils/client';
6+
import { isSystemVerilogDocument, isVerilogDocument, isVerilogAMSDocument } from './utils/client';
77
import { SystemVerilogSymbol } from './symbol';
88

99
export class SystemVerilogIndexer {
@@ -136,7 +136,7 @@ export class SystemVerilogIndexer {
136136
if (total_files >= 100 * this.parallelProcessing) {
137137
return this.parser.get_all_recursive(doc, 'declaration', 0);
138138
}
139-
if (doc.lineCount > this.maxLineCountIndexing) {
139+
if (doc.lineCount > this.maxLineCountIndexing.valueOf()) {
140140
window.showInformationMessage(
141141
`The character count of ${workspace.asRelativePath(uri)} is larger than ${this.maxLineCountIndexing}. Falling back to fast parse. To fully parse this file, please set 'systemverilog.maxLineCountIndexing > ${doc.lineCount} in the systemverilog extension settings.`
142142
); // prettier-ignore
@@ -182,7 +182,7 @@ export class SystemVerilogIndexer {
182182
*/
183183
public async onChange(document: TextDocument): Promise<any> {
184184
return new Promise(() => {
185-
if (!isSystemVerilogDocument(document) && !isVerilogDocument(document)) {
185+
if (!isSystemVerilogDocument(document) && !isVerilogDocument(document) && !isVerilogAMSDocument(document)) {
186186
return;
187187
}
188188
if (!workspace.getConfiguration().get('systemverilog.enableIncrementalIndexing')) {
@@ -237,7 +237,7 @@ export class SystemVerilogIndexer {
237237
return;
238238
}
239239

240-
if (!isSystemVerilogDocument(document) && !isVerilogDocument(document)) {
240+
if (!isSystemVerilogDocument(document) && !isVerilogDocument(document) && !isVerilogAMSDocument(document)) {
241241
resolve(new Array<SystemVerilogSymbol>());
242242
return;
243243
}

src/utils/client.ts

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { TextDocument } from 'vscode';
77
@return true if the document is a SystemVerilog file
88
*/
99
export function isSystemVerilogDocument(document: TextDocument | undefined): boolean {
10-
return document?.languageId === 'systemverilog';
10+
return ((document?.languageId === 'systemverilog') || (document?.languageId === 'systemverilogheader'));
1111
}
1212

1313
/**
@@ -17,5 +17,15 @@ export function isSystemVerilogDocument(document: TextDocument | undefined): boo
1717
@return true if the document is a Verilog file
1818
*/
1919
export function isVerilogDocument(document: TextDocument | undefined): boolean {
20-
return document?.languageId === 'verilog';
20+
return ((document?.languageId === 'verilog') || (document?.languageId === 'verilogheader'));
2121
}
22+
23+
/**
24+
Check if a given `document` is a VerilogA/VerilogAMS file.
25+
26+
@param document the document to check
27+
@return true if the document is a Verilog file
28+
*/
29+
export function isVerilogAMSDocument(document: TextDocument | undefined): boolean {
30+
return ((document?.languageId === 'veriloga') || (document?.languageId === 'verilogams'));
31+
}

src/utils/server.ts

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { TextDocument } from 'vscode-languageserver-textdocument';
88
@return true if the document is a SystemVerilog file
99
*/
1010
export function isSystemVerilogDocument(document: TextDocument | undefined): boolean {
11-
return document?.languageId === 'systemverilog';
11+
return ((document?.languageId === 'systemverilog') || (document?.languageId === 'systemverilogheader'));
1212
}
1313

1414
/**
@@ -18,7 +18,17 @@ export function isSystemVerilogDocument(document: TextDocument | undefined): boo
1818
@return true if the document is a Verilog file
1919
*/
2020
export function isVerilogDocument(document: TextDocument | undefined): boolean {
21-
return document?.languageId === 'verilog';
21+
return ((document?.languageId === 'verilog') || (document?.languageId === 'verilogheader'));;
22+
}
23+
24+
/**
25+
Check if a given `document` is a Verilog file.
26+
27+
@param document the document to check
28+
@return true if the document is a Verilog file
29+
*/
30+
export function isVerilogAMSDocument(document: TextDocument | undefined): boolean {
31+
return ((document?.languageId === 'veriloga') || (document?.languageId === 'verilogams'));;
2232
}
2333

2434
/**

0 commit comments

Comments
 (0)