PeterCJ 4f295de864 Adds SAS programming language support
Enable Sctintilla's SAS lexer, populate langs.model, stylers.model, and themes.
(includes keyword lists from UDLs, notepad4, and SAS documentation)

Fix #16148, close #16183
2025-02-16 15:45:47 +01:00

51 lines
2.5 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<!-- ==========================================================================\
|
| To learn how to make your own language parser, please check the following
| link:
| https://npp-user-manual.org/docs/function-list/
|
\=========================================================================== -->
<NotepadPlus>
<functionList>
<!-- =========================================================== [ SAS ] -->
<parser
displayName="SAS"
id ="sas_function"
commentExpr="(?x) # Utilize inline comments (see `RegEx - Pattern Modifiers`)
(?s:\x2F\x2A.*?\x2A\x2F) # Multi Line Comment
| (?m-s:\x2F{2}.*$) # Single Line Comment
"
>
<function
mainExpr="(?x-s) # free-spacing (see `RegEx - Pattern Modifiers`)
^\h*\K # optional leading whitespace at start-of-line
(?: # pick either %macro or function defintions
%macro
|
function
)
\h+ # need a space between
#\K # uncomment this line to strip out the leading %macro or function prefix
\w+ # the macro or function name
#.*$ # uncomment this line to include optional parameters
"
>
<!-- ORIGINALLY: comment out the following node to display the method with its parameters -->
<!-- unfortunately, I could not get it `function` lines working if I uncomment this, even if the expr is identical to the mainExpr above -->
<!--functionName>
<nameExpr expr="(?x-s) # free-spacing (see `RegEx - Pattern Modifiers`)
^\h*\K # optional leading whitespace at start-of-line
(?: # pick either %macro or function defintions
%macro
|
function
)
\h+ # need a space between
\w+ # the macro or function name
" />
</functionName-->
</function>
</parser>
</functionList>
</NotepadPlus>