From 0a0fd2b3384ba4092dbd15bf25ffd80acfda7145 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carsten=20Elton=20S=C3=B8rensen?= Date: Fri, 10 Jan 2020 10:47:02 +0100 Subject: [PATCH] Add support for reading language names from userDefineLangs directory --- 3PA/NppCore/NppConf.cs | 4 ++++ 3PA/NppCore/NppLang.cs | 11 +++++++++++ 2 files changed, 15 insertions(+) diff --git a/3PA/NppCore/NppConf.cs b/3PA/NppCore/NppConf.cs index 56873d82..1d1042a6 100644 --- a/3PA/NppCore/NppConf.cs +++ b/3PA/NppCore/NppConf.cs @@ -100,6 +100,10 @@ internal class NppConf { /// public bool MultiSelectionEnabled { get; private set; } + public string DirectoryNppUserDefineLangs { + get { return Path.Combine(FolderBaseConf, @"userDefineLangs"); } + } + public string FileNppUserDefinedLang { get { return Path.Combine(FolderBaseConf, @"userDefineLang.xml"); } } diff --git a/3PA/NppCore/NppLang.cs b/3PA/NppCore/NppLang.cs index a84f5fc6..52809960 100644 --- a/3PA/NppCore/NppLang.cs +++ b/3PA/NppCore/NppLang.cs @@ -101,6 +101,17 @@ public NppLangs() { } catch (Exception e) { ErrorHandler.LogError(e, "Error parsing " + Npp.ConfXml.FileNppStylersXml); } + + // from directory userDefineLangs/ + try { + var filenames = Directory.GetFiles(Npp.ConfXml.DirectoryNppUserDefineLangs, "*.xml"); + var nodes = filenames.Select(filename => new NanoXmlDocument(Utils.ReadAllText(filename)).RootNode["UserLang"]); + FillDictionaries(nodes.ToList()); + } + catch (Exception e) { + ErrorHandler.LogError(e, "Error parsing " + Npp.ConfXml.FileNppLangsXml); + } + } ///