Merge 8da29376e3
into c828608867
This commit is contained in:
commit
73242ee659
2 changed files with 17 additions and 10 deletions
|
@ -8,9 +8,16 @@ import { XmlTreeViewDataProvider } from "./providers/XmlTreeView";
|
|||
export var GlobalState: vsc.Memento;
|
||||
export var WorkspaceState: vsc.Memento;
|
||||
|
||||
const LANG_XML: string = "xml";
|
||||
const LANG_XSL: string = "xsl";
|
||||
const LANG_XQUERY: string = "xquery;"
|
||||
function createSelector(language: string): vsc.DocumentFilter[] {
|
||||
return [
|
||||
{ language, scheme: "file" },
|
||||
{ language, scheme: "untitled" },
|
||||
];
|
||||
}
|
||||
|
||||
const SELECTOR_XML_XSL: vsc.DocumentSelector = [...createSelector("xml"), ...createSelector("xsl")];
|
||||
const SELECTOR_XQUERY: vsc.DocumentSelector = createSelector("xquery");
|
||||
|
||||
const MEM_QUERY_HISTORY: string = "xpathQueryHistory";
|
||||
|
||||
export function activate(ctx: vsc.ExtensionContext) {
|
||||
|
@ -29,10 +36,10 @@ export function activate(ctx: vsc.ExtensionContext) {
|
|||
|
||||
// register language feature providers
|
||||
ctx.subscriptions.push(
|
||||
vsc.languages.registerDocumentFormattingEditProvider([LANG_XML, LANG_XSL], new XmlFormattingEditProvider()),
|
||||
vsc.languages.registerDocumentRangeFormattingEditProvider([LANG_XML, LANG_XSL], new XmlFormattingEditProvider()),
|
||||
vsc.languages.registerDocumentFormattingEditProvider(SELECTOR_XML_XSL, new XmlFormattingEditProvider()),
|
||||
vsc.languages.registerDocumentRangeFormattingEditProvider(SELECTOR_XML_XSL, new XmlFormattingEditProvider()),
|
||||
|
||||
vsc.languages.registerCompletionItemProvider(LANG_XQUERY, new XQueryCompletionItemProvider(), ":", "$")
|
||||
vsc.languages.registerCompletionItemProvider(SELECTOR_XQUERY, new XQueryCompletionItemProvider(), ":", "$")
|
||||
);
|
||||
|
||||
// listen to editor events (for linting)
|
||||
|
@ -56,7 +63,7 @@ export function deactivate() {
|
|||
}
|
||||
|
||||
function _handleContextChange(editor: vsc.TextEditor): void {
|
||||
if (!editor || !editor.document) {
|
||||
if (!editor || !editor.document || editor.document.uri.scheme !== "file") {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ export class XmlTreeViewDataProvider implements vsc.TreeDataProvider<Node> {
|
|||
return vsc.window.activeTextEditor || null;
|
||||
}
|
||||
|
||||
getChildren(element?: Node): Node[] {
|
||||
getChildren(element?: Element): Node[] {
|
||||
if (!this._xmlDocument) {
|
||||
this._refreshTree();
|
||||
}
|
||||
|
@ -41,7 +41,7 @@ export class XmlTreeViewDataProvider implements vsc.TreeDataProvider<Node> {
|
|||
}
|
||||
}
|
||||
|
||||
getTreeItem(element: Node): vsc.TreeItem {
|
||||
getTreeItem(element: Element): vsc.TreeItem {
|
||||
let treeItem = new vsc.TreeItem(element.localName);
|
||||
|
||||
if (this._getChildAttributeArray(element).length > 0) {
|
||||
|
@ -66,7 +66,7 @@ export class XmlTreeViewDataProvider implements vsc.TreeDataProvider<Node> {
|
|||
return treeItem;
|
||||
}
|
||||
|
||||
private _getChildAttributeArray(node: Node): Node[] {
|
||||
private _getChildAttributeArray(node: Element): Node[] {
|
||||
if (!node.attributes) {
|
||||
return [];
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue