Releases: MarkusAmshove/natls
Releases · MarkusAmshove/natls
v0.5
What's Changed
🚀 Language Server
- Honor dirty editor state when searching for tokens (#230) @MarkusAmshove
- Preserve array qualification on OCC quickfix (#229) @MarkusAmshove
- Introduce remove all unused symbols (#228) @MarkusAmshove
- Introduce fix all operators quickfix (#227) @MarkusAmshove
- Allow renames from assignment targets (#223) @MarkusAmshove
- Always trigger reparse on file open (#222) @MarkusAmshove
- Insert PERFORM in subroutine completion (#221) @MarkusAmshove
- Add array access on variable completion (#220) @MarkusAmshove
- Provide module documentation if module isn't fully parsed (#216) @MarkusAmshove
- Add refactoring to convert from ASSIGN/COMPUTE to assignment (#215) @MarkusAmshove
- Fix typo in documentation of *TRANSLATE (#210) @MarkusAmshove
🔎 Parser
- Validate data type of DECIDE ON branches (#233) @MarkusAmshove
- Check for NONE branch on DECIDEs (#225) @MarkusAmshove
- Check statements for empty body (#224) @MarkusAmshove
- Skip over SQL statements (#199) @Claes65
- Parse LIMIT statement (#217) @MarkusAmshove
- Fix keyword recognition when ending with comment (#214) @MarkusAmshove
- Parse PERFORM BREAK (#213) @MarkusAmshove
- Fix allowed syntax for IF SELECTION NOT UNIQUE (#211) @Claes65
- Fix first IExtendedRelationalCriteriaPartNode not having subnodes (#212) @MarkusAmshove
🪲 Bugfixes
- Add parent node to decide on branches (#226) @MarkusAmshove
- Accept all operand types on EXPAND, RESIZE and REDUCE where possible (#219) @Claes65
- Fix keyword recognition when ending with comment (#214) @MarkusAmshove
- Fix allowed syntax for IF SELECTION NOT UNIQUE (#211) @Claes65
- Fix first IExtendedRelationalCriteriaPartNode not having subnodes (#212) @MarkusAmshove
🧰 Maintenance
- Actually assert that only one statement is parsed (#232) @MarkusAmshove
v0.4
🚀 Language Server
- Fix go to definition and find references on variables in statements (#178) @MarkusAmshove
- Add Progress notification to findReferences (#177) @MarkusAmshove
- Do not suggest extract constant refactoring in DEFINE DATA (#175) @MarkusAmshove
- Support find references to data area variables when the dependant modules didn't parse yet (#176) @MarkusAmshove
- Add
referableFileExists
endpoint (#173) @MarkusAmshove - Add ability to extract constant variables from literals (#167) @MarkusAmshove
- Fix formatting of usings in snippet documentation (#166) @MarkusAmshove
- Fix comparison operator in NatUnit Testcase snippet (#165) @MarkusAmshove
- Add hover for ATTRIBUTES and TYPE on DEFINE WORK FILE (#163) @MarkusAmshove
- Implement refactorings for COMPRESS flags (#150) @MarkusAmshove
- Add more statement snippets (#147) @MarkusAmshove
- Find INCLUDE positions for module references to copycodes (#143) @MarkusAmshove
- Include nested subroutines in documentSymbol (#141) @MarkusAmshove
🐑 Analyzer
- Delete diagnostics.csv if it already exists (#194) @MarkusAmshove
- Skip DDMs in CLI analysis (#185) @MarkusAmshove
- Refine analysis of unused REDEFINE member (#182) @MarkusAmshove
- Add CLI Subcommand to apply module filters according to git status (#170) @MarkusAmshove
- Honor original position of diagnostics for getting editorconfig settings (#164) @MarkusAmshove
- Add diagnostic for COMPRESS without LEAVING NO SPACE where the target is used as work file path (#158) @MarkusAmshove
- Add analyzer to prevent multiple work file attributes of the same type (#156) @MarkusAmshove
- Analyze COMPRESS for CSV without ALL delimiters (#153) @MarkusAmshove
- Add floating number type to compress numeric analyzer (#151) @MarkusAmshove
- Add analyzer for COMPRESS with floating numbers but without NUMERIC (#149) @MarkusAmshove
- Make boolean operator analyzer configurable through .editorconfig (#142) @MarkusAmshove
- Added filestatus sink (#118) @acnsalb
- Make analyzer configurable via editorconfig (#94) @MarkusAmshove
🔎 Parser
- Add checks for array access (#205) @MarkusAmshove
- Parse EXPAND and REDUCE (#204) @MarkusAmshove
- Fix new line advancement for multiline string concatenation (#203) @MarkusAmshove
- Parse BACKOUT TRANSACTION, CLOSE WORK, CLOSE PC, WRITE WORK, SET WINDOW, TERMINATE (#200) @MarkusAmshove
- Allow PROGRAM as valid Identifier (#196) @Claes65
- Check module type of referenced modules (#197) @MarkusAmshove
- Skip over SELECT statements (#198) @Claes65
- Make raising of unexpectedToken safe against EOL (#192) @MarkusAmshove
- Refine parsing of SET KEY (#189) @Claes65
- Tokenize Dynamic Attributes literally (#187) @MarkusAmshove
- Check string length for initialized variables (#174) @MarkusAmshove
- Parse *WINDOW-LS (#181) @MarkusAmshove
- Fix more parser errors when parsing conditional expressions (#180) @MarkusAmshove
- Disallow INIT and CONST in PDAs (#179) @MarkusAmshove
- Speed up indexing by moving programming mode detection out (#172) @MarkusAmshove
- Parse statements of the ASSIGN family (#161) @MarkusAmshove
- Parse DEFINE WORK FILE (#155) @MarkusAmshove
- Add system variable *TIME (#154) @MarkusAmshove
- Parse COMPRESS statement (#148) @MarkusAmshove
- Add support for IF SPECIFIED (#140) @MarkusAmshove
- Add underscore and section symbol as syntax kinds (#139) @MarkusAmshove
- Add support for IF MODIFIED (#135) @MarkusAmshove
- Added colorAttribute for string literals (#132) @Claes65
- Added some variants of NOT conditions (#123) @Claes65
- Make Leser context sensitive for comments (#130) @Claes65
- Improve indexing time (#124) @MarkusAmshove
- Add support for GLOBAL USING WITH BLOCK (#109) @Claes65
- Allow DEFINE PRINTER to take any string after OUTPUT (#120) @Claes65
- Added IF BREAK and IF SELECTION special IF's (#117) @Claes65
- Full support for MULTI-FETCH (#119) @Claes65
- Add Support for FRAC system function (#116) @Claes65
- Add system vars *ERROR-TA, *ERROR, *TIME-OUT, *LENGTH, *SERVER-TYPE (#115) @Claes65
- Make calculation of PACKED fields more accurate (#108) @Claes65
- Add support for unique descriptors (#103) @Claes65
- Add support for system vars *CPU-TIME *ETID *INIT-PROGRAM *LBOUND *UBOUND *DATU *DAT4U *DATV *DATVS *DATJ (#104) @Claes65
- Parse Natural Source Header (#102) @Claes65
- Support Operator ^= (#100) @Claes65
🪲 Bugfixes
- Fix new line advancement for multiline string concatenation (#203) @MarkusAmshove
- Allow PROGRAM as valid Identifier (#196) @Claes65
- Make raising of unexpectedToken safe against EOL (#192) @MarkusAmshove
- Tokenize Dynamic Attributes literally (#187) @MarkusAmshove
- Fix more parser errors when parsing conditional expressions (#180) @MarkusAmshove
- Fix go to definition and find references on variables in statements (#178) @MarkusAmshove
- Fix formatting of usings in snippet documentation (#166) @MarkusAmshove
- Fix comparison operator in NatUnit Testcase snippet (#165) @MarkusAmshove
- Honor original position of diagnostics for getting editorconfig settings (#164) @MarkusAmshove
- Fix incoming references to functions only called without parameter not being recognized while indexing (#159) @MarkusAmshove
- Fix ordering of NUMERIC and FULL for COMPRESS refactoring (#152) @MarkusAmshove
- Fix lexing of empty AD filler char (#138) @MarkusAmshove
- Fix unresolved reference for function names as variable within functions (#137) @MarkusAmshove
- Allow DECIDE FOR to take any condition in WHEN branches (#134) @MarkusAmshove
- Allow modules and DDMs to have the same name (#133) @MarkusAmshove
- Remove system variables flagged as keywords (#129) @Claes65
- Fix condition preventing modules from being indexed (#110) @Claes65
- Fix ^= not being recognized in conditions (#111) @Claes65
🧰 Maintenance
5 changes
- Clean up some code (#122) @Claes65
- Add parse explorer tool (#131) @MarkusAmshove
- Check formatting as separate job (#106) @MarkusAmshove
- Archive test results on failure (#105) @MarkusAmshove
- Add formatting via Gradle with spotless (#99) @MarkusAmshove
v0.3
What's Changed
🚀 Language Server
- Add INIT and CONST to hover (#85) @MarkusAmshove
- Implement textDocument/codelens (#74) @MarkusAmshove
🐑 Analyzer
- Fix the line number printed as location for duplicated test names (#87) @MarkusAmshove
- Report keywords used as identifiers only on declaration site (#86) @MarkusAmshove
- Utilize all CPU cores in natlint CLI (#58) @MarkusAmshove
🔎 Parser
- Lex system variables and functions case-insensitive (#89) @MarkusAmshove
- Parse system function *TIMD (#88) @MarkusAmshove
- Allow substring to omit parameter (#81) @MarkusAmshove
- Make END-ALL end all open statements with blocks (#79) @MarkusAmshove
- Allow *PAGE-NUMBER to take a printer reference (#77) @MarkusAmshove
- Allow builtin printer output names (#78) @MarkusAmshove
v0.2
What's Changed
🚀 Language Server
- Implement textDocument/signatureHelp endpoint (#71) @MarkusAmshove
- Return DocumentSymbol for textDocument/documentSymbol (#56) @MarkusAmshove
🔎 Parser
- Parse RESIZE ARRAY and RESIZE DYNAMIC (#73) @MarkusAmshove
v0.1
What's Changed
- Parse DataDefinitionModules by @MarkusAmshove in #1
- Add lexing of missing lexemes by @MarkusAmshove in #5
- Upgrade Java to 17 by @MarkusAmshove in #7
- Add Lexer error handling api by @MarkusAmshove in #9
- Language Server MVP by @MarkusAmshove in #11
- Implement parser for DEFINE DATA by @MarkusAmshove in #12
- Handle module references in LSP by @MarkusAmshove in #43
- Implement statement parser mvp by @MarkusAmshove in #45
- Implement linter MVP by @MarkusAmshove in #46
- Implement CodeAction MVP by @MarkusAmshove in #47
- Rename symbols MVP by @MarkusAmshove in #48
- Revisit reserved keywords and kcheck keywords by @MarkusAmshove in #53
- Implement snippet engine by @MarkusAmshove in #51
- Add usings for unresolved references by @MarkusAmshove in #54
- Extract hovering into HoverProvider by @MarkusAmshove in #49
- Create minimal PoC for SonarQube by @MarkusAmshove in #57
- Support textDocument/inlayHint request by @MarkusAmshove in #55
- Parse logical conditions by @MarkusAmshove in #59
Full Changelog: https://github.com/MarkusAmshove/natls/commits/v0.1