nibags created this revision.
Restricted Application added projects: Kate, Frameworks.
Restricted Application added subscribers: kde-frameworks-devel, kwrite-devel.
nibags requested review of this revision.

REVISION SUMMARY
  I have updated and checked the syntax highlighting of AppArmor with various 
improvements.
  
  Changes in AppArmor:
  
  - **AppArmor 2.13**: adds "if exists" in Include rules. Ex: `#include if 
exists <path>`. Previously, the text after "include" was highlighted as 
"Error", that is corrected.
  - Fix: allow spaces in relative paths, in Include rules.
  - Fix escape characters: add decimals (`\dNNN`) and only valid octales are 
highlighted (the maximum value is `\400`). Any character is also highlighted as 
escape (literal characters). Before, only special characters are highlighted.
  - Improves the detection of paths that start with a variable. For example, 
when writing a variable and then a non-ASCII character, it is highlighted as 
path (Ex: `@{VAR}ñpath*`).
  - Improve variable assignment lines:
    - Add line continuation escape.
    - Allow assignment (`=` or `+=`) in a new line.
    - Removes unnecessary rules in `_variable_assignment_line_content` context. 
Now the entire line is highlighted as path.
  - Improve the highlighting of Hats/Sub-profiles (`name//HAT`). Add hats in 
quoted paths and transition profile names (before it was only highlighted in 
paths). The itemData "SubProfile" changes to "SubProfile/Hat".
  - Improve comments: underlines URLs and e-mails.
  - Add extensions `snap.*`, `snap-update-ns.*` & `snap-confine.*` (these are 
the prefixes of the AppArmor profiles for the Snap packages. Some are located 
in "/var/lib/snapd/apparmor").
  - Add some filesystems, new abstractions and "xattrs" flag (keywords).
  - Add paths that start with namespaces: `:namespace:/path`.
  - Fixes globbing brackets in quoted text. Now the bracket content allows 
spaces and line breaks.
  - Fix the escape of "/" in profile name and transition profile name (before, 
it is highlighted as path).
  - Simplifies the closing of rules (comma of end of rules).
  - The code to detect variables & booleans is simplified.
  - Fix booleans: true & false keywords are insensitive; booleans will not be 
highlighted within rules.
  - The operators "in" & "to" are put in a different context 
(`_operators_keywords`). Now these are only highlighted within the 
AppArmor-rules.
  - Removes unnecessary RegExpr rules in the path detection. Now only the "/" 
character marks the beginning of a path.
  - The special character "^" is only highlighted at the beginning of the 
square bracket. Ex: `[^ ...]`
  - Improves the highlighting of numerical units in rlimit rules (a word 
boundary is added at the beginning if there is no number before).
  - Unnecessary attributes are deleted in `ItemData`'s (Ex: underline=0, 
italic=0)
  - Some itemData have bad names ("Globbing Char 1", "Globbing Char 2", 
"Globbing Char 3"), so these change their name.
  - Globbing brackets change in style, from "dsSpecialString" to 
"dsVerbatimString", since in the "Normal" scheme the red color is more discreet 
than the orange color.
  - Removes unnecessary `insensitive` attributes in some rules.
  
  In the file I also made some minor modifications to order the code and it is 
less chaotic, since the file is very large. 
  I have tested the file enough and I can say that it works well.
  
  Any inconvenience (such as adding extensions) do not hesitate to notify!

REPOSITORY
  R216 Syntax Highlighting

BRANCH
  update-apparmor

REVISION DETAIL
  https://phabricator.kde.org/D14526

AFFECTED FILES
  autotests/folding/usr.bin.apparmor-profile-test.fold
  autotests/html/usr.bin.apparmor-profile-test.html
  autotests/input/usr.bin.apparmor-profile-test
  autotests/reference/usr.bin.apparmor-profile-test.ref
  data/syntax/apparmor.xml

To: nibags
Cc: kwrite-devel, kde-frameworks-devel, michaelh, kevinapavew, ngraham, bruns, 
demsking, cullmann, sars, dhaumann

Reply via email to