GithubHelp home page GithubHelp logo

notepad-plus-plus / userdefinedlanguages Goto Github PK

View Code? Open in Web Editor NEW
563.0 563.0 370.0 2.34 MB

Notepad++ User Defined Languages Collection

Max 0.32% Python 47.48% Assembly 1.60% YARA 0.77% RobotFramework 4.18% Vim Script 5.96% E 3.53% Perl 19.66% LSL 15.58% PowerShell 0.94%

userdefinedlanguages's Introduction

Notepad++ User Defined Languages Collection

Notepad++ supports around 80 programming languages for syntax highlighting & folding. For languages that are not in the list of languages with built-in support, someone may have created a User Defined Language (UDL) for adding syntax highlighting to the language and added it to this collection, or you can submit a UDL to this collection for others to use.

To learn all about User Defined Languages:

https://npp-user-manual.org/docs/user-defined-language-system/

Here is the UDL list and from where you can download:

https://github.com/notepad-plus-plus/userDefinedLanguages/blob/master/udl-list.md

Using a UDL from this Collection

For now, you have to manually install a new User Defined Language.

  1. Use Notepad++'s Language > User Defined Language > Open User Defined Language folder... menu entry to easily find the right userDefineLangs\ folder to place your UDL definition file. (You can copy the path from the file Explorer location bar, for pasting into the Save As dialog in step 2)
  2. Download the XML file from the UDL list of this Collection.
    • From the UDL list, click on the name of the file.
    • From the file's page, use the button labled "Raw" to open the source of the UDL.
      image
      From that raw file, you can either:
      • you can use your browser's Right Click > Save As... feature to save the raw XML file to the userDefineLangs\ folder found in step 1
      • copy the text of the file's contents, and paste it into a new file in Notepad++, and save it as an XML file to the userDefineLangs\ folder found in step 1
    • Warning: Do not just right click to try to download the file from either the UDL list or the directory listing on GitHub links, as either of those right-click actions will download the GitHub web page for that file (which HTML, and not the UDL's XML file and will not work).
    • Alternatives to step 2 can be found in the "Import a UDL" section of the official online user manual. But this version here is the easiest for those who haven't worked much with UDLs or GitHub.
  3. Restart Notepad++
    • Without this restart, Notepad++ will not know about the new UDL.
  4. If the UDL author provided an autoCompletion XML file for that UDL, you may download it from the autoCompletions\ folder of the repository (using similar download procedure as described in step 2 above), and put it in a file in the autoCompletion\ sub-folder of your Notepad++ installation directory. More details can be found in the online User Manual in the "autoCompletion" and "configuration files details" sections.
  5. If the UDL author provided an sample file that uses that UDL, you may download that from the UDL-samples\ folder of the repository. If you open that sample in Notepad++ after the restart from step 3, it should apply the UDL highlighting.

Submitting your UDL to the Collection

You can submit your UDL file(s) into this repo, or a (some) link(s) to where your UDL file(s) is (are) hosted. In both cases, you have to do a Pull Request on this repository.

More information about submitting your UDL to the Collection, please refer to:

https://github.com/notepad-plus-plus/userDefinedLanguages/blob/master/CONTRIBUTING.md

We populated the initial UDLs in this Collection based on the old NppWiki++ list of UDLs (archived at archive.org)

The original author of any UDL in this Collection may request that we remove it from the Collection (or submit a PR to do the same), and we will oblige.

userdefinedlanguages's People

Contributors

andybozend avatar araccaine avatar chcg avatar cookednick avatar dependabot[bot] avatar dfens83 avatar dmcoles avatar donho avatar fabbrodan avatar fahrrad13 avatar gribok avatar helloworldfr avatar justinkobylarz avatar kimpa-tammas avatar ktdickinson avatar m0n4 avatar madankumar-p avatar maikimax94 avatar mcesar-rlacruz avatar ms609 avatar nieltechsolution avatar prognase avatar pryrt avatar raghav-bell avatar rdipardo avatar robinchatterjee avatar skadomsky avatar spr93 avatar thiagovscoelho avatar tnhung2011 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

userdefinedlanguages's Issues

Default UDL of XML

Hello,

I am working on adding a new language that has an XML based syntax, so I looked everywhere for the default UDL of XML that is used in notepad++ to inspire from it, and I couldn't find it.
Could you put the UDL definitions of all the default supported languages by notepad++ (javascript, HTML...) in this repository, could be really helpful.

Thanks a bunch.

Looking for help to define column-oriented languages

I am an addict of HLASM - a language that is heavily columnar in nature.
I have been able to create syntax highlighting, but it is a bit of a kludge.
It is quite likely I am not using NPP facilities in an optimal way. I did read doco I could find, but there seem to be some gaps.
I'd like to find out if I am indeed missing something. And otherwise, what can be done to improve NPP support for columnar languages such as HLASM. (And RPG to name but one other)

Saving xml page will probably corrupt the UDL file

Save the xml file by "Raw" button or download the zip or with "git clone". Saving the xml by right-click file link or copy-pasting will probably corrupt the xml file and cause an import error.
Please, add this info to readme file.

image

image

Add UDL for YANG

Add customized User Defined Language (UDL) for Notepad++ for syntax highlighting of YANG 1.1 modeling language based on (RFC7950).

Definition of a new UDL on the basis of a predefined language

Dear N++ team,
I would like to contribute creating syntax highlighting for some "hybrid" languages, which inherit from (more) predefined - not user defined! - languages:

HTML + Python --> Django
R + Markdown --> Rmarkdown

Is there a way to extract the rules from the Scintilla lexers and to convert them somehow into a UDL description?
Regards
Giacomo Lanza

Is there no UDL for scripting C# in Unity 3D

Hello dear Notepad ++ developers

I found some hints that there might be a UDL for Unity 3D C#, but it is not in the list (anymore?) .
Any hints, on how to get hold of an UDL file for that?

I googled quite extensively, but didn't find anything.

With kind regards.

Add these two AutoHotkey UDLs

I couldn't figure out how to make a Pull request, but I found these two AutoHotkey UDLs and they work pretty great.
I think they would be great additions.

AutoHotkey Dark theme by TheArkive
AutoHotkey by jNizM

Preview1
Preview2

UPDATE:

Here are the entries:

| [AutoHotkey Dark TheArkive](./UDLs/AutoHotkey-Dark-TheArkive.xml) | AutoHotKey | TheArkive](https://www.autohotkey.com/boards/viewtopic.php?t=72424) | | [AutoHotkey Default jNizM](./UDLs/AutoHotkey-Default-jNizM.xml) | AutoHotKey | jNizM](https://github.com/jNizM) | | [AutoHotkey Lazy jNizM](./UDLs/AutoHotkey-Lazy-jNizM.xml.xml) | AutoHotKey | jNizM](https://github.com/jNizM) |

{ "id-name": "AutoHotkey-Dark-TheArkive", "display-name": "AutoHotkey-Dark-TheArkive", "version": "2020-Feb-7", "repository": "", "description": "AutoHotkey v1-v2 Syntax Highlight (Dark Theme) by TheArkive", "author": "TheArkive" "homepage": "https://www.autohotkey.com/boards/viewtopic.php?t=72424" }, { "id-name": "AutoHotkey-Default-jNizM", "display-name": "AutoHotkey-Default-jNizM", "version": "2021-Aug-4", "repository": "", "description": "AutoHotkey Syntax-Highlighting Default theme by jNizM", "author": "jNizM" "homepage": "https://github.com/jNizM" }, { "id-name": "AutoHotkey-Lazy-jNizM", "display-name": "AutoHotkey-Lazy-jNizM", "version": "2021-Aug-4", "repository": "", "description": "AutoHotkey Syntax-Highlighting Lazy theme by jNizM", "author": "jNizM" "homepage": "https://github.com/jNizM" },

Koltin

Hello! It,s great job, guys, but what about kotlin language?

udl "GCODE-3d-OkumaLathes_byHarveyShrock.xml" is not proper format for OKUMA

This udl-file "GCODE-3d-OkumaLathes_byHarveyShrock.xml" suggests by it's naming, that it is for G-Code for OKUMA lathes. But that is not true. It does absolutely not fit for OKUMA-G-Code.

Internaly it says "RepRap" and I think that is correct. It looks like proper style for RepRap-3d-printers G-Code.

So this file should be renamed.

The 1st draft

The goal of this repository is to provide a UDL center for users who need the programming languages which are not supported directly by Notepad++. Any UDL author can submit their UDL (with an explicit name - "id-name") in UDLs directory so users can find what they want from UDLs directory very easily.
However, it's possible that some UDL authors prefer to keep files in their repository rather than submitting files into official User Defined Languages repository (https://github.com/notepad-plus-plus/userDefinedLanguages/UDLs/). They can still submit the URL of their UDL in question.

This repository could be the reference of UDL Admin (todo) in Notepad++ (in the 2nd step). udl-list.json is for such purpos.
In the JSON file, "id-name" is the descriptive & uniq ID which should be controlled by the team. The value of "id-name" should be the same of file name without file extension.
"repository" is the URL of UDL that Notepad++ (or user) can download. If the UDL is hosted in this repository, "repository" should be an empty string, then Notepad++ (or user) will find file with its id-name + .xml in https://github.com/notepad-plus-plus/userDefinedLanguages/UDLs/ directory.

So the first thing we should define IMO is the rule of "id-name": it should be descriptive and uniq but not contain only the language name like autocad or markdown (there could be several UDLs for the same programming language).

Feel free to discuss about not only the rule of "id-name", but also the structure of the repo, the structure/content of udl-list.json or anything else regarding UDL repository. It's just a draft and everything can be in the other way - with the concensus of members in the team.

Some Keywords can't be highlighted

I need to highlight some very unconventional keywords, but some of them are not recognized.
I have UDL v.2.1.0.12

I defined the following list of "keywords", in the same group :
"45 53 BD 11" "12 E2 D3 DE" "F8 FB 00 00 00 00" "8E 69 32 B3"

The styling works for the following strings :
F8 FB 00 00 00 00
8E 69 32 B3

But the styling doesn't work for the following strings :
45 53 BD 11
12 E2 D3 DE

According to my observations, it's as if keywords are not allowed to start with more than 1 digit, zeroes being ignored.
To illustrate this,
Styling can be applied to these 3 keywords : 00A 10A 100A
Styling can't be applied to these 3 keywords : 01A 11A 1001A

(The context menu custom styling isn't a satisfying workaround, because it has to be redone for every files.)

Convert old UDLs to 2.1 syntax

many of the UDLs in the repo predate UDL 2.1, and use the older syntax. They mostly work when Notepad++ reads them, and they will get saved as UDL 2.1 files if you change any colors or keywords from inside the UDL panel. But there are some oddities when Notepad++ does that conversion, and sometimes the wrong color gets applied to certain fields after the conversion from the old to the new.

I am going to make a one-time script to convert them so that all the fields map correctly, thus making these UDLs fully compatible with modern Notepad++ and the UDL 2.1 syntax.

add functionList\

per this Community Discussion, it makes sense to allow UDL authors to include functionList definitions in this UDL Collection.

  • ☑ Added "COMING SOON" description in CONTRIBUTING.md
  • ☐ Add folder and an example (since empty folders are not allowed)
  • ☐ Add validation for functionList/*.xml , similar to autoCompletion validation

An alternate autocomplete xsd file to validate autocomplete files.

NotepadPlus.txt

Note: Github drag and drop doesn't support xsd file extension. Thus, just rename attached txt file with xsd extension.

Here's a more complete autocomplete xml file validator. It uses noNamespaceSchemaLocation vs. schemaLocation.

The autocomplete xml file should have this in its NotePadPlus tag. For testing one can specify a directory path somewhere else.

<NotepadPlus
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="file:///C:/Program Files/Notepad++/autoCompletion/NotepadPlus.xsd"

Need to check reverse direction from AC/FL back to JSON

The recent LSL submission #253 was able to make it through all checks, but didn't notice that it added files to the autoCompletion(s) and functionList directories without referencing those files from the JSON.

I need to come up with a check that makes sure that every AC or FL in those directories is referenced at least once in the JSON, so that there aren't any orphaned or unreferenced AC/FL files.

Language Menu too long

The Language menu was already long , too many entries, and having added some custom definitions has made it annoyingly long, can that menu be edited by user? so to group languages by letter or at the very least allow mouse scroll wheel support for it, those up and down arrows are really ugly to handle.

Long Language Menu

Create dark mode styles

Most of the styles do not work with the dark mode themes of Notepad++, e.g. because the foreground color is black(ish).

graphviz

The graphviz UDL does not point to an xml, instead it points to an html document

PowerShell UDL not working

I copied (per instructions) the PowerShell UDL and put the file in UserDefinedLanguages folder. But, the powershell keywords highighting is not working. Any help? Thanks.

udl for JSON - modify to add comment highlighting

In NP++ there is color high lighting for JSON. I want to customize it so it can highlight comments also. The file is standard JSON apart from the fact that what follows // are considered comments. Here is a simple example

{
"cam_left": 85786, // this should become a highlighted text
"cam_right": 53112 // this should become a highlighted text
// ..as well as this.
}

I though it would be the simplest to start from the standard JSON and modify that, but I cant find this in the list: https://github.com/notepad-plus-plus/userDefinedLanguages/blob/master/udl-list.md
found here: https://github.com/notepad-plus-plus/userDefinedLanguages#using-a-udl-from-this-collection
can someone guide me?

Please add "Tableau Desktop"

I've got it started with all the function names, and operators, and wrappers. I think it's 99% completed but I'm sure I'll find more.

Here's the contents of "Tableau Desktop.xml" I just exported. THANK YOU!!!!!

<NotepadPlus>
    <UserLang name="Tableau Desktop" ext="tds" udlVersion="2.1">
        <Settings>
            <Global caseIgnored="yes" allowFoldOfComments="no" foldCompact="no" forcePureLC="0" decimalSeparator="0" />
            <Prefix Keywords1="yes" Keywords2="no" Keywords3="no" Keywords4="no" Keywords5="no" Keywords6="no" Keywords7="no" Keywords8="no" />
        </Settings>
        <KeywordLists>
            <Keywords name="Comments">00// 01 02 03 04</Keywords>
            <Keywords name="Numbers, prefix1"></Keywords>
            <Keywords name="Numbers, prefix2"></Keywords>
            <Keywords name="Numbers, extras1"></Keywords>
            <Keywords name="Numbers, extras2"></Keywords>
            <Keywords name="Numbers, suffix1"></Keywords>
            <Keywords name="Numbers, suffix2"></Keywords>
            <Keywords name="Numbers, range"></Keywords>
            <Keywords name="Operators1">NULL &lt; = &gt; ! { }</Keywords>
            <Keywords name="Operators2"></Keywords>
            <Keywords name="Folders in code1, open"></Keywords>
            <Keywords name="Folders in code1, middle"></Keywords>
            <Keywords name="Folders in code1, close"></Keywords>
            <Keywords name="Folders in code2, open"></Keywords>
            <Keywords name="Folders in code2, middle"></Keywords>
            <Keywords name="Folders in code2, close"></Keywords>
            <Keywords name="Folders in comment, open"></Keywords>
            <Keywords name="Folders in comment, middle"></Keywords>
            <Keywords name="Folders in comment, close"></Keywords>
            <Keywords name="Keywords1">ABS&#x000D;&#x000A;ACOS&#x000D;&#x000A;ASCII&#x000D;&#x000A;ASIN&#x000D;&#x000A;ATAN&#x000D;&#x000A;ATAN2&#x000D;&#x000A;ATTR&#x000D;&#x000A;AVG&#x000D;&#x000A;CASE&#x000D;&#x000A;CEILING&#x000D;&#x000A;CHAR&#x000D;&#x000A;COLLECT &#x000D;&#x000A;CONTAINS&#x000D;&#x000A;CORR&#x000D;&#x000A;COS&#x000D;&#x000A;COT&#x000D;&#x000A;COUNT&#x000D;&#x000A;COUNTD&#x000D;&#x000A;COVAR&#x000D;&#x000A;COVARP&#x000D;&#x000A;DATE&#x000D;&#x000A;DATEADD&#x000D;&#x000A;DATEDIFF&#x000D;&#x000A;DATENAME&#x000D;&#x000A;DATEPARSE&#x000D;&#x000A;DATEPART&#x000D;&#x000A;DATETIME&#x000D;&#x000A;DATETRUNC&#x000D;&#x000A;DAY&#x000D;&#x000A;DEGREES&#x000D;&#x000A;DISTANCE&#x000D;&#x000A;DIV&#x000D;&#x000A;DOMAIN&#x000D;&#x000A;ELSE&#x000D;&#x000A;ELSE&#x000D;&#x000A;ELSEIF&#x000D;&#x000A;END&#x000D;&#x000A;END&#x000D;&#x000A;ENDSWITH&#x000D;&#x000A;EXP&#x000D;&#x000A;FIND&#x000D;&#x000A;FINDNTH&#x000D;&#x000A;FIRST&#x000D;&#x000A;FLOAT&#x000D;&#x000A;FLOOR&#x000D;&#x000A;FULLNAME&#x000D;&#x000A;GET_JSON_OBJECT&#x000D;&#x000A;GROUP_CONCAT&#x000D;&#x000A;HEXBINX&#x000D;&#x000A;HEXBINY&#x000D;&#x000A;HOST&#x000D;&#x000A;IF&#x000D;&#x000A;IFNULL&#x000D;&#x000A;IIF&#x000D;&#x000A;INDEX&#x000D;&#x000A;INT&#x000D;&#x000A;ISDATE&#x000D;&#x000A;ISFULLNAME&#x000D;&#x000A;ISMEMBEROF&#x000D;&#x000A;ISNULL&#x000D;&#x000A;ISUSERNAME&#x000D;&#x000A;LAST&#x000D;&#x000A;LEFT&#x000D;&#x000A;LEN&#x000D;&#x000A;LN&#x000D;&#x000A;LOG&#x000D;&#x000A;LOG2&#x000D;&#x000A;LOOKUP&#x000D;&#x000A;LOWER&#x000D;&#x000A;LTRIM&#x000D;&#x000A;LTRIM_THIS&#x000D;&#x000A;MAKEDATE&#x000D;&#x000A;MAKEDATETIME&#x000D;&#x000A;MAKELINE&#x000D;&#x000A;MAKEPOINT&#x000D;&#x000A;MAKEPOINT&#x000D;&#x000A;MAKETIME&#x000D;&#x000A;MAX&#x000D;&#x000A;MAX&#x000D;&#x000A;MAX&#x000D;&#x000A;MEDIAN&#x000D;&#x000A;MID&#x000D;&#x000A;MIN&#x000D;&#x000A;MIN&#x000D;&#x000A;MIN&#x000D;&#x000A;MODEL_PERCENTILE&#x000D;&#x000A;MODEL_QUANTILE&#x000D;&#x000A;MONTH&#x000D;&#x000A;NOW&#x000D;&#x000A;PARSE_URL&#x000D;&#x000A;PARSE_URL_QUERY&#x000D;&#x000A;PERCENTILE&#x000D;&#x000A;PI&#x000D;&#x000A;POWER&#x000D;&#x000A;PREVIOUS_VALUE&#x000D;&#x000A;RADIANS&#x000D;&#x000A;RANK&#x000D;&#x000A;RANK_DENSE&#x000D;&#x000A;RANK_MODIFIED&#x000D;&#x000A;RANK_PERCENTILE&#x000D;&#x000A;RANK_UNIQUE&#x000D;&#x000A;RAWSQL_BOOL&#x000D;&#x000A;RAWSQL_DATE&#x000D;&#x000A;RAWSQL_DATETIME&#x000D;&#x000A;RAWSQL_INT&#x000D;&#x000A;RAWSQL_REAL&#x000D;&#x000A;RAWSQL_STR&#x000D;&#x000A;RAWSQLAGG_BOOL&#x000D;&#x000A;RAWSQLAGG_DATE&#x000D;&#x000A;RAWSQLAGG_DATETIME&#x000D;&#x000A;RAWSQLAGG_INT&#x000D;&#x000A;RAWSQLAGG_REAL&#x000D;&#x000A;RAWSQLAGG_STR&#x000D;&#x000A;REGEXP_EXTRACT&#x000D;&#x000A;REGEXP_EXTRACT_NTH&#x000D;&#x000A;REGEXP_MATCH&#x000D;&#x000A;REGEXP_REPLACE&#x000D;&#x000A;REPLACE&#x000D;&#x000A;RIGHT&#x000D;&#x000A;ROUND&#x000D;&#x000A;RTRIM&#x000D;&#x000A;RTRIM_THIS&#x000D;&#x000A;RUNNING_AVG&#x000D;&#x000A;RUNNING_COUNT&#x000D;&#x000A;RUNNING_MAX&#x000D;&#x000A;RUNNING_MIN&#x000D;&#x000A;RUNNING_SUM&#x000D;&#x000A;SCRIPT_BOOL&#x000D;&#x000A;SIGN&#x000D;&#x000A;SIN&#x000D;&#x000A;SIZE&#x000D;&#x000A;SPACE&#x000D;&#x000A;SPLIT&#x000D;&#x000A;SQRT&#x000D;&#x000A;SQUARE&#x000D;&#x000A;STARTSWITH&#x000D;&#x000A;STDEV&#x000D;&#x000A;STDEVP&#x000D;&#x000A;STR&#x000D;&#x000A;SUM&#x000D;&#x000A;TAN&#x000D;&#x000A;THEN&#x000D;&#x000A;THEN&#x000D;&#x000A;TIMESTAMP_TO_USEC&#x000D;&#x000A;TLD&#x000D;&#x000A;TODAY&#x000D;&#x000A;TOTAL&#x000D;&#x000A;TRIM&#x000D;&#x000A;UPPER&#x000D;&#x000A;USEC_TO_TIMESTAMP&#x000D;&#x000A;USERDOMAIN&#x000D;&#x000A;USERNAME&#x000D;&#x000A;VAR&#x000D;&#x000A;VARP&#x000D;&#x000A;WHEN&#x000D;&#x000A;WINDOW_AVG&#x000D;&#x000A;WINDOW_CORR&#x000D;&#x000A;WINDOW_COUNT&#x000D;&#x000A;WINDOW_COVAR&#x000D;&#x000A;WINDOW_COVARP&#x000D;&#x000A;WINDOW_MAX&#x000D;&#x000A;WINDOW_MEDIAN&#x000D;&#x000A;WINDOW_MIN&#x000D;&#x000A;WINDOW_PERCENTILE&#x000D;&#x000A;WINDOW_STDEV&#x000D;&#x000A;WINDOW_STDEVP&#x000D;&#x000A;WINDOW_SUM&#x000D;&#x000A;WINDOW_VAR&#x000D;&#x000A;WINDOW_VARP&#x000D;&#x000A;XPATH_BOOLEAN&#x000D;&#x000A;XPATH_DOUBLE&#x000D;&#x000A;XPATH_FLOAT&#x000D;&#x000A;XPATH_INT&#x000D;&#x000A;XPATH_LONG&#x000D;&#x000A;XPATH_SHORT&#x000D;&#x000A;XPATH_STRING&#x000D;&#x000A;YEAR&#x000D;&#x000A;ZN</Keywords>
            <Keywords name="Keywords2"></Keywords>
            <Keywords name="Keywords3"></Keywords>
            <Keywords name="Keywords4"></Keywords>
            <Keywords name="Keywords5"></Keywords>
            <Keywords name="Keywords6"></Keywords>
            <Keywords name="Keywords7"></Keywords>
            <Keywords name="Keywords8"></Keywords>
            <Keywords name="Delimiters">00&quot; 00&apos; 01 02&quot; 02&apos; 03[ 04 05] 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23</Keywords>
        </KeywordLists>
        <Styles>
            <WordsStyle name="DEFAULT" fgColor="000000" bgColor="FFFFFF" fontName="Courier New" fontStyle="0" fontSize="10" nesting="0" />
            <WordsStyle name="COMMENTS" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" />
            <WordsStyle name="LINE COMMENTS" fgColor="808080" bgColor="FFFFFF" fontStyle="2" nesting="0" />
            <WordsStyle name="NUMBERS" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" />
            <WordsStyle name="KEYWORDS1" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="0" />
            <WordsStyle name="KEYWORDS2" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" />
            <WordsStyle name="KEYWORDS3" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" />
            <WordsStyle name="KEYWORDS4" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" />
            <WordsStyle name="KEYWORDS5" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" />
            <WordsStyle name="KEYWORDS6" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" />
            <WordsStyle name="KEYWORDS7" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" />
            <WordsStyle name="KEYWORDS8" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" />
            <WordsStyle name="OPERATORS" fgColor="0000FF" bgColor="FFFFFF" fontStyle="1" nesting="0" />
            <WordsStyle name="FOLDER IN CODE1" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" />
            <WordsStyle name="FOLDER IN CODE2" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" />
            <WordsStyle name="FOLDER IN COMMENT" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS1" fgColor="808080" bgColor="FFFFFF" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS2" fgColor="FF8040" bgColor="FFFFFF" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS3" fgColor="FF8040" bgColor="FFFFFF" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS4" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS5" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS6" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS7" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS8" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" />
        </Styles>
    </UserLang>
</NotepadPlus>

Now User Defined Language Directory

I reinstalled Notepad++ several times and a User Defined directory never seems to be installed. I created it in the top level naming it 'User Defined Language' quit and relaunched and it still does not see the directory:
"Language > User Defined Language > Open User Defined Language folder..."

Nor does Notepad++ register the two user defined xml files I placed in that directory.

Suggestions on how to proceed?

The 2nd draft

In order to improve the usability of userDefinedLanguages repository, udl-list.md has been added.
With udl-list.md, users don't need to deal with udl-list.json, a simple mouse click will get what they want.
That makesone more file to modify for the contributor, but it increases the usability of this repository considerably, IMO.

Please let me know if you have other suggestion/opinion.

https://github.com/notepad-plus-plus/userDefinedLanguages

The instructions for installing a UDF could be improved.
https://github.com/notepad-plus-plus/userDefinedLanguages

It says "1. ... click on the copy raw contents button, which will immediately place the raw contents in your clipboard for pasting", but then says "2. ...Import the file by placing the file in your userDefineLangs folder...". The "raw contents in clipboard" is not "the file".
Additionally, it would be helpful to mention the menu item Language > User Defined Language > Open User Defined Language Folder.

  1. Download the XML file ...
  • In Notepad++. Menu item Language > User Defined Language > Open User Defined Language
  • Copy the path from File Explorer address bar
  • From the UDL list ...
  • ...
    Click on Raw
    Right-click web page, and select "Save as". Paste the save path in front of the file name. ...

Change of directory name UDL samples/

Based on Contribution Guide, it is required to

Use underscores or hyphens or periods to separate words, not spaces.

The name directory UDL samples/ contains a space.
To avoid escaping of space and make the path navigation simpler, let's change the name from UDL samples to UDL-samples.

Rules & Checks: Display Name

The checks require¹ unique display-name, but the rules don't mention that. Also, the rules suggest making display-name match the internal name, so the checker should at least point out the discrepancy without failing the check.

¹: prompted by this failed check and enforced in this checker code

Add UDL for EDN

Add customized User Defined Language (UDL) for Notepad++ for syntax highlighting of EDN data language based on edn-format

Nesting issue with keywords and delimiter

Example:

I have a language that works with simple commands at the start of a line (SCREENSHOT .. , RESET , etc.)
An example of a command line would be

SCREENSHOT myfile.png

Now I want to highlight such lines, but with the command itself in bold:
SCREENSHOT myfile.png


If I define
Keyword1:
"SCREENSHOT"

Delimiter1:
Start = "SCREENSHOT"
End = "((EOL))"
Nesting= Keyword1

then Keyword1 will not be matched.
The problem seems, that nesting only looks for a string AFTER the "Start"-match.

Is there any workaraound?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.