Skip to content

Releases: rhdunn/xquery-intellij-plugin

1.9.4

03 Aug 11:42
1.9.4
Compare
Choose a tag to compare

Bug Fixes:

  1. Fix an exception when running queries on MarkLogic 11.
  2. Fix processing file links in stack traces on IntelliJ 2023.2.
  3. Fix navigating to the rewriter endpoint implementation on IntelliJ 2023.1.
  4. Various fixes for other exceptions.

1.9.3

14 Apr 07:57
1.9.3
Compare
Choose a tag to compare

Bug Fixes:

  1. Fix an exception when trying to display the MarkLogic rewriter endpoint line marker.
  2. Fix an exception in the roxy project configuration when there aren't any associated property files.
  3. Fix hangs during the Analyze phase when switching projects.

Gradle Project Configuration:

  1. Support reading properties from gradle.properties.
  2. Fix an exception in the gradle project configuration when there aren't any associated property files.

1.9.2

24 Nov 19:39
1.9.2
Compare
Choose a tag to compare
  1. In-place rename refactoring support for variables.
  2. Support for @apply and @at in MarkLogic search option custom facet extensions within XQuery code.
  3. Update the built-in function definitions to eXist-db 5.3.
  4. Code folding for the remaining {...} constructs.
  5. Bug fixes and general improvements.

IntelliJ Integration:

  1. Add paired brace matching for Saxon context item and lambda functions.
  2. Add paired brace matching for XPath expressions.
  3. Add code commenting support for XPath.

Code Folding:

  1. Add code folding for XQuery string interpolations.
  2. Add code folding for Full Text, Updating, Scripting, and vendor extension expressions containing braces ({...}).

Syntax and Semantic Highlighting:

  1. Highlight = in XML attributes as attribute values to match IntelliJ's highlighting behaviour.
  2. Highlight direct processing instruction node (<?xml ...?>) tokens.

References and Resolving:

  1. Fix resolving elements to xmlns nodes where the namespace URI is not also bound to a prefix.

Refactoring:

  1. Support in-place rename refactoring for variables, except for private variable declarations.

XPath and XQuery:

  1. Fix parsing FTContainsExpr in the RHS of a ComparisonExpr in XPath expressions.
  2. Improve the error message when a return is used without a ForExpr or LetExpr in XPath expressions.
  3. Don't generate an error when parsing ?$ and ?($), where the VarName is missing.
  4. Improve the error message when a QName is used in a DirPIConstructor.

eXist-db:

  1. Update the built-in function definitions to eXist-db 5.3. Thanks to Juri Leino for providing
    the built-in function definitions.

MarkLogic Rewriter XML Integration:

  1. Cache the endpoints to improve the line marker performance when the data has been previously calculated.
  2. In the Endpoints tool window navigate to the module file, not the rewriter XML element that references it.

MarkLogic Search Options XML Integration:

  1. Support resolving parse/@at, start-facet/@at, and finish-facet/@at attribute values in XQuery direct
    constructors to the XQuery/MJS/SJS file they reference.
  2. Support resolving parse/@apply, start-facet/@apply, and finish-facet/@apply attribute values in XQuery
    direct constructors to the XQuery function they reference.
  3. Add line markers to functions referenced by custom facets in search options XQuery direct constructors.

1.9.1

23 Jul 15:45
1.9.1
Compare
Choose a tag to compare

Inlay Parameters:

  1. Don't display inlay parameter hints when a UnaryLookup or Lookup name matches the parameter name.
  2. Don't display inlay parameter hints when the name at the end of a SimpleMapExpr matches the parameter name.

Syntax Highlighting:

  1. Default to the XML entity reference colours for entity references in XQuery.
  2. Workaround IDEA-234709 to correctly highlight XML namespace prefices when using the Darcula theme.

XPath:

  1. Fix parsing entity references before closing string quotes, such as '&amp;'.

References and Resolve:

  1. Fix locating the function name when the function declaration contains a compatibility annotation.
  2. Fix locating the variable name when the variable declaration contains a compatibility annotation.

Code Folding:

  1. Fix detecting empty enclosed expressions that contain an XQuery comment.
  2. Fix the code folding placeholder text for some enclosed expressions.

Code Completion:

  1. Fix a crash when autocompleting in a StringLiteral from an arrow function call.

Syntax Validation:

  1. Don't warn if using an InlineFunctionExpr with parameters when targetting XQuery 3.0 or 3.1.

XRay Tests:

  1. Fix running the XRay tests on IntelliJ 2019.3 due to a missing "Console" message string.
  2. Fix various crashes when parsing XRay test result output.
  3. Fix test suites and test suite statistics for module-level errors in the HTML and XUnit XML output formats.
  4. Fix serializing XML expected/actual values in Text, HTML, and XRay XML output formats.

MarkLogic:

  1. Display the MarkLogic vendor code in query errors when no standard code is provided.

1.9.0

