diff --git a/lkql_checker/doc/gnatcheck_rm/using_gnatcheck.rst b/lkql_checker/doc/gnatcheck_rm/using_gnatcheck.rst index 34a052f02..955823d78 100644 --- a/lkql_checker/doc/gnatcheck_rm/using_gnatcheck.rst +++ b/lkql_checker/doc/gnatcheck_rm/using_gnatcheck.rst @@ -515,6 +515,12 @@ to simplify mapping your coding standard requirements onto ... bar.ads:17:3: this is not good [My_Coding_Rule_N|Gnatcheck_Rule_N] +.. attention:: + + A custom coding rule name can be any sequence of non-whitespace characters. + Moreover, the ":" (colon) character is forbidden in those names for parsing + purposes. + .. _gnatcheck_Exit_Codes: GNATcheck Exit Codes diff --git a/lkql_checker/src/gnatcheck-diagnoses.adb b/lkql_checker/src/gnatcheck-diagnoses.adb index b1df4a959..b8af920c5 100644 --- a/lkql_checker/src/gnatcheck-diagnoses.adb +++ b/lkql_checker/src/gnatcheck-diagnoses.adb @@ -44,7 +44,7 @@ package body Gnatcheck.Diagnoses is -- Matcher for a diagnostic Match_Rule_Name : constant Pattern_Matcher := - Compile ("^""(\w+)\s*(?::\s*(.*))?""$"); + Compile ("^""([^\s:]+)\s*(?::\s*(.*))?""$"); -- Matcher for a rule name and potential arguments Match_Rule_Param : constant Pattern_Matcher :=