Zum Inhalt springen

Language Definition für Notepad++


Manuel Rühl
Gehe zur Lösung Gelöst von Manuel Rühl,

Empfohlene Beiträge

  • Lösung
Johanna Becker
Dieser post wurde von Johanna Becker ausgezeichnet!

"Lieber Manuel, den Helpful-Badge bekommst Du für Deine tolle Hilfe fürs Teilen Deiner Erweiterung bei Notepad++ und weil wir Dich als sehr hilfsbereiten Citizen Development-Hero wahrnehmen. Du bist immer mit Rat und Tat für die Community da.Danke für Deine Unterstützung!"

Manuel Rühl hat das Abzeichen "Hilfreich" und 15 Punkte erhalten.

Hallo zusammen,

In der Formel-Fuchs-Masterclass wurde ja kurz angerissen, dass der Formeleditor ein wenig unübersichtlich ist
und man auch Notepad++ nutzen kann. Da fehlt dann aber der Syntax-Check.

Ich habe mich der Sache angenommen und eine rudimentäre Sprachdefinition gemacht.

Notepad++ findet Ihr hier:

Downloads | Notepad++ (notepad-plus-plus.org)

Dann nur noch die XML runterladen und über das Menü "Sprachen > benutzerdefinierte Sprache > eigene Sprache definieren > importieren (und aktivieren!)

Fühlt Euch frei, die Definition weiter anzupassen und natürlich dann wieder hochzuladen.

Schöne Grüße

Manuel

image.thumb.png.51d73f3bd3b3ac602fc658b47015d8b4.png

 

 

 

 

smapOne_v6.txt smapOne_v6.xml

Bearbeitet von Manuel Rühl
v6: Änderungen Release v.1.21
  • Like 8
  • Danke 11
Link zu diesem Kommentar
Auf anderen Seiten teilen

Am 26.4.2023 um 13:10 schrieb Christian Meixner:

Hey @Manuel Rühl, absolut großartig! Vielen Dank für deinen Einsatz hier.
Die Farbcode schicke ich dir als private Nachricht hier übers Forum.

Farbcodes sind aktualisiert und das \n Zeichen bei Texten.
Sieht man aber kaum. Aber jetzt ist es richtig.

  • Like 1
  • Danke 5
Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Wochen später...

So, Version 5 ist hochgeladen.

Anpassungen:

  • true/false werden gehighlighted.
  • Referenzen auf einen DSAB in fett.
  • Die Sprache heißt jetzt smapOne und nicht mehr SmapOne. Tztztz, Wie konnte ich DAS nur übersehen? Aber ist jetzt geändert und die Marketingabteilung ist hoffentlich nun auch wieder "smappy". 😉

Danke an @Christian Meixner für die Anmerkungen!

  • Like 2
  • Haha 3
  • Danke 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 3 Stunden schrieb Manuel Rühl:

Die Sprache heißt jetzt smapOne und nicht mehr SmapOne. Tztztz, Wie konnte ich DAS nur übersehen?

Vielen Dank, mein Inner Monk kann sich wieder schlafen legen 😄

zen yoga GIF by Mod Sun

 

Aber nochmal, Scherz beiseite: Echt super hilfreiche Sache. Tausend Dank dafür!

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 3 Wochen später...

Entwickler von Notepad++ ignoriert offensichtlich Sicherheitslücken | heise online

image.png.07645cffd92bf403415be592042d0e2e.png

"Wie eine konkrete Attacke aussehen könnte, führen die Forscher derzeit nicht aus. In jedem Fall muss ein Opfer eine präparierte Datei öffnen."

Da ich ein Fan von No-Code bin, habt Ihr aber wahrscheinlich nichts zu befürchten von meiner Language-Definition. 😛

Bearbeitet von Manuel Rühl
  • Like 1
  • Haha 5
Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Wochen später...

Es gibt ein Update von Notepad++ mit dem die Sicherheitslücken wohl geschlossen werden:

Download Notepad++ v8.5.7 (Vulnerability fixes) | Notepad++ (notepad-plus-plus.org)

