-
-
Save centic9/deef9d855493eceaf4f8 to your computer and use it in GitHub Desktop.
| <NotepadPlus> | |
| <UserLang name="Dockerfile" ext="Dockerfile" udlVersion="2.1"> | |
| <Settings> | |
| <Global caseIgnored="no" allowFoldOfComments="no" foldCompact="no" forcePureLC="1" decimalSeparator="0" /> | |
| <Prefix Keywords1="no" Keywords2="yes" 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">= :- :+ : [ ] ,</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">FROM MAINTAINER ENV RUN CMD ADD EXPOSE COPY ENTRYPOINT VOLUME USER WORKDIR ONBUILD LABEL ARG STOPSIGNAL HEALTHCHECK SHELL AS</Keywords> | |
| <Keywords name="Keywords2">$ ${</Keywords> | |
| <Keywords name="Keywords3">--platform --from --chown
</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" 00' 01\ 02" 02' 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="" fontStyle="0" nesting="0" /> | |
| <WordsStyle name="COMMENTS" fgColor="008000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> | |
| <WordsStyle name="LINE COMMENTS" fgColor="008000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> | |
| <WordsStyle name="NUMBERS" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> | |
| <WordsStyle name="KEYWORDS1" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="0" /> | |
| <WordsStyle name="KEYWORDS2" fgColor="FF8040" bgColor="FFFFD9" fontName="" fontStyle="1" nesting="0" /> | |
| <WordsStyle name="KEYWORDS3" fgColor="008080" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> | |
| <WordsStyle name="KEYWORDS4" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> | |
| <WordsStyle name="KEYWORDS5" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> | |
| <WordsStyle name="KEYWORDS6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> | |
| <WordsStyle name="KEYWORDS7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> | |
| <WordsStyle name="KEYWORDS8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> | |
| <WordsStyle name="OPERATORS" fgColor="800000" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="0" /> | |
| <WordsStyle name="FOLDER IN CODE1" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> | |
| <WordsStyle name="FOLDER IN CODE2" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> | |
| <WordsStyle name="FOLDER IN COMMENT" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> | |
| <WordsStyle name="DELIMITERS1" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="2048" /> | |
| <WordsStyle name="DELIMITERS2" fgColor="FF8040" bgColor="FFFFD9" fontName="" fontStyle="1" nesting="0" /> | |
| <WordsStyle name="DELIMITERS3" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> | |
| <WordsStyle name="DELIMITERS4" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> | |
| <WordsStyle name="DELIMITERS5" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> | |
| <WordsStyle name="DELIMITERS6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> | |
| <WordsStyle name="DELIMITERS7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> | |
| <WordsStyle name="DELIMITERS8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" /> | |
| </Styles> | |
| </UserLang> | |
| </NotepadPlus> |
curl -o %appdata%\Notepad++\userDefineLangs\userDefineLang_Dockerfile.xml https://gist.githubusercontent.com/centic9/deef9d855493eceaf4f8/raw/c8ab6ed07279cb149d93acd4c9db0ea422d79aaa/userDefineLang_Dockerfile.xml
one-line command to add the configuration
Does someone know how to make Notepad++ automatically assign this theme to all files labelled
Dockerfile? I have to manually select Language > Dockerfile each time I open a file, the highlighting is not applied automatically.I know this is old, but as the question was never answered I'll answer it for future searchers like myself who come across it
Notepad++ uses extensions to automatically determine what Language to use, as
Dockerfilehas no extension, to my knowledge, it's beyond the scope of Notepad++ to be able to recognize it
@LostOnTheLine and any that follow on to reading this!
There is a Python Script plugin for Notepad++ and a plugin for that available as Mode Line which can do any, or all, of:
- Set the language based on any python fnmatch rule(s) that you set, e.g.
fnmatch.fnmatch('dockerfile*'). If you add the script to your Notepad++ python scripts start-up entry then this will work for any matching filename, not just extension, without needing to change any of the files. - Set the language, (built-in or custom), to use based on a shebang, e.g.
#! /usr/bin/env dockeror#! /usr/bin/env podman, on the first line of each file. It is not a bad practice to have a shebang in each of your files anyway. - Set the language &/or other settings based on Vim modeline entries in the file. Only really works if you are also using vim!
If you install the Python script plug-in, then follow the steps for installing the Mode Line plugin, set it to run on start-up as described and then edit either, or both, of the sections of %appdata%\Local\Notepad++\plugins\PythonScript\lib\ModelineLanguageDetectors.py for file name based or shebang detection then restart Notepad++ it works very nicely.
I would like to add my thanks to Dominik @centic9 for the original language file, Francois [email protected] for the Mode Line plugin, Dave @davegb3 for the Python Script Plugin and Don Ho @donho for Notepad++ all of the nearly 400 other contributors to Notepad++ and the Python community for all of their hard work and for their generosity in sharing their efforts with us all.
I'm curious as to why this was done? As it is now comments are only colored correctly if they follow a new line & start at position 0... Which is in no way required in Dockerfile... Maybe it was at the time, I'm not sure, I just know it currently isn't because they often are between things in the Dockerfiles I've worked with with no opening space & are sometimes indented. I'm not sure if they can be used at the end of a line like in YAML, as I haven't seen that so far. Is that the intent?