All files / languages/sparql/services sparql-prefix-definition-service.ts

100% Statements 2/2
100% Branches 2/2
100% Functions 2/2
100% Lines 2/2

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20                        1x       2x      
import * as vscode from 'vscode';
import { RdfToken, TokenType } from '@faubulous/mentor-rdf-parsers';
import { TurtleDocument } from '@src/languages';
import { TurtlePrefixDefinitionService } from '@src/languages/turtle/services/turtle-prefix-definition-service';
 
/**
 * A service for declaring prefixes in SPARQL documents. SPARQL only supports the
 * `PREFIX ns: <iri>` declaration form (no `@prefix` and no trailing dot), so the
 * syntax-specific seams of {@link TurtlePrefixDefinitionService} are overridden.
 */
export class SparqlPrefixDefinitionService extends TurtlePrefixDefinitionService {
	protected override getPrefixTokenType(_document: vscode.TextDocument, _context: TurtleDocument): TokenType {
		return RdfToken.PREFIX;
	}
 
	protected override getPrefixDefinition(_tokenType: TokenType, upperCase: boolean, prefix: string, namespaceIri: string): string {
		return `${upperCase ? 'PREFIX' : 'prefix'} ${prefix}: <${namespaceIri}>`;
	}
}