Ich musste den Installer aber manuell herunterladen, die Updatebenachrichtigung innerhalb des Programms wollte heute Morgen nur die 8.5.6 installieren.

  • Like 3
  • Danke 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 6 Monate später...

Aber klar doch @David Susami

//Farbcodes:

//Formeln:            12/108/166
//Text:                187/0/0
//Zahlen:            57/146/58
//runde Klammern:    51/51/51
//Bausteine:        204/113/11
//\n                221/0/0
//Kommentare:        153/153/153
//Zeitraum            14/149/124

//Formeln:

MIN MAX ADD SUM SUB MUL PROD DIV AVG ROUND ROUNDUP ROUNDDOWN MROUND MROUNDUP MROUNDDOWN
SUB_DATE SUB_PERIOD MUL_PERIOD TOTALDAYS TOTALHOURS TOTALMINUTES TOTALSECONDS DAYS HOURS
MINUTES SECONDS CONTAINS STARTSWITH ENDSWITH TEXTPOS MATCH REPLACE LENGTH CONCAT JOIN
SUBTEXT LEFT RIGHT EQUALS NOTEQUALS LESSTHAN LESSTHANOREQUAL GREATERTHAN GREATERTHANOREQUAL
EMPTY NOTEMPTY AND OR NOT IF TEXT ADD_PERIOD SUB_PERIOD UPPERCASE LOWERCASE CAPITALIZE

//Bausteine
{{brick}}
{brick}
{Inventar[Objektname]}

//Hervorhebung von \n
\n

//Boolean
true false null

//Zahlen
1 2 3 4 5 999
1234.12
1233,44

//Text
"Text"

//Beispiele
PROD({Anzahl}, 3)
PROD({Teilepreis}, {Anzahl}, 1.19) 
PROD({Teilepreis}, {Anzahl}, {Rabatt}, {Steuersatz}) 
CONCAT({ReportTyp}," an ", {Inventar[Objektname]}," (",{Inventar[Objektnummer]}, ")")

MIN(P1DT2H5M10S, PT1H) 
MIN(P1DT10S, {pausendauer}) // Gibt den kleineren der Werte der beiden Zeitraumergebnis-Bausteine zurück

CONTAINS({Codescan}, "-") // Prüft, ob der Wert des Bausteins 'Codescan' das Zeichen "-" enthält
CONTAINS({Bauteil}, "Schraube") // Prüft, ob im Wert des Bausteins 'Bauteil' der Text "Schraube" vorkommt

  • Like 2
  • Danke 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

Und hier die XML:

