New enhancement for User Defined Language System



  • @Meta-Chuh

    I like your enthusiasm…for everything Notepad++ related, including the topic of this thread. How about compiling all of the information on UDL, including all the tricks and tips, and publishing it somewhere?



  • @Alan-Kilborn

    i agree with you, but i think it is not necessary to put topics like the new udl features in the faqs, as it is not a feature that will be used by the majority of notepad++ users.

    publishing too much information will clutter the faqs and i assume that people, who are capable of creating an udl, will use the search option of the notepad++ community forum 😉.

    if we get too many questions about the new udl features in the future, we all can re-evaluate together, if it makes sense to add this to the faqs.


    btw and off topic: alan, i guess i will try not disagree with you in the near future again … my experience has taught me, that you have good reasons and a very good sense of prediction. 👍



  • Yes, this is a great feature to have separated UDLs. I really hope that can be used to have an option to install UDLs via Plugins Admin (for example). My idea is to have a new tab for this and UDLs that are stored in a repository with option for the users to add and commit a new ones.



  • @Alan-Kilborn

    I didn’t mean in the FAQ here

    i’m in no position to publish anywhere else, except here at the community, and in this case you’ve addressed me directly, which also means not addressing members that have the needed authority to do so.

    knowledge provided in individual postings…and pull it together all in one place.

    i might be of service to answer single and simple questions in an understandable way, but i don’t think i am capable of writing a whole manual of this extent.

    would you have the time to do so ?
    if yes, i suppose it will also be one of the best guides around, as you are not yet very familiar with udl and therefore you are able to write a guide that can easily been understood by inexperienced users, due to writing it while learning to use it.

    reason: in my experience, many guides written by pro’s or by me, are difficult to understand, if a reader wants to start off from zero knowledge.
    and on the other hand, i’ve seen manuals, written by (former) beginners, which are perfect for both beginners and pros, as they are written in a way the author himself would have understood as a beginner, if he had such a guide when he started out himself.

    I don’t know about that!!!

    i suppose it’s sarcastic, but if not, you will understand if you re-read the only one post where i ever disagreed with you, and all of it’s surroundings.



  • Hi @donho ,

    Sorry for the off-topic question but when will this PR be merged:
    https://github.com/notepad-plus-plus/notepad-plus-plus/pull/5190 ?

    Are you also planning to merge PR https://github.com/notepad-plus-plus/notepad-plus-plus/pull/5225 ?



  • A few concerns on the proposed UDL enhancement…

    a) What will be the file naming convention of the individual UDL’s?
    b) UDL’s are user settings. Are user settings located in the AppData area and not in Program Files?
    c) Should the Auto Complete files, which are considered user settings, (also) be located in the AppData section?
    d) I wish to package together the UDL file(s) and Auto Complete file(s) as one zip file. Will there be file name conflicts?

    Scot-65



  • @scot-65

    a) What will be the file naming convention of the individual UDL’s?

    the file name can be literarily anything.xml.
    the included udl or multiple udls in this “collection” do not have to match the .xml file name.

    b) UDL’s are user settings. Are user settings located in the AppData area and not in Program Files?

    yes, they will be created at %AppData%\Notepad++\userDefineLang.xml, and can be moved/copied/renamed to %AppData%\Notepad++\userDefineLangs\.
    this folder will probably be the preferred location for a future deployment of a descriptive yourUdlCollection.xml, instead of overwriting an existing userDefineLang.xml.

    c) Should the Auto Complete files, which are considered user settings, (also) be located in the AppData section?

    this is a tricky question, because on one hand they are currently located at %ProgramFiles[(x86)]%\Notepad++\autoCompletion, but on the other hand it would make sense to allow a user specific version at %AppData%\Notepad++\autoCompletion\ which is, afaik, currently not implemented.

    d) I wish to package together the UDL file(s) and Auto Complete file(s) as one zip file. Will there be file name conflicts?

    with the new udl collections: no, as they can have any names, and don’t reside at the same location as a default userDefineLang.xml.
    with the autocompletion.xml files themselves yes, as a same name xml, like html.xml, would replace the existing file at %ProgramFiles[(x86)]%\Notepad++\autoCompletion.

    note: this information is based on the current pre-release builds, with the newest udl features already implemented.
    anything currently known, might (or might not) still be subject to change.



  • Could you please search for these .xml files in %ProgramFiles%\Notepad++\userDefineLangs folder as well?
    We would like to preinstall extra UDL files for all our users.



  • welcome to the notepad++ community, @Christoph-von-Wittich

    if you want to deploy udls for all users right now, you could use a %ProgramData% install (see option 1).

    this installation type will allow deployment of udls for all users to %ProgramData%\Notepad++\userDefineLangs\.
    it will also allow central settings for all users, and enable users to use plugins admin without admin rights, e.g. to update plugins.

    another way for default installs, is to use the cloud settings to define a locally shared folder, which is accessible for all desired users. note: to share this setting on default installs, you have to define a config.model.xml, which will be deployed as config.xml to all users that do not have a config.xml yet, or alternatively make the changes to the existing config.xml files located at each user’s %AppData%.

    best regards.



  • Copying the userDefineLangs to %ProgramData% does not work.
    And installing the whole application to %ProgramData% is a really bad idea security wise and will be blocked by AppLocker anyway.


Log in to reply