Skip to content

ligasgr/intellij-xquery

Repository files navigation

IntelliJ XQuery Support Plugin

Provides support for XQuery language in version 3.0 in IntelliJ IDEA

GitHub Issues - please raise issues for any bugs you've found or any features that are missing

Cloudbees Jenkins status: Build Status

#XQuery - useful links

  1. XQuery 3.0: An XML Query Language - W3C Candidate Recommendation
  2. XQuery 3.0 Grammar
  3. Building a Tokenizer for XPath or XQuery - Draft for XQuery 1.0
  4. XML Query Use Cases
  5. XML Query Use Cases - all in one file version
  6. XQuery 3.0 compatiblity test suite
  7. Guidelines for Running the QT3 Test Suite

#Plugin development - useful links

  1. Developing Custom Language Plugins for IntelliJ IDEA
  2. Custom Language Support - Tutorial
  3. Testing IntelliJ IDEA Plugins
  4. Writing Tests for Plugins - Tutorial
  5. IntelliJ IDEA Architectural Overview
  6. Open API and Plugin Development - Developer Community Forum
  7. Erlang support plugin for IntelliJ IDEA - source code on github
  8. Developing a plugin for IntelliJ IDEA – some useful tips and links

#Building plugin locally Run:

git clone [email protected]:ligasgr/intellij-xquery.git
cd intellij-xquery
./gradlew downloadSdk
./gradlew unzipSdk
./gradlew build

Change log

Version 0.0.4

  • Minor bug fixes.
  • Additional file extensions added as supported by plugin.
  • Updated required IntelliJ version to reflect code dependencies.
  • Issue #1 - Error when trying to open file.
  • Issue #15 - Function reference based completion to work without ().
  • Issue #16 - Function completion to have () added by default.
  • Issue #17 - Simple keyword completion.

Version 0.0.3

  • Bug fix - Usage type always unclassified.
  • Bug fix - String highlighting didn't work while typing in some cases.
  • Bug fix - Whole function invocation is highlighted instead of name only.
  • Bug fix - Identifier while renamed doesn't accept - or .
  • Inline rename for local variables (code, comments, strings references and optionally text files usage renamed).
  • Code commenter.
  • Brace matching.
  • Word completion contributor for variable and function names (works after you've typed at least one character in fun/var name in new fun/var declaration; based on all words in current file).
  • Find usages in text files (as an option).

Version 0.0.2

  • Highlighting improvements and bug-fixes.
  • Variable reference resolution across files (scopes taken into account; no support for access modifiers).
  • Variable name completion inside of the file.
  • Function reference resolution across files (no support for access modifiers)
  • Function name completion inside of the file (still has place for improvement - completes only if shortcut used in front of ())
  • Namespace reference resolution inside of the file.
  • Navigation between modules via file location and namespace (if includes file path) in module imports.
  • Rename functionality for all references.
  • Basic find usage.

Version 0.0.1

  • Basic syntax highlighting.
  • Variable reference resolution inside of a file.