<NotepadPlus>
    <UserLang name="smapOne" ext="txt" udlVersion="2.1">
        <Settings>
            <Global caseIgnored="yes" allowFoldOfComments="yes" foldCompact="no" forcePureLC="0" decimalSeparator="0" />
            <Prefix Keywords1="no" 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">P</Keywords>
            <Keywords name="Numbers, extras1">D T H M S W Y</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">MIN MAX ADD SUM SUB MUL PROD DIV AVG ROUND ROUNDUP ROUNDDOWN MROUND MROUNDUP MROUNDDOWN SUB_DATE SUB_PERIOD MUL_PERIOD TOTALDAYS TOTALHOURS TOTALMINUTES TOTALSECONDS DAYS HOURS MINUTES SECONDS CONTAINS STARTSWITH ENDSWITH TEXTPOS MATCH REPLACE LENGTH CONCAT JOIN SUBTEXT LEFT RIGHT EQUALS NOTEQUALS LESSTHAN LESSTHANOREQUAL GREATERTHAN GREATERTHANOREQUAL EMPTY NOTEMPTY AND OR NOT IF TEXT ADD_PERIOD SUB_PERIOD UPPERCASE LOWERCASE CAPITALIZE</Keywords>
            <Keywords name="Keywords2">\n</Keywords>
            <Keywords name="Keywords3">true false</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" fontStyle="0" nesting="0" />
            <WordsStyle name="COMMENTS" fgColor="008000" bgColor="FFFFFF" fontName="&#x64A1;&#xE50D;&#x1B00;&#x8000;rightWidth" fontStyle="0" nesting="0" />
            <WordsStyle name="LINE COMMENTS" fgColor="999999" bgColor="FFFFFF" fontName="no" fontStyle="0" nesting="0" />
            <WordsStyle name="NUMBERS" fgColor="39923A" bgColor="FFFFFF" fontName="no" fontStyle="0" nesting="0" />
            <WordsStyle name="KEYWORDS1" fgColor="0C6CA6" bgColor="FFFFFF" fontName="no" fontStyle="1" nesting="0" />
            <WordsStyle name="KEYWORDS2" fgColor="DD0000" bgColor="FFFFFF" fontName="aligned" fontStyle="0" nesting="0" />
            <WordsStyle name="KEYWORDS3" fgColor="39923A" bgColor="FFFFFF" fontName="&#x0430;&#x2D50;&#x0250;" fontStyle="1" nesting="0" />
            <WordsStyle name="KEYWORDS4" fgColor="0000FF" bgColor="FFFFFF" fontName="&#x4EB5;&#xE531;&#x1100;&#x8000;delimiterSelectionOnEntireDocument" fontStyle="3" nesting="0" />
            <WordsStyle name="KEYWORDS5" fgColor="808080" bgColor="FFFFFF" fontName="&#x0002;" fontStyle="3" nesting="0" />
            <WordsStyle name="KEYWORDS6" fgColor="808080" bgColor="FFFFFF" fontName="&#x1D70;&#x2DFB;&#x0250;" fontStyle="3" nesting="0" />
            <WordsStyle name="KEYWORDS7" fgColor="000000" bgColor="FFFFFF" fontName="&#x58C0;&#x322C;&#x0250;" fontStyle="0" nesting="0" />
            <WordsStyle name="KEYWORDS8" fgColor="000000" bgColor="FFFFFF" fontName="&#xDB80;&#xC016;&#x7FFF;" fontStyle="0" nesting="0" />
            <WordsStyle name="OPERATORS" fgColor="333333" bgColor="FFFFFF" fontName="&#x0768;&#xC015;&#x7FFF;" fontStyle="0" nesting="0" />
            <WordsStyle name="FOLDER IN CODE1" fgColor="FF00FF" bgColor="FFFFFF" fontStyle="0" nesting="0" />
            <WordsStyle name="FOLDER IN CODE2" fgColor="0000FF" bgColor="FFFFFF" fontName="&#x4200;5&#x7F00;" fontStyle="1" nesting="0" />
            <WordsStyle name="FOLDER IN COMMENT" fgColor="000000" bgColor="FFFFFF" fontName="&#xB680;&#x2DFF;&#x0250;" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS1" fgColor="BB0000" bgColor="FFFFFF" fontName="&#xEF9A;&#xE4E5;&#x0C00;&#x8000;&#x0009;" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS2" fgColor="CC710B" bgColor="FFFFFF" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS3" fgColor="CC710B" bgColor="FFFFFF" fontName="&#x3900;3&#x7F00;" fontStyle="0" nesting="24" />
            <WordsStyle name="DELIMITERS4" fgColor="CC710B" bgColor="FFFFFF" fontName="no" fontStyle="1" nesting="0" />
            <WordsStyle name="DELIMITERS5" fgColor="0080FF" bgColor="FFFFFF" fontName="no" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS6" fgColor="000000" bgColor="FFFFFF" fontName="0" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS7" fgColor="000000" bgColor="FFFFFF" fontName="&#x78B0;&#x321A;&#x0250;" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS8" fgColor="000000" bgColor="FFFFFF" fontName="MISC" fontStyle="0" nesting="0" />
        </Styles>
    </UserLang>
</NotepadPlus>
 

  • Like 3
  • Danke 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

Bitte melde Dich an, um einen Kommentar zu hinterlassen

Du kannst nach der Anmeldung einen Kommentar hinterlassen



Jetzt anmelden
×
×
  • Neu erstellen...