Releases: rhdunn/xquery-intellij-plugin
1.9.4
1.9.3
Bug Fixes:
- Fix an exception when trying to display the MarkLogic rewriter endpoint line marker.
- Fix an exception in the roxy project configuration when there aren't any associated property files.
- Fix hangs during the Analyze phase when switching projects.
Gradle Project Configuration:
- Support reading properties from
gradle.properties
. - Fix an exception in the gradle project configuration when there aren't any associated property files.
1.9.2
- In-place rename refactoring support for variables.
- Support for
@apply
and@at
in MarkLogic search option custom facet extensions within XQuery code. - Update the built-in function definitions to eXist-db 5.3.
- Code folding for the remaining
{...}
constructs. - Bug fixes and general improvements.
IntelliJ Integration:
- Add paired brace matching for Saxon context item and lambda functions.
- Add paired brace matching for XPath expressions.
- Add code commenting support for XPath.
Code Folding:
- Add code folding for XQuery string interpolations.
- Add code folding for Full Text, Updating, Scripting, and vendor extension expressions containing braces (
{...}
).
Syntax and Semantic Highlighting:
- Highlight
=
in XML attributes as attribute values to match IntelliJ's highlighting behaviour. - Highlight direct processing instruction node (
<?xml ...?>
) tokens.
References and Resolving:
- Fix resolving elements to
xmlns
nodes where the namespace URI is not also bound to a prefix.
Refactoring:
- Support in-place rename refactoring for variables, except for private variable declarations.
XPath and XQuery:
- Fix parsing
FTContainsExpr
in the RHS of aComparisonExpr
in XPath expressions. - Improve the error message when a
return
is used without aForExpr
orLetExpr
in XPath expressions. - Don't generate an error when parsing
?$
and?($)
, where theVarName
is missing. - Improve the error message when a
QName
is used in aDirPIConstructor
.
eXist-db:
- 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:
- Cache the endpoints to improve the line marker performance when the data has been previously calculated.
- In the Endpoints tool window navigate to the module file, not the rewriter XML element that references it.
MarkLogic Search Options XML Integration:
- Support resolving
parse/@at
,start-facet/@at
, andfinish-facet/@at
attribute values in XQuery direct
constructors to the XQuery/MJS/SJS file they reference. - Support resolving
parse/@apply
,start-facet/@apply
, andfinish-facet/@apply
attribute values in XQuery
direct constructors to the XQuery function they reference. - Add line markers to functions referenced by custom facets in search options XQuery direct constructors.
1.9.1
Inlay Parameters:
- Don't display inlay parameter hints when a
UnaryLookup
orLookup
name matches the parameter name. - Don't display inlay parameter hints when the name at the end of a
SimpleMapExpr
matches the parameter name.
Syntax Highlighting:
- Default to the XML entity reference colours for entity references in XQuery.
- Workaround IDEA-234709 to correctly highlight XML namespace prefices when using the Darcula theme.
XPath:
- Fix parsing entity references before closing string quotes, such as
'&'
.
References and Resolve:
- Fix locating the function name when the function declaration contains a compatibility annotation.
- Fix locating the variable name when the variable declaration contains a compatibility annotation.
Code Folding:
- Fix detecting empty enclosed expressions that contain an XQuery comment.
- Fix the code folding placeholder text for some enclosed expressions.
Code Completion:
- Fix a crash when autocompleting in a
StringLiteral
from an arrow function call.
Syntax Validation:
- Don't warn if using an
InlineFunctionExpr
with parameters when targetting XQuery 3.0 or 3.1.
XRay Tests:
- Fix running the XRay tests on IntelliJ 2019.3 due to a missing "Console" message string.
- Fix various crashes when parsing XRay test result output.
- Fix test suites and test suite statistics for module-level errors in the HTML and XUnit XML output formats.
- Fix serializing XML expected/actual values in Text, HTML, and XRay XML output formats.
MarkLogic:
- Display the MarkLogic vendor code in query errors when no standard code is provided.
1.9.0
- XRay unit test run configurations and IntelliJ integration.
- XProc 1.0-3.0 syntax highlighting and validation.
- XPath, XQuery, and XSLT 4.0 Editor's Draft 13 January 2021 support.
- MarkLogic ErrorLog.txt file syntax highlighting in the editor.
XPath, XQuery, and XSLT 4.0 Editor's Draft 13 January 2021:
- Add the XSLT 4.0 Editor's Draft XMLSchema file.
- Support any
ItemType
onLocalUnionType
andTypedMapTest
. - Support nesting
TernaryConditionalExpr
expressions. - Support
->
in addition tofunction
inInlineFunctionExpr
expressions,
with optional function signatures. - Support
->
basedArrowExpr
expressions. - Support named arguments in function calls.
- Support
RecordTest
andEnumerationType
item types. - Support
StringLiteral
andVarRef
forLookup
andUnaryLookup
. - Support
WithExpr
expressions. - Support
type
inDefaultNamespaceDecl
declarations in XQuery. - Support item type declarations in XQuery.
XQuery:
- Support resolving wildcard prefixes to the namespace declaration.
- Fix an exception in code completion when typing in a comment after a variable reference.
- Show public/private icons in the file structure view.
XProc:
- Recognise xpl files as XProc XML files.
- Add the XProc 1.0 and 3.0 RNG schema file.
- Syntax highlighting for schema type, including
p:inline
value templates.
XRay Unit Tests:
- Add an XRay run configuration.
- Support running and profiling XRay unit tests.
- Add run actions in the line marker area.
- Support run actions on the context menu for files and directories.
- Report test status in the run console.
Semantic Highlighting:
- Fix highlighting
xmlns
namespace prefix in contexts other than XML attributes. - Fix highlighting variables that do not resolve to a variable declaration or binding.
- Fix highlighting wildcard element and attribute names.
- Highlight the
CompNamespaceConstructor
name as a namespace prefix. - Highlight
KeySeparator
names andRecordTest
field names as map keys. - Highlight
PITest
andCompPIConstructor
names as processing instructions. - Highlight
KeywordArgument
names as parameters. - Highlight
WithExpr
using the same logic asDirAttribute
.
Run Configuration:
- Support using the modules database for selected MarkLogic app-server.
- Filter the app-servers to the ones that match the selected database.
- Fix some encoding issues in handling UTF-8 output for MarkLogic.
- Fix reformatting the output when the option is specified in the configuration.
- Fix locating relative modules and includes in Saxon queries.
Debugging:
- Fix displaying the expression breakpoint range in the editor.
1.8.1
- Query log viewer filtering and syntax highlighting support.
- Support for using internal named AWS instances in query processors.
- Updated built-in functions for BaseX 9.4 and MarkLogic 10.0-5.
- Bug fixes.
XPath, XQuery, and XSLT:
- Better error recovery when an
AxisStep
is used inCatchClause
orxsl:nametests
. - Updated the BaseX built-in functions to 9.4. Thanks to Bridger Dyson-Smith for adding these.
- Updated the MarkLogic built-in functions to 10.0-5.
Run Configurations:
- Support query processors for servers running on internal AWS instances.
- Fix returning all results from an eXist-db query when there are more than 10 results.
- Support eXist-db error messages that return html pages.
- Support running MarkLogic queries with lower privileges when the module root matches the server configuration.
- Preserve the database and server settings when the query processor fails with an exception.
- Use the selected processor from the manage query processors dialog in the run configuration when pressing OK.
Code Completion:
- Fix completing
AtomicOrUnionType
names when a prefix is specified, and the
default type namespace is the XMLSchema namespace.
Inspections:
- Don't crash when the conformance element is empty (e.g. it is on a parser error).
Query Log Viewer:
- Support colouring MarkLogic ErrorLog.txt, BaseX, and eXist-db log files based on log level.
- Support navigating to files referenced in MarkLogic ErrorLog.txt exceptions.
- Support filtering logs by the log level.
- Remember the server, log file, and log level selection between sessions.
- Fix displaying the log viewer when opening a new project into the IDE window.
- Don't clear the log viewer when an error is from a previously selected query processor.
- Update the server list when the query processors are modified.
1.8.0
- Support parsing XSLT schema types such as
xsl:sequence-type
in@as
attributes, attribute (XSLT 1.0+) and text (XSLT 3.0+) value templates. - Full expression breakpoint support for debugging MarkLogic queries.
- Support language injections on various elements, including string literals.
- Support XML tag tree highlighting in the breadcrumb bar and editor.
- Auto-complete support for built-in context variables (
err:
in
CatchClause
, and MarkLogiccts:
variables). - Support inlay parameters and parameter hints for named function reference
based expressions likef#1(2)
.
XSLT:
- Support parsing XSLT 1.0, 2.0, and 3.0 schema types.
- Support XSLT 3.0 text value templates via the
expand-text
attribute. - Set the XSLT file icon when the IntelliJ XPath plugin is not enabled.
XPath and XQuery:
- Further reduce memory usage by removing additional nodes from the PSI tree.
- Auto-complete support for
CatchClause
variables.
IntelliJ Integration:
- Support language injections on
StringLiteral
,DirAttributeValue
,
DirElemContent
/DirTextConstructor
,CDataSection
, andPragma
elements. - Support
language=Language
injection marker comments. - Use the tag tree highlight colours for XML names in the breadcrumb bar
and editor.
Inlay Parameters and Parameter Hints:
- Don't add inlay parameter hints when element and attribute node names
match the parameter name. - Support expressions like
f#1(2)
,(f#1(2))
, and1 => (f#2(2))
.
Saxon:
- Include ClauseInfo objects in the flat profile table results.
MarkLogic:
- Support attaching breakpoints to all expressions in the MarkLogic
debugger. - Better report
SEC-PRIV
errors when adding a query processor. - Fix the URI of the
xqterr
anderr
namespaces. - Auto-complete support for
cts:element-walk
,cts:entity-highlight
,
cts:highlight
, andcts:walk
built-in variables.
1.7.2
XML and XSLT:
- Fix an IntelliJ issue displaying XML elements with name or id attributes in
the file structure dialog. This fixes IDEA-247202. - Fix
saxon:type-alias
support for thetype
attribute. - Use the XSLT directive highlighting for vendor extensions.
- Set icons for XSLT function, parameter, variable, and item type elements.
IntelliJ Integration:
- Don't display the file path in query body elements in the navbar.
- Check that a path in a profile can be navigated to before navigating to it.
- Fix displaying the endpoint path in the endpoints pane.
1.7.1
- Fix displaying the endpoints gutter icon when using IntelliJ Community
Edition. - Fix displaying the endpoints list when clicking on the gutter icon.
XSLT:
- Register the XSLT 2.0 and XSLT 3.0 schema file URIs with IntelliJ.
- Auto-complete support for EXSL, MarkLogic, and Saxon XSLT extension elements.
- Fix validating and completing XSLT 3.0 variable elements. This is a
workaround for IDEA-233695.
1.7
- Display MarkLogic rewriter and EXQuery RESTXQ endpoints in IntelliJ
Ultimate's Endpoint tool window. - Support for debugging MarkLogic XQuery-based queries, with experimental
expression breakpoint support. - Improved eXist-db and FusionDB support.
- Support for MarkLogic Roxy and ml-gradle project source root detection.
- Add icons to the query processors and document sources.
MarkLogic:
- Support stopping MarkLogic queries.
- Support registering MarkLogic schema files.
- Support for debugging MarkLogic XQuery-based queries.
eXist-db / FusionDB:
- Detect FusionDB so it is correctly displayed in the query processor lists.
- Display the log files in the Query Log panel.
- Fixed calling APIs that require specific permissions that the query
processor user has. - Fix displaying
node()
andfunction(*)
types in the query results view.
BaseX:
- Fix validating beta releases in the query processor UI.
Run Configurations:
- Fixed scrolling to an item in the results pane when the detected filetype
is plain text. - Fixed a null pointer exception when processing MarkLogic syntax error
responses. - Fixed navigating to module paths in query errors.
- Add icons to the query processors.
Module Imports:
- Support resolving MarkLogic imports from a configured database install path.
- Support resolving imports from the Roxy
xquery.dir
property path. - Support resolving imports from the ml-gradle
mlModulePaths
property paths.
Endpoints:
- Support autocompleting multi-valued
match-method
elements in MarkLogic rewriter files. - Support displaying MarkLogic rewriter files in the Endpoints tool window.
- Support displaying EXQuery RESTXQ endpoints in the Endpoints tool window.
Documentation:
- Fix the return type in the MarkLogic documentation.
- Add icons to the documentation sources.
Code Completion:
- Include declared variables without a namespace prefix in the completion list.
Inlay Parameter Hints:
- Don't display a hint when the variable name matches the parameter name.
- Don't display a hint when the path step element/attribute name matches the parameter name.
- Don't display a hint when the forward/reverse step name matches the parameter name.