From 4262e27861eef1aa7ed87fd8bcac898e6b679bff Mon Sep 17 00:00:00 2001 From: Michal Bali <38988507+michalbali256@users.noreply.github.com> Date: Wed, 3 Nov 2021 11:43:35 +0100 Subject: [PATCH] fix: Fix HLASM Listing highlighting on lines with trimmed whitespace (#199) fix: Fix HLASM Listing highlighting on lines with trimmed whitespace fix: debugger::next race condition fix Co-authored-by: slavek-kucera <53339291+slavek-kucera@users.noreply.github.com> --- clients/vscode-hlasmplugin/CHANGELOG.md | 2 ++ .../syntaxes/hlasmListing.tmLanguage.json | 8 ++++---- parser_library/src/debugging/debugger.cpp | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/clients/vscode-hlasmplugin/CHANGELOG.md b/clients/vscode-hlasmplugin/CHANGELOG.md index 5af90e770..58831ea6d 100644 --- a/clients/vscode-hlasmplugin/CHANGELOG.md +++ b/clients/vscode-hlasmplugin/CHANGELOG.md @@ -28,6 +28,8 @@ - Infinite loop during lookahead processing when model statement is located in copybook - DOT operator in string concatenation is optional - AINSERT operand length validation +- HLASM Listing highligting of lines with trimmed whitespace +- Macro tracer: step over sometimes stops inside a macro or a copy file ## [0.14.0](https://github.com/eclipse/che-che4z-lsp-for-hlasm/compare/0.13.0...0.14.0) (2021-08-18) diff --git a/clients/vscode-hlasmplugin/syntaxes/hlasmListing.tmLanguage.json b/clients/vscode-hlasmplugin/syntaxes/hlasmListing.tmLanguage.json index fc30ffdb3..5b78f69a6 100644 --- a/clients/vscode-hlasmplugin/syntaxes/hlasmListing.tmLanguage.json +++ b/clients/vscode-hlasmplugin/syntaxes/hlasmListing.tmLanguage.json @@ -26,7 +26,7 @@ ], "repository": { "listing_syntax":{ - "match": "^(.{7})(.{9})(.{22})(\\d\\d|.\\d|.[+]|.{2})(.{71,72}).*$", + "match": "^(.{7})(.{9})(.{22})(\\d\\d|.\\d|.[+]|.{2})(.{1,72})", "captures": { @@ -35,7 +35,7 @@ } }, "listing_syntax_long":{ - "match": "^(.{9})(.{9})(.{29})(\\d\\d|.\\d|.[+]|.{2})(.{71,72}).*$", + "match": "^(.{9})(.{9})(.{29})(\\d\\d|.\\d|.[+]|.{2})(.{1,72})", "captures": { "2":{"patterns": [ {"include": "#param_syntax"}]}, @@ -43,7 +43,7 @@ } }, "listing_syntax_endevor":{ - "match": "^(.{8})(.{9})(.{22})(\\d\\d|.\\d|.[+]|.{2})(.{71,72}).*$", + "match": "^(.{8})(.{9})(.{22})(\\d\\d|.\\d|.[+]|.{2})(.{1,72})", "captures": { "2":{"patterns": [ {"include": "#param_syntax"}]}, @@ -51,7 +51,7 @@ } }, "listing_syntax_endevor_long":{ - "match": "^(.{10})(.{9})(.{29})(\\d\\d|.\\d|.[+]|.{2})(.{71,72}).*$", + "match": "^(.{10})(.{9})(.{29})(\\d\\d|.\\d|.[+]|.{2})(.{1,72})", "captures": { "2":{"patterns": [ {"include": "#param_syntax"}]}, diff --git a/parser_library/src/debugging/debugger.cpp b/parser_library/src/debugging/debugger.cpp index d4a483fc1..bfb027b3c 100644 --- a/parser_library/src/debugging/debugger.cpp +++ b/parser_library/src/debugging/debugger.cpp @@ -204,6 +204,7 @@ class debugger::impl final : public processing::statement_analyzer stop_on_next_stmt_ = false; step_over_ = false; next_stmt_range_ = stmt_range; + step_over_depth_ = ctx_->processing_stack().size(); continue_ = false; if (event_) @@ -221,7 +222,6 @@ class debugger::impl final : public processing::statement_analyzer { std::lock_guard lck(control_mtx); step_over_ = true; - step_over_depth_ = ctx_->processing_stack().size(); continue_ = true; } con_var.notify_all();