Community
    • Login

    Mathematica UDL

    Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
    6 Posts 3 Posters 1.4k Views 2 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Fraw FarewellF Offline
      Fraw Farewell
      last edited by

      Hi, I just started using NPP for Mathematica and I wonder where I can find a UDL for it that supposedly exists (see mentions here and here). I can’t find it anywhere else except on the defunct wiki and the sourceforge project that’s also down. Anyone know where I can find it or another Mathematica UDL? Thanks.

      1 Reply Last reply Reply Quote 0
      • PeterJonesP Offline
        PeterJones
        last edited by PeterJones

        Using wayback machine to follow links and find old versions of files that no longer exist, I was able to dig up the mma.udl.xml from 2013, which I uploaded to pastebin. No idea if that matches what was linked in 2016, but it’s a starting place.

        Unlike was mentioned in 2016, you don’t have to use the “import” button anymore; you can just save mma.udl.xml into your %AppData%\Notepad++\userDefineLangs folder, and reload Notepad++.

        1 Reply Last reply Reply Quote 1
        • PeterJonesP Offline
          PeterJones
          last edited by

          Nope, sorry, there’s an error in the file somewhere, so it won’t load/import… let’s see if I can figure out how to clean it up.

          1 Reply Last reply Reply Quote 0
          • PeterJonesP Offline
            PeterJones
            last edited by PeterJones

            I don’t know exactly what was wrong with the original: well, it included comments, and accidentally included the markdown ``` … so those weren’t valid. But even after I did that, it was doing strange things, where the UDL would load, but it would color the text black-on-black and worse.

            I started over from scratch, and then started copying the keyword lists, etc. I thought maybe it was because there were ~19000 bytes in each of the three main keyword lists from the original; I split it into 5 keyword lists, with ~12000 bytes in each. That modified mma.udl.xml seems to work – it properly loads, and applies syntax-colors to a Mathematica file I downloaded (though I don’t know if it’s a reasonable color scheme).

            Mathematica has a lot of keywords/functions!

            (Also, I am not sure why the original kept each of :, ::, and # as separate keyword categories… I tried looking up what those do in mathematica… and they do different things, but don’t seem any more wildly different than other operators from each other. I kept them separate in mine as well, though if they could be combined with something else, I could have gotten down to fewer words per keyword category. )

            1 Reply Last reply Reply Quote 1
            • guy038G Offline
              guy038
              last edited by

              Hello, @fraw-farewell, @peterjones,

              Here is, below, the modified version of the UDL file for Mathematica. I simply rewrote all terms with the exact case, as it is, for instance, in the userDefinedLang-markdown.default.modern.xml UDL file for MardDown language !

              After starting N++, you should see the Mathematica language, at the end of the drop-down list, when clicking on Language


              IMPORTANT :

              In order to keep my post’s size under 16384 bytes, I simply omit all the keywords in Keywords1, Keywords2 and Keywords3 sections. Of course, just re-paste these 3 keywords list, respectively ;-))

              <!-- END WAYBACK TOOLBAR INSERT -->
              <NotepadPlus>
                  <UserLang name="Mathematica" ext="m nb" udlVersion="2.1">
                      <Settings>
                          <Global caseIgnored="no" allowFoldOfComments="no" foldCompact="no" forcePureLC="0" decimalSeparator="0"/>
                          <Prefix Keywords1="no" Keywords2="no" Keywords3="no" Keywords4="yes" Keywords5="no" Keywords6="yes" Keywords7="no" Keywords8="no"/>
                      </Settings>
                      <KeywordLists>
                          <Keywords name="Comments"></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">&amp; _ , := = [ ] { } ( ) :&gt; - &gt; &lt; + @ / ; | . ~ ! ? * ^ % &apos;</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"></keywords>    <!-- Do NOT forget to insert ALL the appropriate keywords -->
                          <Keywords name="Keywords2"></keywords>    <!-- Do NOT forget to insert ALL the appropriate keywords -->
                          <Keywords name="Keywords3"></keywords>    <!-- Do NOT forget to insert ALL the appropriate 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; 01 02&quot; 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="0000A0" bgColor="FFFFFF" fontName="Courier New" fontStyle="1" fontSize="10" nesting="0"/>
                          <WordsStyle name="COMMENTS" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0"/>
                          <WordsStyle name="LINE COMMENTS" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0"/>
                          <WordsStyle name="NUMBERS" fgColor="000000" bgColor="FFFFFF" fontName="Courier New" fontStyle="1" fontSize="10" nesting="0"/>
                          <WordsStyle name="KEYWORDS1" fgColor="000000" bgColor="FFFFFF" fontName="Courier New" fontStyle="1" fontSize="10" nesting="0"/>
                          <WordsStyle name="KEYWORDS2" fgColor="000000" bgColor="FFFFFF" fontName="Courier New" fontStyle="1" fontSize="10" nesting="0"/>
                          <WordsStyle name="KEYWORDS3" fgColor="000000" bgColor="FFFFFF" fontName="Courier New" fontStyle="1" fontSize="10" nesting="0"/>
                          <WordsStyle name="KEYWORDS4" fgColor="008000" bgColor="FFFFFF" fontName="Courier New" fontStyle="1" fontSize="10" nesting="0"/>
                          <WordsStyle name="KEYWORDS5" fgColor="008000" bgColor="FFFFFF" fontName="Courier New" fontStyle="1" fontSize="10" nesting="0"/>
                          <WordsStyle name="KEYWORDS6" fgColor="808080" bgColor="FFFFFF" fontName="Courier New" fontStyle="1" fontSize="10" 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="000000" bgColor="FFFFFF" fontName="Courier New" fontStyle="1" fontSize="10" 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="Courier New" fontStyle="1" fontSize="10" nesting="0"/>
                          <WordsStyle name="DELIMITERS2" fgColor="808080" bgColor="FFFFFF" fontName="Courier New" fontStyle="1" fontSize="10" 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>
              <!--
                  FILE ARCHIVED ON 15:56:51 Dec 13, 2013 AND RETRIEVED FROM THE
                  INTERNET ARCHIVE ON 17:22:19 Nov 05, 2019.
                  JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE.
               
                  ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C.
                  SECTION 108(a)(3)).
              -->
              

              Note that since I do not know the Mathematica language and I do not have any appropriate source text, I did not go any further to test this UDL language !

              Best Regards,

              guy038

              1 Reply Last reply Reply Quote 1
              • guy038G Offline
                guy038
                last edited by guy038

                Hi, @fraw-farewell, @peterjones,

                Actually, I did a simple test :

                First, I slightly changed the fgColor of these 3 sections below :

                            <WordsStyle name="KEYWORDS1" fgColor="0000ff" bgColor="FFFFFF" fontName="Courier New" fontStyle="1" fontSize="10" nesting="0"/>
                            <WordsStyle name="KEYWORDS2" fgColor="00ff00" bgColor="FFFFFF" fontName="Courier New" fontStyle="1" fontSize="10" nesting="0"/>
                            <WordsStyle name="KEYWORDS3" fgColor="ff0000" bgColor="FFFFFF" fontName="Courier New" fontStyle="1" fontSize="10" nesting="0"/>
                
                • Then I re-started N++

                • I opened a new file

                • I selected the Mathematica UDL language

                • I pasted the last keyword of the Keywords1, Keywords2 and Keywords3 sections. So, the text :

                GeneratedParameters
                
                PointSize
                
                $VersionNumber
                

                And, as expected, these 3 commands, were highlighted in blue, green and red colors ;-))

                Cheers,

                guy038

                1 Reply Last reply Reply Quote 1

                Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                With your input, this post could be even better 💗

                Register Login
                • First post
                  Last post
                The Community of users of the Notepad++ text editor.
                Powered by NodeBB | Contributors