1 //this file is part of notepad++ 2 //Copyright (C)2003 Don HO <donho@altern.org> 3 // 4 //This program is free software; you can redistribute it and/or 5 //modify it under the terms of the GNU General Public License 6 //as published by the Free Software Foundation; either 7 //version 2 of the License, or (at your option) any later version. 8 // 9 //This program is distributed in the hope that it will be useful, 10 //but WITHOUT ANY WARRANTY; without even the implied warranty of 11 //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 //GNU General Public License for more details. 13 // 14 //You should have received a copy of the GNU General Public License 15 //along with this program; if not, write to the Free Software 16 //Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 17 /** 18 * Notepad++ lang 19 * 20 * Author: dokutoku, https://twitter.com/dokutoku3 21 * License: GPL-2.0 or later 22 */ 23 module npp_api.pluginfunc.lang; 24 25 26 private static import core.sys.windows.winbase; 27 private static import core.sys.windows.windef; 28 private static import core.sys.windows.winnt; 29 private static import npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs; 30 private static import npp_api.PowerEditor.menuCmdID; 31 private static import npp_api.pluginfunc.npp_msgs; 32 private static import npp_api.pluginfunc.path; 33 private static import npp_api.pluginfunc.string; 34 private static import std.algorithm; 35 private static import std.array; 36 private static import std.path; 37 private static import std.traits; 38 39 pragma(inline, true) 40 pure nothrow @safe @nogc 41 bool is_known_lang(npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType lang) 42 43 do 44 { 45 return (lang != npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_EXTERNAL) && (lang != npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_JS); 46 } 47 48 /** 49 * is programming language 50 * ToDo: 51 */ 52 pragma(inline, true) 53 pure nothrow @safe @nogc 54 bool is_p_lang(npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType lang) 55 56 do 57 { 58 switch (lang) { 59 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_TEXT: 60 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PHP: 61 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_C: 62 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_CPP: 63 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_CS: 64 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_OBJC: 65 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_JAVA: 66 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_RC: 67 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_HTML: 68 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_XML: 69 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_MAKEFILE: 70 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PASCAL: 71 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_BATCH: 72 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_INI: 73 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ASCII: 74 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_USER: 75 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ASP: 76 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SQL: 77 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_VB: 78 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_JS: 79 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_CSS: 80 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PERL: 81 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PYTHON: 82 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_LUA: 83 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_TEX: 84 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_FORTRAN: 85 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_BASH: 86 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_FLASH: 87 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_NSIS: 88 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_TCL: 89 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_LISP: 90 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SCHEME: 91 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ASM: 92 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_DIFF: 93 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PROPS: 94 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PS: 95 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_RUBY: 96 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SMALLTALK: 97 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_VHDL: 98 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_KIX: 99 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_AU3: 100 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_CAML: 101 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ADA: 102 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_VERILOG: 103 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_MATLAB: 104 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_HASKELL: 105 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_INNO: 106 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SEARCHRESULT: 107 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_CMAKE: 108 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_YAML: 109 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_COBOL: 110 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_GUI4CLI: 111 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_D: 112 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_POWERSHELL: 113 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_R: 114 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_JSP: 115 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_COFFEESCRIPT: 116 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_JSON: 117 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_JAVASCRIPT: 118 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_FORTRAN_77: 119 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_BAANC: 120 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SREC: 121 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_IHEX: 122 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_TEHEX: 123 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SWIFT: 124 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ASN1: 125 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_AVS: 126 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_BLITZBASIC: 127 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PUREBASIC: 128 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_FREEBASIC: 129 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_CSOUND: 130 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ERLANG: 131 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ESCRIPT: 132 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_FORTH: 133 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_LATEX: 134 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_MMIXAL: 135 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_NIMROD: 136 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_NNCRONTAB: 137 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_OSCRIPT: 138 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_REBOL: 139 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_REGISTRY: 140 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_RUST: 141 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SPICE: 142 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_TXT2TAGS: 143 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_VISUALPROLOG: 144 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_EXTERNAL: 145 return true; 146 147 default: 148 return false; 149 } 150 } 151 152 /** 153 * Convert IDM_LANG_* to LangType 154 * 155 * Params: 156 * IDM_LANG = IDM_LANG_* 157 * 158 * Returns: LangType or LangType.L_EXTERNAL 159 */ 160 pragma(inline, true) 161 pure nothrow @safe @nogc 162 npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType from_IDM_LANG(int IDM_LANG) 163 164 do 165 { 166 switch (IDM_LANG) { 167 case npp_api.PowerEditor.menuCmdID.IDM_LANG_C: 168 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_C; 169 170 case npp_api.PowerEditor.menuCmdID.IDM_LANG_CPP: 171 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_CPP; 172 173 case npp_api.PowerEditor.menuCmdID.IDM_LANG_JAVA: 174 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_JAVA; 175 176 case npp_api.PowerEditor.menuCmdID.IDM_LANG_HTML: 177 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_HTML; 178 179 case npp_api.PowerEditor.menuCmdID.IDM_LANG_XML: 180 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_XML; 181 182 case npp_api.PowerEditor.menuCmdID.IDM_LANG_JS: 183 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_JS; 184 185 case npp_api.PowerEditor.menuCmdID.IDM_LANG_PHP: 186 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PHP; 187 188 case npp_api.PowerEditor.menuCmdID.IDM_LANG_ASP: 189 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ASP; 190 191 case npp_api.PowerEditor.menuCmdID.IDM_LANG_CSS: 192 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_CSS; 193 194 case npp_api.PowerEditor.menuCmdID.IDM_LANG_PASCAL: 195 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PASCAL; 196 197 case npp_api.PowerEditor.menuCmdID.IDM_LANG_PYTHON: 198 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PYTHON; 199 200 case npp_api.PowerEditor.menuCmdID.IDM_LANG_PERL: 201 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PERL; 202 203 case npp_api.PowerEditor.menuCmdID.IDM_LANG_OBJC: 204 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_OBJC; 205 206 case npp_api.PowerEditor.menuCmdID.IDM_LANG_ASCII: 207 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ASCII; 208 209 case npp_api.PowerEditor.menuCmdID.IDM_LANG_TEXT: 210 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_TEXT; 211 212 case npp_api.PowerEditor.menuCmdID.IDM_LANG_RC: 213 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_RC; 214 215 case npp_api.PowerEditor.menuCmdID.IDM_LANG_MAKEFILE: 216 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_MAKEFILE; 217 218 case npp_api.PowerEditor.menuCmdID.IDM_LANG_INI: 219 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_INI; 220 221 case npp_api.PowerEditor.menuCmdID.IDM_LANG_SQL: 222 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SQL; 223 224 case npp_api.PowerEditor.menuCmdID.IDM_LANG_VB: 225 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_VB; 226 227 case npp_api.PowerEditor.menuCmdID.IDM_LANG_BATCH: 228 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_BATCH; 229 230 case npp_api.PowerEditor.menuCmdID.IDM_LANG_CS: 231 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_CS; 232 233 case npp_api.PowerEditor.menuCmdID.IDM_LANG_LUA: 234 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_LUA; 235 236 case npp_api.PowerEditor.menuCmdID.IDM_LANG_TEX: 237 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_TEX; 238 239 case npp_api.PowerEditor.menuCmdID.IDM_LANG_FORTRAN: 240 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_FORTRAN; 241 242 case npp_api.PowerEditor.menuCmdID.IDM_LANG_BASH: 243 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_BASH; 244 245 case npp_api.PowerEditor.menuCmdID.IDM_LANG_FLASH: 246 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_FLASH; 247 248 case npp_api.PowerEditor.menuCmdID.IDM_LANG_NSIS: 249 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_NSIS; 250 251 case npp_api.PowerEditor.menuCmdID.IDM_LANG_TCL: 252 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_TCL; 253 254 case npp_api.PowerEditor.menuCmdID.IDM_LANG_LISP: 255 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_LISP; 256 257 case npp_api.PowerEditor.menuCmdID.IDM_LANG_SCHEME: 258 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SCHEME; 259 260 case npp_api.PowerEditor.menuCmdID.IDM_LANG_ASM: 261 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ASM; 262 263 case npp_api.PowerEditor.menuCmdID.IDM_LANG_DIFF: 264 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_DIFF; 265 266 case npp_api.PowerEditor.menuCmdID.IDM_LANG_PROPS: 267 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PROPS; 268 269 case npp_api.PowerEditor.menuCmdID.IDM_LANG_PS: 270 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PS; 271 272 case npp_api.PowerEditor.menuCmdID.IDM_LANG_RUBY: 273 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_RUBY; 274 275 case npp_api.PowerEditor.menuCmdID.IDM_LANG_SMALLTALK: 276 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SMALLTALK; 277 278 case npp_api.PowerEditor.menuCmdID.IDM_LANG_VHDL: 279 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_VHDL; 280 281 case npp_api.PowerEditor.menuCmdID.IDM_LANG_CAML: 282 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_CAML; 283 284 case npp_api.PowerEditor.menuCmdID.IDM_LANG_KIX: 285 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_KIX; 286 287 case npp_api.PowerEditor.menuCmdID.IDM_LANG_ADA: 288 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ADA; 289 290 case npp_api.PowerEditor.menuCmdID.IDM_LANG_VERILOG: 291 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_VERILOG; 292 293 case npp_api.PowerEditor.menuCmdID.IDM_LANG_AU3: 294 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_AU3; 295 296 case npp_api.PowerEditor.menuCmdID.IDM_LANG_MATLAB: 297 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_MATLAB; 298 299 case npp_api.PowerEditor.menuCmdID.IDM_LANG_HASKELL: 300 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_HASKELL; 301 302 case npp_api.PowerEditor.menuCmdID.IDM_LANG_INNO: 303 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_INNO; 304 305 case npp_api.PowerEditor.menuCmdID.IDM_LANG_CMAKE: 306 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_CMAKE; 307 308 case npp_api.PowerEditor.menuCmdID.IDM_LANG_YAML: 309 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_YAML; 310 311 case npp_api.PowerEditor.menuCmdID.IDM_LANG_COBOL: 312 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_COBOL; 313 314 case npp_api.PowerEditor.menuCmdID.IDM_LANG_D: 315 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_D; 316 317 case npp_api.PowerEditor.menuCmdID.IDM_LANG_GUI4CLI: 318 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_GUI4CLI; 319 320 case npp_api.PowerEditor.menuCmdID.IDM_LANG_POWERSHELL: 321 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_POWERSHELL; 322 323 case npp_api.PowerEditor.menuCmdID.IDM_LANG_R: 324 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_R; 325 326 case npp_api.PowerEditor.menuCmdID.IDM_LANG_JSP: 327 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_JSP; 328 329 case npp_api.PowerEditor.menuCmdID.IDM_LANG_COFFEESCRIPT: 330 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_COFFEESCRIPT; 331 332 case npp_api.PowerEditor.menuCmdID.IDM_LANG_JSON: 333 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_JSON; 334 335 case npp_api.PowerEditor.menuCmdID.IDM_LANG_FORTRAN_77: 336 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_FORTRAN_77; 337 338 case npp_api.PowerEditor.menuCmdID.IDM_LANG_BAANC: 339 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_BAANC; 340 341 case npp_api.PowerEditor.menuCmdID.IDM_LANG_SREC: 342 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SREC; 343 344 case npp_api.PowerEditor.menuCmdID.IDM_LANG_IHEX: 345 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_IHEX; 346 347 case npp_api.PowerEditor.menuCmdID.IDM_LANG_TEHEX: 348 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_TEHEX; 349 350 case npp_api.PowerEditor.menuCmdID.IDM_LANG_SWIFT: 351 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SWIFT; 352 353 case npp_api.PowerEditor.menuCmdID.IDM_LANG_ASN1: 354 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ASN1; 355 356 case npp_api.PowerEditor.menuCmdID.IDM_LANG_AVS: 357 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_AVS; 358 359 case npp_api.PowerEditor.menuCmdID.IDM_LANG_BLITZBASIC: 360 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_BLITZBASIC; 361 362 case npp_api.PowerEditor.menuCmdID.IDM_LANG_PUREBASIC: 363 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PUREBASIC; 364 365 case npp_api.PowerEditor.menuCmdID.IDM_LANG_FREEBASIC: 366 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_FREEBASIC; 367 368 case npp_api.PowerEditor.menuCmdID.IDM_LANG_CSOUND: 369 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_CSOUND; 370 371 case npp_api.PowerEditor.menuCmdID.IDM_LANG_ERLANG: 372 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ERLANG; 373 374 case npp_api.PowerEditor.menuCmdID.IDM_LANG_ESCRIPT: 375 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ESCRIPT; 376 377 case npp_api.PowerEditor.menuCmdID.IDM_LANG_FORTH: 378 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_FORTH; 379 380 case npp_api.PowerEditor.menuCmdID.IDM_LANG_LATEX: 381 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_LATEX; 382 383 case npp_api.PowerEditor.menuCmdID.IDM_LANG_MMIXAL: 384 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_MMIXAL; 385 386 case npp_api.PowerEditor.menuCmdID.IDM_LANG_NIMROD: 387 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_NIMROD; 388 389 case npp_api.PowerEditor.menuCmdID.IDM_LANG_NNCRONTAB: 390 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_NNCRONTAB; 391 392 case npp_api.PowerEditor.menuCmdID.IDM_LANG_OSCRIPT: 393 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_OSCRIPT; 394 395 case npp_api.PowerEditor.menuCmdID.IDM_LANG_REBOL: 396 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_REBOL; 397 398 case npp_api.PowerEditor.menuCmdID.IDM_LANG_REGISTRY: 399 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_REGISTRY; 400 401 case npp_api.PowerEditor.menuCmdID.IDM_LANG_RUST: 402 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_RUST; 403 404 case npp_api.PowerEditor.menuCmdID.IDM_LANG_SPICE: 405 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SPICE; 406 407 case npp_api.PowerEditor.menuCmdID.IDM_LANG_TXT2TAGS: 408 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_TXT2TAGS; 409 410 case npp_api.PowerEditor.menuCmdID.IDM_LANG_VISUALPROLOG: 411 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_VISUALPROLOG; 412 413 case npp_api.PowerEditor.menuCmdID.IDM_LANG_EXTERNAL: 414 case npp_api.PowerEditor.menuCmdID.IDM_LANG_EXTERNAL_LIMIT: 415 default: 416 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_EXTERNAL; 417 } 418 } 419 420 /** 421 * Convert LangType to IDM_LANG_* 422 * 423 * Params: 424 * lang = LangType 425 * 426 * Returns: IDM_LANG_* or IDM_LANG_EXTERNAL_LIMIT on error. 427 */ 428 pragma(inline, true) 429 pure nothrow @safe @nogc 430 int to_IDM_LANG(npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType lang) 431 432 do 433 { 434 switch (lang) { 435 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_TEXT: 436 return npp_api.PowerEditor.menuCmdID.IDM_LANG_TEXT; 437 438 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PHP: 439 return npp_api.PowerEditor.menuCmdID.IDM_LANG_PHP; 440 441 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_C: 442 return npp_api.PowerEditor.menuCmdID.IDM_LANG_C; 443 444 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_CPP: 445 return npp_api.PowerEditor.menuCmdID.IDM_LANG_CPP; 446 447 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_CS: 448 return npp_api.PowerEditor.menuCmdID.IDM_LANG_CS; 449 450 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_OBJC: 451 return npp_api.PowerEditor.menuCmdID.IDM_LANG_OBJC; 452 453 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_JAVA: 454 return npp_api.PowerEditor.menuCmdID.IDM_LANG_JAVA; 455 456 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_RC: 457 return npp_api.PowerEditor.menuCmdID.IDM_LANG_RC; 458 459 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_HTML: 460 return npp_api.PowerEditor.menuCmdID.IDM_LANG_HTML; 461 462 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_XML: 463 return npp_api.PowerEditor.menuCmdID.IDM_LANG_XML; 464 465 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_MAKEFILE: 466 return npp_api.PowerEditor.menuCmdID.IDM_LANG_MAKEFILE; 467 468 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PASCAL: 469 return npp_api.PowerEditor.menuCmdID.IDM_LANG_PASCAL; 470 471 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_BATCH: 472 return npp_api.PowerEditor.menuCmdID.IDM_LANG_BATCH; 473 474 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_INI: 475 return npp_api.PowerEditor.menuCmdID.IDM_LANG_INI; 476 477 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ASCII: 478 return npp_api.PowerEditor.menuCmdID.IDM_LANG_ASCII; 479 480 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ASP: 481 return npp_api.PowerEditor.menuCmdID.IDM_LANG_ASP; 482 483 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SQL: 484 return npp_api.PowerEditor.menuCmdID.IDM_LANG_SQL; 485 486 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_VB: 487 return npp_api.PowerEditor.menuCmdID.IDM_LANG_VB; 488 489 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_JS: 490 return npp_api.PowerEditor.menuCmdID.IDM_LANG_JS; 491 492 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_CSS: 493 return npp_api.PowerEditor.menuCmdID.IDM_LANG_CSS; 494 495 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PERL: 496 return npp_api.PowerEditor.menuCmdID.IDM_LANG_PERL; 497 498 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PYTHON: 499 return npp_api.PowerEditor.menuCmdID.IDM_LANG_PYTHON; 500 501 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_LUA: 502 return npp_api.PowerEditor.menuCmdID.IDM_LANG_LUA; 503 504 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_TEX: 505 return npp_api.PowerEditor.menuCmdID.IDM_LANG_TEX; 506 507 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_FORTRAN: 508 return npp_api.PowerEditor.menuCmdID.IDM_LANG_FORTRAN; 509 510 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_BASH: 511 return npp_api.PowerEditor.menuCmdID.IDM_LANG_BASH; 512 513 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_FLASH: 514 return npp_api.PowerEditor.menuCmdID.IDM_LANG_FLASH; 515 516 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_NSIS: 517 return npp_api.PowerEditor.menuCmdID.IDM_LANG_NSIS; 518 519 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_TCL: 520 return npp_api.PowerEditor.menuCmdID.IDM_LANG_TCL; 521 522 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_LISP: 523 return npp_api.PowerEditor.menuCmdID.IDM_LANG_LISP; 524 525 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SCHEME: 526 return npp_api.PowerEditor.menuCmdID.IDM_LANG_SCHEME; 527 528 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ASM: 529 return npp_api.PowerEditor.menuCmdID.IDM_LANG_ASM; 530 531 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_DIFF: 532 return npp_api.PowerEditor.menuCmdID.IDM_LANG_DIFF; 533 534 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PROPS: 535 return npp_api.PowerEditor.menuCmdID.IDM_LANG_PROPS; 536 537 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PS: 538 return npp_api.PowerEditor.menuCmdID.IDM_LANG_PS; 539 540 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_RUBY: 541 return npp_api.PowerEditor.menuCmdID.IDM_LANG_RUBY; 542 543 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SMALLTALK: 544 return npp_api.PowerEditor.menuCmdID.IDM_LANG_SMALLTALK; 545 546 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_VHDL: 547 return npp_api.PowerEditor.menuCmdID.IDM_LANG_VHDL; 548 549 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_KIX: 550 return npp_api.PowerEditor.menuCmdID.IDM_LANG_KIX; 551 552 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_AU3: 553 return npp_api.PowerEditor.menuCmdID.IDM_LANG_AU3; 554 555 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_CAML: 556 return npp_api.PowerEditor.menuCmdID.IDM_LANG_CAML; 557 558 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ADA: 559 return npp_api.PowerEditor.menuCmdID.IDM_LANG_ADA; 560 561 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_VERILOG: 562 return npp_api.PowerEditor.menuCmdID.IDM_LANG_VERILOG; 563 564 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_MATLAB: 565 return npp_api.PowerEditor.menuCmdID.IDM_LANG_MATLAB; 566 567 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_HASKELL: 568 return npp_api.PowerEditor.menuCmdID.IDM_LANG_HASKELL; 569 570 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_INNO: 571 return npp_api.PowerEditor.menuCmdID.IDM_LANG_INNO; 572 573 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_CMAKE: 574 return npp_api.PowerEditor.menuCmdID.IDM_LANG_CMAKE; 575 576 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_YAML: 577 return npp_api.PowerEditor.menuCmdID.IDM_LANG_YAML; 578 579 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_COBOL: 580 return npp_api.PowerEditor.menuCmdID.IDM_LANG_COBOL; 581 582 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_GUI4CLI: 583 return npp_api.PowerEditor.menuCmdID.IDM_LANG_GUI4CLI; 584 585 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_D: 586 return npp_api.PowerEditor.menuCmdID.IDM_LANG_D; 587 588 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_POWERSHELL: 589 return npp_api.PowerEditor.menuCmdID.IDM_LANG_POWERSHELL; 590 591 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_R: 592 return npp_api.PowerEditor.menuCmdID.IDM_LANG_R; 593 594 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_JSP: 595 return npp_api.PowerEditor.menuCmdID.IDM_LANG_JSP; 596 597 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_COFFEESCRIPT: 598 return npp_api.PowerEditor.menuCmdID.IDM_LANG_COFFEESCRIPT; 599 600 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_JSON: 601 return npp_api.PowerEditor.menuCmdID.IDM_LANG_JSON; 602 603 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_FORTRAN_77: 604 return npp_api.PowerEditor.menuCmdID.IDM_LANG_FORTRAN_77; 605 606 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_BAANC: 607 return npp_api.PowerEditor.menuCmdID.IDM_LANG_BAANC; 608 609 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SREC: 610 return npp_api.PowerEditor.menuCmdID.IDM_LANG_SREC; 611 612 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_IHEX: 613 return npp_api.PowerEditor.menuCmdID.IDM_LANG_IHEX; 614 615 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_TEHEX: 616 return npp_api.PowerEditor.menuCmdID.IDM_LANG_TEHEX; 617 618 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SWIFT: 619 return npp_api.PowerEditor.menuCmdID.IDM_LANG_SWIFT; 620 621 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ASN1: 622 return npp_api.PowerEditor.menuCmdID.IDM_LANG_ASN1; 623 624 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_AVS: 625 return npp_api.PowerEditor.menuCmdID.IDM_LANG_AVS; 626 627 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_BLITZBASIC: 628 return npp_api.PowerEditor.menuCmdID.IDM_LANG_BLITZBASIC; 629 630 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PUREBASIC: 631 return npp_api.PowerEditor.menuCmdID.IDM_LANG_PUREBASIC; 632 633 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_FREEBASIC: 634 return npp_api.PowerEditor.menuCmdID.IDM_LANG_FREEBASIC; 635 636 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_CSOUND: 637 return npp_api.PowerEditor.menuCmdID.IDM_LANG_CSOUND; 638 639 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ERLANG: 640 return npp_api.PowerEditor.menuCmdID.IDM_LANG_ERLANG; 641 642 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ESCRIPT: 643 return npp_api.PowerEditor.menuCmdID.IDM_LANG_ESCRIPT; 644 645 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_FORTH: 646 return npp_api.PowerEditor.menuCmdID.IDM_LANG_FORTH; 647 648 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_LATEX: 649 return npp_api.PowerEditor.menuCmdID.IDM_LANG_LATEX; 650 651 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_MMIXAL: 652 return npp_api.PowerEditor.menuCmdID.IDM_LANG_MMIXAL; 653 654 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_NIMROD: 655 return npp_api.PowerEditor.menuCmdID.IDM_LANG_NIMROD; 656 657 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_NNCRONTAB: 658 return npp_api.PowerEditor.menuCmdID.IDM_LANG_NNCRONTAB; 659 660 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_OSCRIPT: 661 return npp_api.PowerEditor.menuCmdID.IDM_LANG_OSCRIPT; 662 663 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_REBOL: 664 return npp_api.PowerEditor.menuCmdID.IDM_LANG_REBOL; 665 666 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_REGISTRY: 667 return npp_api.PowerEditor.menuCmdID.IDM_LANG_REGISTRY; 668 669 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_RUST: 670 return npp_api.PowerEditor.menuCmdID.IDM_LANG_RUST; 671 672 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SPICE: 673 return npp_api.PowerEditor.menuCmdID.IDM_LANG_SPICE; 674 675 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_TXT2TAGS: 676 return npp_api.PowerEditor.menuCmdID.IDM_LANG_TXT2TAGS; 677 678 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_VISUALPROLOG: 679 return npp_api.PowerEditor.menuCmdID.IDM_LANG_VISUALPROLOG; 680 681 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_EXTERNAL: 682 return npp_api.PowerEditor.menuCmdID.IDM_LANG_EXTERNAL; 683 684 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_USER: 685 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SEARCHRESULT: 686 //case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_JAVASCRIPT: 687 default: 688 return npp_api.PowerEditor.menuCmdID.IDM_LANG_EXTERNAL_LIMIT; 689 } 690 } 691 692 /** 693 * Whether Windows \\?\ path is supported 694 * 695 * Params: 696 * lang = LangType 697 * 698 * Returns: true is supported 699 * ToDo: 700 */ 701 pragma(inline, true) 702 pure nothrow @safe @nogc 703 bool is_extended_path_supported(npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType lang) 704 705 do 706 { 707 switch (lang) { 708 /* 709 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_TEXT: 710 return false; 711 */ 712 713 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PHP: 714 return false; 715 716 /* 717 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_C: 718 return false; 719 */ 720 721 /* 722 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_CPP: 723 return false; 724 */ 725 726 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_CS: 727 return false; 728 729 /* 730 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_OBJC: 731 return false; 732 */ 733 734 /* 735 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_JAVA: 736 return false; 737 */ 738 739 /* 740 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_RC: 741 return false; 742 */ 743 744 /* 745 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_HTML: 746 return false; 747 */ 748 749 /* 750 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_XML: 751 return false; 752 */ 753 754 /* 755 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_MAKEFILE: 756 return false; 757 */ 758 759 /* 760 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PASCAL: 761 return false; 762 */ 763 764 /* 765 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_BATCH: 766 return false; 767 */ 768 769 /* 770 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_INI: 771 return false; 772 */ 773 774 /* 775 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ASCII: 776 return false; 777 */ 778 779 /* 780 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_USER: 781 return false; 782 */ 783 784 /* 785 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ASP: 786 return false; 787 */ 788 789 /* 790 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SQL: 791 return false; 792 */ 793 794 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_VB: 795 return true; 796 797 /* 798 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_JS: 799 return false; 800 */ 801 802 /* 803 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_CSS: 804 return false; 805 */ 806 807 /* 808 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PERL: 809 return false; 810 */ 811 812 /* 813 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PYTHON: 814 return false; 815 */ 816 817 /* 818 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_LUA: 819 return false; 820 */ 821 822 /* 823 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_TEX: 824 return false; 825 */ 826 827 /* 828 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_FORTRAN: 829 return false; 830 */ 831 832 /* 833 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_BASH: 834 return false; 835 */ 836 837 /* 838 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_FLASH: 839 return false; 840 */ 841 842 /* 843 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_NSIS: 844 return false; 845 */ 846 847 /* 848 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_TCL: 849 return false; 850 */ 851 852 /* 853 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_LISP: 854 return false; 855 */ 856 857 /* 858 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SCHEME: 859 return false; 860 */ 861 862 /* 863 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ASM: 864 return false; 865 */ 866 867 /* 868 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_DIFF: 869 return false; 870 */ 871 872 /* 873 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PROPS: 874 return false; 875 */ 876 877 /* 878 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PS: 879 return false; 880 */ 881 882 /* 883 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_RUBY: 884 return false; 885 */ 886 887 /* 888 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SMALLTALK: 889 return false; 890 */ 891 892 /* 893 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_VHDL: 894 return false; 895 */ 896 897 /* 898 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_KIX: 899 return false; 900 */ 901 902 /* 903 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_AU3: 904 return false; 905 */ 906 907 /* 908 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_CAML: 909 return false; 910 */ 911 912 /* 913 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ADA: 914 return false; 915 */ 916 917 /* 918 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_VERILOG: 919 return false; 920 */ 921 922 /* 923 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_MATLAB: 924 return false; 925 */ 926 927 /* 928 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_HASKELL: 929 return false; 930 */ 931 932 /* 933 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_INNO: 934 return false; 935 */ 936 937 /* 938 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SEARCHRESULT: 939 return false; 940 */ 941 942 /* 943 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_CMAKE: 944 return false; 945 */ 946 947 /* 948 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_YAML: 949 return false; 950 */ 951 952 /* 953 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_COBOL: 954 return false; 955 */ 956 957 /* 958 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_GUI4CLI: 959 return false; 960 */ 961 962 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_D: 963 return true; 964 965 /* 966 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_POWERSHELL: 967 return false; 968 */ 969 970 /* 971 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_R: 972 return false; 973 */ 974 975 /* 976 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_JSP: 977 return false; 978 */ 979 980 /* 981 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_COFFEESCRIPT: 982 return false; 983 */ 984 985 /* 986 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_JSON: 987 return false; 988 */ 989 990 /* 991 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_JAVASCRIPT: 992 return false; 993 */ 994 995 /* 996 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_FORTRAN_77: 997 return false; 998 */ 999 1000 /* 1001 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_BAANC: 1002 return false; 1003 */ 1004 1005 /* 1006 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SREC: 1007 return false; 1008 */ 1009 1010 /* 1011 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_IHEX: 1012 return false; 1013 */ 1014 1015 /* 1016 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_TEHEX: 1017 return false; 1018 */ 1019 1020 /* 1021 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SWIFT: 1022 return false; 1023 */ 1024 1025 /* 1026 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ASN1: 1027 return false; 1028 */ 1029 1030 /* 1031 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_AVS: 1032 return false; 1033 */ 1034 1035 /* 1036 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_BLITZBASIC: 1037 return false; 1038 */ 1039 1040 /* 1041 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PUREBASIC: 1042 return false; 1043 */ 1044 1045 /* 1046 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_FREEBASIC: 1047 return false; 1048 */ 1049 1050 /* 1051 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_CSOUND: 1052 return false; 1053 */ 1054 1055 /* 1056 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ERLANG: 1057 return false; 1058 */ 1059 1060 /* 1061 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ESCRIPT: 1062 return false; 1063 */ 1064 1065 /* 1066 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_FORTH: 1067 return false; 1068 */ 1069 1070 /* 1071 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_LATEX: 1072 return false; 1073 */ 1074 1075 /* 1076 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_MMIXAL: 1077 return false; 1078 */ 1079 1080 /* 1081 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_NIMROD: 1082 return false; 1083 */ 1084 1085 /* 1086 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_NNCRONTAB: 1087 return false; 1088 */ 1089 1090 /* 1091 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_OSCRIPT: 1092 return false; 1093 */ 1094 1095 /* 1096 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_REBOL: 1097 return false; 1098 */ 1099 1100 /* 1101 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_REGISTRY: 1102 return false; 1103 */ 1104 1105 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_RUST: 1106 return true; 1107 1108 /* 1109 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SPICE: 1110 return false; 1111 */ 1112 1113 /* 1114 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_TXT2TAGS: 1115 return false; 1116 */ 1117 1118 /* 1119 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_VISUALPROLOG: 1120 return false; 1121 */ 1122 1123 /* 1124 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_EXTERNAL: 1125 return false; 1126 */ 1127 1128 default: 1129 return false; 1130 } 1131 } 1132 1133 /** 1134 * Whether Windows \\?\ path is supported 1135 * 1136 * Params: 1137 * ext = lang file extension 1138 * 1139 * Returns: true is supported 1140 */ 1141 pragma(inline, true) 1142 pure nothrow @safe @nogc 1143 bool is_extended_path_supported(S)(S ext) 1144 if (std.traits.isSomeString!(S)) 1145 1146 do 1147 { 1148 switch (ext) { 1149 case ".d": 1150 case ".go": 1151 case ".rs": 1152 return true; 1153 1154 //case ".php": 1155 default: 1156 return false; 1157 } 1158 } 1159 1160 /** 1161 * Convert LangType to extension 1162 * 1163 * Params: 1164 * lang = LangType 1165 * 1166 * Returns: file extension or null 1167 * ToDo: 1168 */ 1169 pure nothrow @safe @nogc 1170 S lang_to_ext(S)(npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType lang) 1171 1172 do 1173 { 1174 switch (lang) { 1175 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_TEXT: 1176 return ".txt"; 1177 1178 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PHP: 1179 return ".php"; 1180 1181 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_C: 1182 return ".c"; 1183 1184 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_CPP: 1185 return ".cpp"; 1186 1187 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_CS: 1188 return ".cs"; 1189 1190 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_OBJC: 1191 return null; 1192 1193 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_JAVA: 1194 return null; 1195 1196 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_RC: 1197 return null; 1198 1199 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_HTML: 1200 return ".html"; 1201 1202 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_XML: 1203 return ".xml"; 1204 1205 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_MAKEFILE: 1206 return null; 1207 1208 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PASCAL: 1209 return null; 1210 1211 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_BATCH: 1212 return null; 1213 1214 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_INI: 1215 return ".ini"; 1216 1217 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ASCII: 1218 return null; 1219 1220 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_USER: 1221 return null; 1222 1223 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ASP: 1224 return null; 1225 1226 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SQL: 1227 return null; 1228 1229 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_VB: 1230 return ".vb"; 1231 1232 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_JS: 1233 return null; 1234 1235 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_CSS: 1236 return null; 1237 1238 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PERL: 1239 return null; 1240 1241 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PYTHON: 1242 return ".py"; 1243 1244 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_LUA: 1245 return null; 1246 1247 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_TEX: 1248 return null; 1249 1250 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_FORTRAN: 1251 return null; 1252 1253 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_BASH: 1254 return null; 1255 1256 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_FLASH: 1257 return null; 1258 1259 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_NSIS: 1260 return null; 1261 1262 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_TCL: 1263 return null; 1264 1265 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_LISP: 1266 return null; 1267 1268 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SCHEME: 1269 return null; 1270 1271 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ASM: 1272 return ".asm"; 1273 1274 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_DIFF: 1275 return null; 1276 1277 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PROPS: 1278 return null; 1279 1280 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PS: 1281 return null; 1282 1283 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_RUBY: 1284 return ".rb"; 1285 1286 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SMALLTALK: 1287 return null; 1288 1289 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_VHDL: 1290 return null; 1291 1292 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_KIX: 1293 return null; 1294 1295 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_AU3: 1296 return null; 1297 1298 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_CAML: 1299 return null; 1300 1301 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ADA: 1302 return null; 1303 1304 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_VERILOG: 1305 return null; 1306 1307 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_MATLAB: 1308 return null; 1309 1310 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_HASKELL: 1311 return null; 1312 1313 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_INNO: 1314 return null; 1315 1316 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SEARCHRESULT: 1317 return null; 1318 1319 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_CMAKE: 1320 return null; 1321 1322 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_YAML: 1323 return null; 1324 1325 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_COBOL: 1326 return null; 1327 1328 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_GUI4CLI: 1329 return null; 1330 1331 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_D: 1332 return ".d"; 1333 1334 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_POWERSHELL: 1335 return null; 1336 1337 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_R: 1338 return null; 1339 1340 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_JSP: 1341 return null; 1342 1343 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_COFFEESCRIPT: 1344 return null; 1345 1346 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_JSON: 1347 return ".json"; 1348 1349 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_JAVASCRIPT: 1350 return null; 1351 1352 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_FORTRAN_77: 1353 return null; 1354 1355 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_BAANC: 1356 return null; 1357 1358 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SREC: 1359 return null; 1360 1361 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_IHEX: 1362 return null; 1363 1364 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_TEHEX: 1365 return null; 1366 1367 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SWIFT: 1368 return null; 1369 1370 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ASN1: 1371 return null; 1372 1373 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_AVS: 1374 return null; 1375 1376 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_BLITZBASIC: 1377 return null; 1378 1379 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PUREBASIC: 1380 return null; 1381 1382 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_FREEBASIC: 1383 return null; 1384 1385 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_CSOUND: 1386 return null; 1387 1388 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ERLANG: 1389 return null; 1390 1391 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ESCRIPT: 1392 return null; 1393 1394 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_FORTH: 1395 return null; 1396 1397 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_LATEX: 1398 return null; 1399 1400 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_MMIXAL: 1401 return null; 1402 1403 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_NIMROD: 1404 return null; 1405 1406 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_NNCRONTAB: 1407 return null; 1408 1409 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_OSCRIPT: 1410 return null; 1411 1412 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_REBOL: 1413 return null; 1414 1415 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_REGISTRY: 1416 return null; 1417 1418 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_RUST: 1419 return ".rs"; 1420 1421 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SPICE: 1422 return null; 1423 1424 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_TXT2TAGS: 1425 return null; 1426 1427 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_VISUALPROLOG: 1428 return null; 1429 1430 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_EXTERNAL: 1431 return null; 1432 1433 default: 1434 return null; 1435 } 1436 } 1437 1438 /** 1439 * Contert extension to LangType 1440 * 1441 * Params: 1442 * extension = file extension 1443 * 1444 * Returns: LangType, default is L_EXTERNAL 1445 * ToDo: 1446 */ 1447 pure nothrow @safe @nogc 1448 npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType ext_to_lang(C)(const (C)[] extension) 1449 if (std.traits.isSomeChar!(C)) 1450 1451 in 1452 { 1453 if (extension.length != 0) { 1454 assert(extension.length >= 2); 1455 assert(extension[0] == '.'); 1456 } 1457 } 1458 1459 do 1460 { 1461 switch (extension) { 1462 case ".txt": 1463 case ".log": 1464 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_TEXT; 1465 1466 case ".php": 1467 case ".php3": 1468 case ".php4": 1469 case ".php5": 1470 case ".phps": 1471 case ".phpt": 1472 case ".phtml": 1473 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PHP; 1474 1475 case ".h": 1476 case ".c": 1477 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_C; 1478 1479 case ".hh": 1480 case ".hpp": 1481 case ".hxx": 1482 case ".cc": 1483 case ".cpp": 1484 case ".cxx": 1485 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_CPP; 1486 1487 case ".cs": 1488 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_CS; 1489 1490 /* 1491 case ".": 1492 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_OBJC; 1493 */ 1494 1495 /* 1496 case ".": 1497 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_JAVA; 1498 */ 1499 1500 /* 1501 case ".": 1502 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_RC; 1503 */ 1504 1505 case ".html": 1506 case ".htm": 1507 case ".shtml": 1508 case ".shtm": 1509 case ".hta": 1510 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_HTML; 1511 1512 case ".xml": 1513 case ".xhtml": 1514 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_XML; 1515 1516 /* 1517 case ".": 1518 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_MAKEFILE; 1519 */ 1520 1521 /* 1522 case ".": 1523 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PASCAL; 1524 */ 1525 1526 /* 1527 case ".": 1528 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_BATCH; 1529 */ 1530 1531 case ".ini": 1532 case ".inf": 1533 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_INI; 1534 1535 /* 1536 case ".": 1537 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ASCII; 1538 */ 1539 1540 /* 1541 case ".": 1542 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_USER; 1543 */ 1544 1545 case ".asp": 1546 case ".aspx": 1547 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ASP; 1548 1549 case ".sql": 1550 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SQL; 1551 1552 case ".vb": 1553 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_VB; 1554 1555 /* 1556 case ".js": 1557 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_JS; 1558 */ 1559 1560 case ".css": 1561 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_CSS; 1562 1563 case ".pl": 1564 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PERL; 1565 1566 case ".py": 1567 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PYTHON; 1568 1569 case ".lua": 1570 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_LUA; 1571 1572 /* 1573 case ".": 1574 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_TEX; 1575 */ 1576 1577 /* 1578 case ".": 1579 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_FORTRAN; 1580 */ 1581 1582 /* 1583 case ".": 1584 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_BASH; 1585 */ 1586 1587 /* 1588 case ".": 1589 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_FLASH; 1590 */ 1591 1592 /* 1593 case ".": 1594 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_NSIS; 1595 */ 1596 1597 /* 1598 case ".": 1599 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_TCL; 1600 */ 1601 1602 /* 1603 case ".": 1604 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_LISP; 1605 */ 1606 1607 /* 1608 case ".": 1609 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SCHEME; 1610 */ 1611 1612 /* 1613 case ".": 1614 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ASM; 1615 */ 1616 1617 /* 1618 case ".": 1619 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_DIFF; 1620 */ 1621 1622 /* 1623 case ".": 1624 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PROPS; 1625 */ 1626 1627 /* 1628 case ".": 1629 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PS; 1630 */ 1631 1632 case ".rb": 1633 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_RUBY; 1634 1635 /* 1636 case ".": 1637 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SMALLTALK; 1638 */ 1639 1640 /* 1641 case ".": 1642 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_VHDL; 1643 */ 1644 1645 /* 1646 case ".": 1647 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_KIX; 1648 */ 1649 1650 /* 1651 case ".": 1652 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_AU3; 1653 */ 1654 1655 /* 1656 case ".": 1657 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_CAML; 1658 */ 1659 1660 /* 1661 case ".": 1662 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ADA; 1663 */ 1664 1665 /* 1666 case ".": 1667 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_VERILOG; 1668 */ 1669 1670 /* 1671 case ".": 1672 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_MATLAB; 1673 */ 1674 1675 /* 1676 case ".": 1677 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_HASKELL; 1678 */ 1679 1680 /* 1681 case ".": 1682 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_INNO; 1683 */ 1684 1685 /* 1686 case ".": 1687 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SEARCHRESULT; 1688 */ 1689 1690 /* 1691 case ".": 1692 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_CMAKE; 1693 */ 1694 1695 /* 1696 case ".": 1697 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_YAML; 1698 */ 1699 1700 /* 1701 case ".": 1702 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_COBOL; 1703 */ 1704 1705 /* 1706 case ".": 1707 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_GUI4CLI; 1708 */ 1709 1710 case ".d": 1711 case ".dd": 1712 case ".di": 1713 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_D; 1714 1715 case ".ps": 1716 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_POWERSHELL; 1717 1718 case ".r": 1719 case ".rda": 1720 case ".rdata": 1721 case ".rds": 1722 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_R; 1723 1724 /* 1725 case ".": 1726 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_JSP; 1727 */ 1728 1729 /* 1730 case ".": 1731 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_COFFEESCRIPT; 1732 */ 1733 1734 case ".json": 1735 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_JSON; 1736 1737 /* 1738 case ".js": 1739 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_JAVASCRIPT; 1740 */ 1741 1742 /* 1743 case ".": 1744 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_FORTRAN_77; 1745 */ 1746 1747 /* 1748 case ".": 1749 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_BAANC; 1750 */ 1751 1752 /* 1753 case ".": 1754 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SREC; 1755 */ 1756 1757 /* 1758 case ".": 1759 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_IHEX; 1760 */ 1761 1762 /* 1763 case ".": 1764 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_TEHEX; 1765 */ 1766 1767 /* 1768 case ".": 1769 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SWIFT; 1770 */ 1771 1772 /* 1773 case ".": 1774 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ASN1; 1775 */ 1776 1777 /* 1778 case ".": 1779 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_AVS; 1780 */ 1781 1782 /* 1783 case ".": 1784 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_BLITZBASIC; 1785 */ 1786 1787 /* 1788 case ".": 1789 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PUREBASIC; 1790 */ 1791 1792 /* 1793 case ".": 1794 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_FREEBASIC; 1795 */ 1796 1797 /* 1798 case ".": 1799 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_CSOUND; 1800 */ 1801 1802 /* 1803 case ".": 1804 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ERLANG; 1805 */ 1806 1807 /* 1808 case ".": 1809 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ESCRIPT; 1810 */ 1811 1812 /* 1813 case ".": 1814 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_FORTH; 1815 */ 1816 1817 /* 1818 case ".": 1819 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_LATEX; 1820 */ 1821 1822 /* 1823 case ".": 1824 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_MMIXAL; 1825 */ 1826 1827 /* 1828 case ".": 1829 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_NIMROD; 1830 */ 1831 1832 /* 1833 case ".": 1834 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_NNCRONTAB; 1835 */ 1836 1837 /* 1838 case ".": 1839 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_OSCRIPT; 1840 */ 1841 1842 /* 1843 case ".": 1844 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_REBOL; 1845 */ 1846 1847 /* 1848 case ".": 1849 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_REGISTRY; 1850 */ 1851 1852 case ".rs": 1853 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_RUST; 1854 1855 /* 1856 case ".": 1857 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SPICE; 1858 */ 1859 1860 /* 1861 case ".": 1862 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_TXT2TAGS; 1863 */ 1864 1865 /* 1866 case ".": 1867 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_VISUALPROLOG; 1868 */ 1869 1870 default: 1871 return npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_EXTERNAL; 1872 } 1873 } 1874 1875 unittest 1876 { 1877 static import npp_api.pluginfunc.lang; 1878 1879 assert(npp_api.pluginfunc.lang.ext_to_lang(".php") == npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PHP); 1880 assert(npp_api.pluginfunc.lang.ext_to_lang(".php"w) == npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PHP); 1881 assert(npp_api.pluginfunc.lang.ext_to_lang(".php"d) == npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PHP); 1882 assert(npp_api.pluginfunc.lang.ext_to_lang(".php\0") != npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PHP); 1883 assert(npp_api.pluginfunc.lang.ext_to_lang(".PHP") != npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PHP); 1884 } 1885 1886 version (Windows) { 1887 /** 1888 * プログラミング言語のデフォルトのファイルパスを返す。 1889 * 1890 * Params: 1891 * lang = 1892 * 1893 * Returns: そのプログラミング言語の実行ファイルへのPATHが決まっていたらそのPATH。決まっていないなら実行ファイル名のみ。見つからないならnull。 1894 * ToDo: 1895 */ 1896 pure nothrow @safe @nogc 1897 immutable (C)[] default_lang_path(C)(npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType lang) 1898 if (std.traits.isSomeChar!(C)) 1899 1900 do 1901 { 1902 switch (lang) { 1903 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_TEXT: 1904 return null; 1905 1906 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PHP: 1907 return "php.exe"; 1908 1909 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_C: 1910 return null; 1911 1912 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_CPP: 1913 return null; 1914 1915 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_CS: 1916 return "csc.exe"; 1917 1918 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_OBJC: 1919 return null; 1920 1921 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_JAVA: 1922 return null; 1923 1924 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_RC: 1925 return null; 1926 1927 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_HTML: 1928 return null; 1929 1930 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_XML: 1931 return null; 1932 1933 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_MAKEFILE: 1934 return null; 1935 1936 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PASCAL: 1937 return null; 1938 1939 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_BATCH: 1940 return null; 1941 1942 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_INI: 1943 return null; 1944 1945 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ASCII: 1946 return null; 1947 1948 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_USER: 1949 return null; 1950 1951 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ASP: 1952 return null; 1953 1954 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SQL: 1955 return null; 1956 1957 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_VB: 1958 return null; 1959 1960 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_JS: 1961 return null; 1962 1963 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_CSS: 1964 return null; 1965 1966 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PERL: 1967 return null; 1968 1969 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PYTHON: 1970 return "python.exe"; 1971 1972 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_LUA: 1973 return null; 1974 1975 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_TEX: 1976 return null; 1977 1978 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_FORTRAN: 1979 return null; 1980 1981 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_BASH: 1982 return null; 1983 1984 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_FLASH: 1985 return null; 1986 1987 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_NSIS: 1988 return null; 1989 1990 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_TCL: 1991 return null; 1992 1993 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_LISP: 1994 return null; 1995 1996 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SCHEME: 1997 return null; 1998 1999 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ASM: 2000 return null; 2001 2002 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_DIFF: 2003 return null; 2004 2005 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PROPS: 2006 return null; 2007 2008 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PS: 2009 return null; 2010 2011 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_RUBY: 2012 return "ruby.exe"; 2013 2014 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SMALLTALK: 2015 return null; 2016 2017 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_VHDL: 2018 return null; 2019 2020 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_KIX: 2021 return null; 2022 2023 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_AU3: 2024 return null; 2025 2026 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_CAML: 2027 return null; 2028 2029 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ADA: 2030 return null; 2031 2032 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_VERILOG: 2033 return null; 2034 2035 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_MATLAB: 2036 return null; 2037 2038 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_HASKELL: 2039 return null; 2040 2041 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_INNO: 2042 return null; 2043 2044 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SEARCHRESULT: 2045 return null; 2046 2047 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_CMAKE: 2048 return null; 2049 2050 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_YAML: 2051 return null; 2052 2053 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_COBOL: 2054 return null; 2055 2056 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_GUI4CLI: 2057 return null; 2058 2059 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_D: 2060 return "%HOMEDRIVE%\\D\\dmd2\\windows\\bin\\dmd.exe"; 2061 2062 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_POWERSHELL: 2063 return null; 2064 2065 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_R: 2066 return null; 2067 2068 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_JSP: 2069 return null; 2070 2071 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_COFFEESCRIPT: 2072 return null; 2073 2074 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_JSON: 2075 return null; 2076 2077 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_JAVASCRIPT: 2078 return null; 2079 2080 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_FORTRAN_77: 2081 return null; 2082 2083 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_BAANC: 2084 return null; 2085 2086 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SREC: 2087 return null; 2088 2089 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_IHEX: 2090 return null; 2091 2092 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_TEHEX: 2093 return null; 2094 2095 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SWIFT: 2096 return null; 2097 2098 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ASN1: 2099 return null; 2100 2101 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_AVS: 2102 return null; 2103 2104 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_BLITZBASIC: 2105 return null; 2106 2107 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_PUREBASIC: 2108 return null; 2109 2110 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_FREEBASIC: 2111 return null; 2112 2113 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_CSOUND: 2114 return null; 2115 2116 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ERLANG: 2117 return null; 2118 2119 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_ESCRIPT: 2120 return null; 2121 2122 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_FORTH: 2123 return null; 2124 2125 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_LATEX: 2126 return null; 2127 2128 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_MMIXAL: 2129 return null; 2130 2131 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_NIMROD: 2132 return null; 2133 2134 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_NNCRONTAB: 2135 return null; 2136 2137 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_OSCRIPT: 2138 return null; 2139 2140 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_REBOL: 2141 return null; 2142 2143 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_REGISTRY: 2144 return null; 2145 2146 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_RUST: 2147 return "rustc.exe"; 2148 2149 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_SPICE: 2150 return null; 2151 2152 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_TXT2TAGS: 2153 return null; 2154 2155 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_VISUALPROLOG: 2156 return null; 2157 2158 case npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType.L_EXTERNAL: 2159 default: 2160 return null; 2161 } 2162 } 2163 2164 /** 2165 * 拡張子からデフォルトの実行ファイル名のPATHを返す 2166 * ToDo: 2167 */ 2168 pure nothrow @safe @nogc 2169 immutable (C)[] default_lang_path(C)(const (C)[] extension) 2170 if (std.traits.isSomeChar!(C)) 2171 2172 do 2173 { 2174 npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType lang_type = .ext_to_lang(extension); 2175 2176 if (is_known_lang(lang_type)) { 2177 return .default_lang_path!(C)(lang_type); 2178 } 2179 2180 switch (extension) { 2181 case ".dub": 2182 case ".sdl": 2183 return "%HOMEDRIVE%\\D\\dmd2\\windows\\bin\\dub.exe"; 2184 2185 case ".go": 2186 return "%HOMEDRIVE%\\Go\\bin\\go.exe"; 2187 2188 default: 2189 break; 2190 } 2191 2192 return null; 2193 } 2194 2195 template L_EXE_PATH(S, npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType lang) 2196 if (std.traits.isSomeString!(S)) 2197 { 2198 enum S L_EXE_PATH = default_lang_path!(S)(lang); 2199 static assert(L_EXE_PATH.length != 0); 2200 } 2201 2202 pragma(inline, true) 2203 nothrow @nogc 2204 void set_lang(core.sys.windows.windef.HWND _nppHandle, npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType lang) 2205 2206 do 2207 { 2208 if (is_known_lang(lang)) { 2209 npp_api.pluginfunc.npp_msgs.send_NPPM_SETCURRENTLANGTYPE(_nppHandle, lang); 2210 } 2211 } 2212 2213 pragma(inline, true) 2214 nothrow @nogc 2215 void set_lang(C)(core.sys.windows.windef.HWND _nppHandle, const (C)[] extension) 2216 if (std.traits.isSomeChar!(C)) 2217 2218 do 2219 { 2220 npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType lang_type = .ext_to_lang(extension); 2221 2222 if (is_known_lang(lang_type)) { 2223 npp_api.pluginfunc.npp_msgs.send_NPPM_SETCURRENTLANGTYPE(_nppHandle, lang_type); 2224 } 2225 } 2226 2227 version (Not_betterC) { 2228 wstring replace_lang_variable(wstring path) 2229 2230 do 2231 { 2232 if ((path == null) || (!std.algorithm.canFind(path, '%'))) { 2233 return path; 2234 } 2235 2236 core.sys.windows.winnt.WCHAR[npp_api.pluginfunc.path.OS_MAX_PATH] buf = '\0'; 2237 2238 if (core.sys.windows.winbase.GetEnvironmentVariableW(&(npp_api.pluginfunc..string.c_wstring!("HOMEDRIVE"w)[0]), &(buf[0]), buf.length) == 0) { 2239 return path; 2240 } 2241 2242 return std.array.replace(path, "%HOMEDRIVE%"w, npp_api.pluginfunc..string.from_stringz(buf)).idup; 2243 } 2244 2245 nothrow 2246 wstring lang_path(lang_id)(lang_id lang) 2247 if (is(lang_id : npp_api.PowerEditor.MISC.PluginsManager.Notepad_plus_msgs.LangType) || is(lang_id : const wchar[])) 2248 2249 do 2250 { 2251 wstring path = default_lang_path!(wchar)(lang); 2252 2253 if (path == null) { 2254 return null; 2255 } 2256 2257 try { 2258 if (std.algorithm.canFind(path, '%')) { 2259 path = replace_lang_variable(path); 2260 assert(!std.algorithm.canFind(path, '%')); 2261 } 2262 2263 if (!std.path.isAbsolute(path)) { 2264 path = npp_api.pluginfunc.path.search_exe(path); 2265 } 2266 } catch (Exception e) { 2267 } 2268 2269 return path.idup; 2270 } 2271 } 2272 }