31 Mar 22:58
1.9.0
Compare
Choose a tag to compare
  1. XRay unit test run configurations and IntelliJ integration.
  2. XProc 1.0-3.0 syntax highlighting and validation.
  3. XPath, XQuery, and XSLT 4.0 Editor's Draft 13 January 2021 support.
  4. MarkLogic ErrorLog.txt file syntax highlighting in the editor.

XPath, XQuery, and XSLT 4.0 Editor's Draft 13 January 2021:

  1. Add the XSLT 4.0 Editor's Draft XMLSchema file.
  2. Support any ItemType on LocalUnionType and TypedMapTest.
  3. Support nesting TernaryConditionalExpr expressions.
  4. Support -> in addition to function in InlineFunctionExpr expressions,
    with optional function signatures.
  5. Support -> based ArrowExpr expressions.
  6. Support named arguments in function calls.
  7. Support RecordTest and EnumerationType item types.
  8. Support StringLiteral and VarRef for Lookup and UnaryLookup.
  9. Support WithExpr expressions.
  10. Support type in DefaultNamespaceDecl declarations in XQuery.
  11. Support item type declarations in XQuery.

XQuery:

  1. Support resolving wildcard prefixes to the namespace declaration.
  2. Fix an exception in code completion when typing in a comment after a variable reference.
  3. Show public/private icons in the file structure view.

XProc:

  1. Recognise xpl files as XProc XML files.
  2. Add the XProc 1.0 and 3.0 RNG schema file.
  3. Syntax highlighting for schema type, including p:inline value templates.

XRay Unit Tests:

  1. Add an XRay run configuration.
  2. Support running and profiling XRay unit tests.
  3. Add run actions in the line marker area.
  4. Support run actions on the context menu for files and directories.
  5. Report test status in the run console.

Semantic Highlighting:

  1. Fix highlighting xmlns namespace prefix in contexts other than XML attributes.
  2. Fix highlighting variables that do not resolve to a variable declaration or binding.
  3. Fix highlighting wildcard element and attribute names.
  4. Highlight the CompNamespaceConstructor name as a namespace prefix.
  5. Highlight KeySeparator names and RecordTest field names as map keys.
  6. Highlight PITest and CompPIConstructor names as processing instructions.
  7. Highlight KeywordArgument names as parameters.
  8. Highlight WithExpr using the same logic as DirAttribute.

Run Configuration:

  1. Support using the modules database for selected MarkLogic app-server.
  2. Filter the app-servers to the ones that match the selected database.
  3. Fix some encoding issues in handling UTF-8 output for MarkLogic.
  4. Fix reformatting the output when the option is specified in the configuration.
  5. Fix locating relative modules and includes in Saxon queries.

Debugging:

  1. Fix displaying the expression breakpoint range in the editor.

1.8.1

11 Dec 18:01
1.8.1
Compare
Choose a tag to compare
  1. Query log viewer filtering and syntax highlighting support.
  2. Support for using internal named AWS instances in query processors.
  3. Updated built-in functions for BaseX 9.4 and MarkLogic 10.0-5.
  4. Bug fixes.

XPath, XQuery, and XSLT:

  1. Better error recovery when an AxisStep is used in CatchClause or xsl:nametests.
  2. Updated the BaseX built-in functions to 9.4. Thanks to Bridger Dyson-Smith for adding these.
  3. Updated the MarkLogic built-in functions to 10.0-5.

Run Configurations:

  1. Support query processors for servers running on internal AWS instances.
  2. Fix returning all results from an eXist-db query when there are more than 10 results.
  3. Support eXist-db error messages that return html pages.
  4. Support running MarkLogic queries with lower privileges when the module root matches the server configuration.
  5. Preserve the database and server settings when the query processor fails with an exception.
  6. Use the selected processor from the manage query processors dialog in the run configuration when pressing OK.

Code Completion:

  1. Fix completing AtomicOrUnionType names when a prefix is specified, and the
    default type namespace is the XMLSchema namespace.

Inspections:

  1. Don't crash when the conformance element is empty (e.g. it is on a parser error).

Query Log Viewer:

  1. Support colouring MarkLogic ErrorLog.txt, BaseX, and eXist-db log files based on log level.
  2. Support navigating to files referenced in MarkLogic ErrorLog.txt exceptions.
  3. Support filtering logs by the log level.
  4. Remember the server, log file, and log level selection between sessions.
  5. Fix displaying the log viewer when opening a new project into the IDE window.
  6. Don't clear the log viewer when an error is from a previously selected query processor.
  7. Update the server list when the query processors are modified.

1.8.0

12 Nov 08:18
1.8.0
Compare
Choose a tag to compare
  1. Support parsing XSLT schema types such as xsl:sequence-type in @as
    attributes, attribute (XSLT 1.0+) and text (XSLT 3.0+) value templates.
  2. Full expression breakpoint support for debugging MarkLogic queries.
  3. Support language injections on various elements, including string literals.
  4. Support XML tag tree highlighting in the breadcrumb bar and editor.
  5. Auto-complete support for built-in context variables (err: in
    CatchClause, and MarkLogic cts: variables).
  6. Support inlay parameters and parameter hints for named function reference
    based expressions like f#1(2).

XSLT:

  1. Support parsing XSLT 1.0, 2.0, and 3.0 schema types.
  2. Support XSLT 3.0 text value templates via the expand-text attribute.
  3. Set the XSLT file icon when the IntelliJ XPath plugin is not enabled.

XPath and XQuery:

  1. Further reduce memory usage by removing additional nodes from the PSI tree.
  2. Auto-complete support for CatchClause variables.

IntelliJ Integration:

  1. Support language injections on StringLiteral, DirAttributeValue,
    DirElemContent/DirTextConstructor, CDataSection, and Pragma
    elements.
  2. Support language=Language injection marker comments.
  3. Use the tag tree highlight colours for XML names in the breadcrumb bar
    and editor.

Inlay Parameters and Parameter Hints:

  1. Don't add inlay parameter hints when element and attribute node names
    match the parameter name.
  2. Support expressions like f#1(2), (f#1(2)), and 1 => (f#2(2)).

Saxon:

  1. Include ClauseInfo objects in the flat profile table results.

MarkLogic:

  1. Support attaching breakpoints to all expressions in the MarkLogic
    debugger.
  2. Better report SEC-PRIV errors when adding a query processor.
  3. Fix the URI of the xqterr and err namespaces.
  4. Auto-complete support for cts:element-walk, cts:entity-highlight,
    cts:highlight, and cts:walk built-in variables.

1.7.2

31 Aug 12:36
1.7.2
Compare
Choose a tag to compare

XML and XSLT:

  1. Fix an IntelliJ issue displaying XML elements with name or id attributes in
    the file structure dialog. This fixes IDEA-247202.
  2. Fix saxon:type-alias support for the type attribute.
  3. Use the XSLT directive highlighting for vendor extensions.
  4. Set icons for XSLT function, parameter, variable, and item type elements.

IntelliJ Integration:

  1. Don't display the file path in query body elements in the navbar.
  2. Check that a path in a profile can be navigated to before navigating to it.
  3. Fix displaying the endpoint path in the endpoints pane.

1.7.1

31 Aug 12:35
1.7.1
Compare
Choose a tag to compare
  1. Fix displaying the endpoints gutter icon when using IntelliJ Community
    Edition.
  2. Fix displaying the endpoints list when clicking on the gutter icon.

XSLT:

  1. Register the XSLT 2.0 and XSLT 3.0 schema file URIs with IntelliJ.
  2. Auto-complete support for EXSL, MarkLogic, and Saxon XSLT extension elements.
  3. Fix validating and completing XSLT 3.0 variable elements. This is a
    workaround for IDEA-233695.

1.7

10 Jul 15:35
1.7
Compare
Choose a tag to compare
1.7
  1. Display MarkLogic rewriter and EXQuery RESTXQ endpoints in IntelliJ
    Ultimate's Endpoint tool window.
  2. Support for debugging MarkLogic XQuery-based queries, with experimental
    expression breakpoint support.
  3. Improved eXist-db and FusionDB support.
  4. Support for MarkLogic Roxy and ml-gradle project source root detection.
  5. Add icons to the query processors and document sources.

MarkLogic:

  1. Support stopping MarkLogic queries.
  2. Support registering MarkLogic schema files.
  3. Support for debugging MarkLogic XQuery-based queries.

eXist-db / FusionDB:

  1. Detect FusionDB so it is correctly displayed in the query processor lists.
  2. Display the log files in the Query Log panel.
  3. Fixed calling APIs that require specific permissions that the query
    processor user has.
  4. Fix displaying node() and function(*) types in the query results view.

BaseX:

  1. Fix validating beta releases in the query processor UI.

Run Configurations:

  1. Fixed scrolling to an item in the results pane when the detected filetype
    is plain text.
  2. Fixed a null pointer exception when processing MarkLogic syntax error
    responses.
  3. Fixed navigating to module paths in query errors.
  4. Add icons to the query processors.

Module Imports:

  1. Support resolving MarkLogic imports from a configured database install path.
  2. Support resolving imports from the Roxy xquery.dir property path.
  3. Support resolving imports from the ml-gradle mlModulePaths property paths.

Endpoints:

  1. Support autocompleting multi-valued match-method elements in MarkLogic rewriter files.
  2. Support displaying MarkLogic rewriter files in the Endpoints tool window.
  3. Support displaying EXQuery RESTXQ endpoints in the Endpoints tool window.

Documentation:

  1. Fix the return type in the MarkLogic documentation.
  2. Add icons to the documentation sources.

Code Completion:

  1. Include declared variables without a namespace prefix in the completion list.

Inlay Parameter Hints:

  1. Don't display a hint when the variable name matches the parameter name.
  2. Don't display a hint when the path step element/attribute name matches the parameter name.
  3. Don't display a hint when the forward/reverse step name matches the parameter name.