Skip to content

Commit

Permalink
Project release v1.0.0.
Browse files Browse the repository at this point in the history
  • Loading branch information
Leonard-The-Wise committed Apr 26, 2022
1 parent 6ee4582 commit f978058
Show file tree
Hide file tree
Showing 67 changed files with 1,546 additions and 9,076 deletions.
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,11 @@ bld/
Source Media/
nwnsc/

#Releases
Release-x64/
Release-x86/
Release-Packages/

# Visual Studio 2015/2017 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
Expand Down
6 changes: 3 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[submodule "lib/PCRE2"]
path = lib/PCRE2
url = https://github.com/Leonard-The-Wise/pcre2
[submodule "lib/NscLib"]
path = lib/NscLib
url = https://github.com/Leonard-The-Wise/NscLib
[submodule "lib/lunasvg"]
path = lib/lunasvg
url = https://github.com/Leonard-The-Wise/lunasvg
Binary file removed Media/NWScriptLogo-200.png
Binary file not shown.
Binary file removed Media/NWScriptLogo-300.png
Binary file not shown.
Binary file added Media/NWScriptLogo-Simplified.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
32 changes: 23 additions & 9 deletions Media/OnlineHelp-Dark.rtf
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1046\deflangfe1046{\fonttbl{\f0\fswiss\fprq2\fcharset0 Calibri;}{\f1\froman\fprq2\fcharset0 Cambria;}{\f2\fmodern\fprq1\fcharset0 Consolas;}{\f3\froman\fprq2\fcharset2 Symbol;}}
{\colortbl ;\red240\green162\blue46;\red191\green191\blue191;\red242\green242\blue242;\red210\green159\blue15;\red244\green176\blue131;\red0\green0\blue255;\red255\green192\blue0;\red0\green0\blue0;\red64\green64\blue64;}
{\stylesheet{ Normal;}{\s1 heading 1;}{\s2 heading 2;}{\s3 heading 3;}{\s4 heading 4;}}
{\stylesheet{ Normal;}{\s1 heading 1;}{\s2 heading 2;}{\s3 heading 3;}}
{\*\generator Riched20 10.0.22000}{\*\mmathPr\mdispDef1\mwrapIndent1440 }\viewkind5\uc1\viewbksp1{\*\background
{\shp{\*\shpinst{\sp{\sn fillType}{\sv 0}}
{\sp{\sn fillColor}{\sv 4210752}}
Expand All @@ -15,9 +15,17 @@

\pard\keep\keepn\widctlpar\s2\sb200\cf1\b\f0\fs28 PLUGIN USAGE:\par
\pard\keep\keepn\widctlpar\s3\sb200\fs24 Automatic Syntax Highlighting\par
\pard\keep\keepn\widctlpar\s3\sb200\fs24 Automatic Syntax Highlighting and first procedures\par
\pard\widctlpar\fi-480\li480\sb36\sa36\qj\cf2\b0\f1\bullet\tab To see the colored syntax of \cf3\f2\fs20 NWScript files\cf2\f1\fs24 , select \cf3\f2\fs20 NWScript Language\cf2\f1\fs24 from Languages menu.\par
\pard\widctlpar\fi-480\li480\sb36\sa36\qj\cf2\b0\f1\bullet\tab When first installed, the plugin will ask you permission to copy some extra \cf3\f2\fs20 XML\cf2\f1\fs24 files to (sometimes) a protected directory inside the \cf3\f2\fs20 Notepad++\cf2\f1\fs24 installation path. It is \b recommended\b0 that you allow this action to take place, and then the \cf3\f2\fs20 Automatic Syntax Coloring\cf2\f1\fs24 will happen. If you want to know why this is necessary, it is because when booted for the first time, the \cf3\f2\fs20 NWScript-Npp.xml\cf2\f1\fs24 definitions file for the plugin will be empty. This happens because the \cf3\f2\fs20 Auto Complete XML\cf2\f1\fs24 file will also not exist -> and this last one is usually placed inside a protected directory on Notepad++ installation path. Since the \cf3\f2\fs20 NWScript-Npp.xml\cf2\f1\fs24 and the \cf3\f2\fs20 Auto Complete XML\cf2\f1\fs24 files need to be in sync with each other at all times, the only startup option is to create a dummy \cf3\f2\fs20 NWScript-Npp.xml\cf2\f1\fs24 just to avoid \cf3\f2\fs20 Notepad++\cf2\f1\fs24 rejecting the plugin entirely, and then wait for the user to install the files - or allow us to do it for them. This action will often require \cf3\f2\fs20 elevation\cf2\f1\fs24 - so the Plugin will ask you to run \cf3\f2\fs20 Notepad++\cf2\f1\fs24 in \cf3\f2\fs20 Administrator Mode \cf2\f1\fs24 to copy the files automatically for you. \par
\b Remark:\b0 If the plugin detects write permissions to those files \i (eg: you have a portable Notepad++ installation on an unprotected directory)\i0 , this process will happen automatically and no action on your part will be required.\par
\bullet\tab And if for any reasons you'd rather not give the plugin \cf3\f2\fs20 Administrator\cf2\f1\fs24 access, you may also \b copy the required files manually\b0 to their respective destinations. When you download a release \cf3\f2\fs20 .zip\cf2\f1\fs24 file from the plugin \cf3\f2\fs20 Github page\cf2\f1\fs24 (see the \cf3\f2\fs20 link\cf2\f1\fs24 above help), inside that archive you will find two folders - one named \cf3\f2\fs20 autoCompletion\cf2\f1\fs24 and other \cf3\f2\fs20 functionList\cf2\f1\fs24 . Just put their respective contents inside the \cf3\f2\fs20 Notepad++\cf2\f1\fs24 installation path, overwriting any file if necessary. After placing the two folders, copy the \cf3\f2\fs20 NWScript-Npp.xml\cf2\f1\fs24 file to your \cf3\f2\fs20 %AppData%\\Notepad++\\plugins\\Config\cf2\f1\fs24 folder, overwriting the file present there (remember, it's a \cf3\f2\fs20 dummy\cf2\f1\fs24 file) and then you are done.\par
\b Note:\b0 when the plugin does it, it does not overwrite the \cf3\f2\fs20 overrideMap.xml\cf2\f1\fs24 , instead we patch the file properly, so if you use multiple lexers you won't lose any pre-configured options for them, hence the option to give us admin access is the most recommended. But if you don't use other \cf3\f2\fs20 Lexer plugins\cf2\f1\fs24 or \cf3\f2\fs20 User-Defined Languages\cf2\f1\fs24 it is completely safe to just ovewrite the \cf3\f2\fs20 overrideMap.xml\cf2\f1\fs24 anyway.\par
\bullet\tab After doing the above process, we also recommend you to take a moment to import your \cf3\f2\fs20 Custom Constants\cf2\f1\fs24 and \cf3\f2\fs20 functions\cf2\f1\fs24 to the plugin so we may Color Syntax them for you. Check the Menu Option \cf3\f2\fs20 Import User-Defined Tokens\cf2\f1\fs24 bellow. You may also want to install the \cf3\f2\fs20 Dark Theme\cf2\f1\fs24 lexer support for Notepad++ (this usually requires elevated privileges also), so when you switch between \cf3\f2\fs20 Dark\cf2\f1\fs24 and \cf3\f2\fs20 Light\cf2\f1\fs24 mode, the transition on your text will be seamless.\par
\bullet\tab If for any reason you miss or deny the Plugin's first request to install the configuration files, there will be a Menu Option called \cf3\f2\fs20 Install Plugin's XML Config Files\cf2\f1\fs24 avaliable to you. This option only shows up when the plugin don't detect the files, so if you already installed them manually you won't see this option anymore.\par
\par
Remarks:\par
\bullet\tab To see the colored syntax of \cf3\f2\fs20 NWScript files\cf2\f1\fs24 , just select \cf3\f2\fs20 NWScript\cf2\f1\fs24 from the Languages menu. Do this \b after\b0 the required files are installed (and doing a \cf3\f2\fs20 Notepad++\cf2\f1\fs24 restart if necessary) or else you may not notice any difference.\par

\pard\keep\keepn\widctlpar\s3\sb200\cf1\b\f0 Auto-Indentation support:\par
Expand Down Expand Up @@ -50,8 +58,6 @@
\f3\'b7\tab\f1 When writing file filters, you may use any normal Windows file wildcards. Also, this field accepts a list of file filters separated by commas. \b Do not\b0 use spaces in between commas. Example of valid filter: \cf3\f2\fs20 *x.nss,nw_s0_*.nss,nw_s1_*.nss\cf2\f1\fs24 .\par
\f3\'b7\tab\f1 File filters are saved separately for \b Compile\b0 and \b Disassemble\b0 mode, hence you may have 2 different sets, one for each mode.\par

\pard\widctlpar\sb36\sa36\qj\par

\pard\keep\keepn\widctlpar\s3\sb200\cf1\b\f0 Menu option - \ldblquote Run last batch\rdblquote :\par
\pard\widctlpar\fi-480\li480\sb36\sa36\qj\cf2\b0\f1\bullet\tab Runs the \cf3\f2\fs20 last successful batch\cf2\f1\fs24 operation in this session. This option is only enabled after a successful batch is processed on a given session.\par
Expand Down Expand Up @@ -122,6 +128,15 @@
\pard\widctlpar\fi-480\li480\sb36\sa36\qj\cf2\b0\f1\bullet\tab This will reset all editor \cf3\f2\fs20 color styles\cf2\f1\fs24 to the \cf3\f2\fs20 default values\cf2\f1\fs24 - either for \cf3\f2\fs20 light\cf2\f1\fs24 and \cf3\f2\fs20 dark\cf2\f1\fs24 themes. No functions or constants definitions will be ereased in the process. The main purpose of this function is to correct a known \cf3\f2\fs20 Notepad++\cf2\f1\fs24 behavior that changes your \cf3\f2\fs20 Npp-Plugin.xml\cf2\f1\fs24 stylers when you change themes inside the \cf3\f2\fs20 Settings -> Style Configurator\cf2\f1\fs24 dialog box. Since \cf3\f2\fs20 Notepad++\cf2\f1\fs24 must edit the plugin styler directly to save the settings, that will overwrite whichever colors it had before, with no custom theme support. Hence, it is handy to have a \cf3\f2\fs20 reset\cf2\f1\fs24 option so when you change back themes you won't need to manually set ALL of the \cf3\f2\fs20 stylers\cf2\f1\fs24 manually again.\par

\pard\keep\keepn\widctlpar\s3\sb200\cf1\b\f0 Menu option - \ldblquote Repair Function List\rdblquote :\par
\pard\widctlpar\fi-480\li480\sb36\sa36\qj\cf2\b0\f1\bullet\tab This is useful if more than one Lexer plugin is present. Sometimes other plugins may overwrite the \cf3\f2\fs20 overrideMap.xml\cf2\f1\fs24 file inside the \cf3\f2\fs20 functionList\cf2\f1\fs24 directory, rendering the Functions List panel for NWScript files to not work anymore. In this case, the NWScript Tools can auto-fix that file for you (and this also will also cause the plugin to re-copy nwscript.xml into the \cf3\f2\fs20 functionList\cf2\f1\fs24 directory.\par
\bullet\tab Unfortunately, up to version \cf3\f2\fs20 8.3.3\cf2\f1\fs24 , Notepad++ still does not support Function List for external languages (like of Plugin's). But still I found this option to be relevant for shipping on this release, because we are working on a patch for that, so when it comes (soon), the plugin will already be prepared for that. \par

\pard\keep\keepn\widctlpar\s3\sb200\cf1\b\f0 Menu option - \ldblquote Install Plugin's XML Config Files\rdblquote :\par
\pard\widctlpar\fi-480\li480\sb36\sa36\qj\cf2\b0\f1\bullet\tab This option will only be avaliable when you choose to not let the plugin install the required XML files for it to function properly. If you select it, you'll be asked to run \cf3\f2\fs20 Notepad++\cf2\f1\fs24 in \cf3\f2\fs20 Administrator Mode\cf2\f1\fs24 if the plugin don't detect to have write permission to the required files.\par

\pard\keep\keepn\widctlpar\s3\sb200\cf1\b\f0 Menu option - \ldblquote About me\rdblquote :\par
\pard\widctlpar\fi-480\li480\sb36\sa36\qj\cf2\b0\f1\bullet\tab Opens the \cf3\f2\fs20 About Dialog Box\cf2\f1\fs24 (yeah, really!). {\pict{\*\picprop{\sp{\sn wzDescription}{\sv Image}}{\sp{\sn posv}{\sv 1}}
Expand Down Expand Up @@ -186,10 +201,9 @@ fa2d4d35d1ed0e81f68563c72aaae5b172a2934351f8a5719cc9b0d0f36ad83ad1ed5e948f672b
} icons near some menu options, that's because if you want to use that option you must either run \cf3\f2\fs20 Notepad++\cf2\f1\fs24 with \cf3\f2\fs20 Administrator Privileges\cf2\f1\fs24 OR you may also manually provide write permissions to the option's required files, because they are located in a secured path like \cf3\f2\fs20 %ProgramFiles%\cf2\f1\fs24 or so. Don't worry, you will be notified of which file you need to provide permissions to for each operation.\par

\pard\widctlpar\sb180\sa180\qj Options that requires elevated privileges will usually access these files bellow, in a combination of one or more files for each option:\par

\pard\keep\keepn\widctlpar\s4\sb200\cf1\i\f2\fs22 %ProgramFiles%\\Notepad++\\themes\\DarkTheme.xml\f0\fs24\line\f2\fs22 %ProgramFiles%\\Notepad++\\functions\\nwscript.xml\f0\fs24\line\f2\fs22 %ProgramFiles%\\Notepad++\\plugins\\Config\\NWScript-Npp.xml\f0\fs24\par
\pard\widctlpar\sb180\sa180\qj\cf2\i0\f1 So, unless you don't want to keep being bugged about files permissions, you can set write permission on those files permanently by going into the \cf3\f2\fs20 Windows Explorer\cf2\f1\fs24 , selecting the file's \cf3\f2\fs20 Properties\cf2\f1\fs24 , \cf3\f2\fs20 Security tab\cf2\f1\fs24 , selecting your \cf3\f2\fs20 Username\cf2\f1\fs24 and then marking all \cf3\f2\fs20 permission options\cf2\f1\fs24 avaliable. Then magically, the \cf3\f2\fs20 shield icons\cf2\f1\fs24 will vanish from your interface (requires a \cf3\f2\fs20 Notepad++\cf2\f1\fs24 restart).\par
\cf1\i\f2\fs22 %ProgramFiles%\\Notepad++\\themes\\DarkTheme.xml\f0\fs24\line\f2\fs22 %ProgramFiles%\\Notepad++\\autoCompletion\\nwscript.xml\f0\fs24\line\f2\fs22 %ProgramFiles%\\Notepad++\\functionList\\nwscript.xml\f0\fs24\line\f2\fs22 %ProgramFiles%\\Notepad++\\functionList\\overrideMap.xml\f0\fs24\line\f2\fs22 %AppData%\\Notepad++\\plugins\\Config\\NWScript-Npp.xml\f0\fs24\par
\cf2\i0\f1 So, unless you don't want to keep being bugged about files permissions, you can set write permission on those files permanently by going into the \cf3\f2\fs20 Windows Explorer\cf2\f1\fs24 , selecting the file's \cf3\f2\fs20 Properties\cf2\f1\fs24 , \cf3\f2\fs20 Security tab\cf2\f1\fs24 , selecting your \cf3\f2\fs20 Username\cf2\f1\fs24 and then marking all \cf3\f2\fs20 permission options\cf2\f1\fs24 avaliable. Then magically, the \cf3\f2\fs20 shield icons\cf2\f1\fs24 will vanish from your interface (requires a \cf3\f2\fs20 Notepad++\cf2\f1\fs24 restart).\par
\b Note:\b0 Files on the \cf3\f2\fs20 %AppData%\cf2\f1\fs24 folder usually are \ul\b not protected\ulnone\b0 , so that last one is listed there just for reference.\par

\pard\keep\keepn\widctlpar\s2\sb200\cf1\b\f0\fs28 FINAL CONSIDERATIONS:\par
Expand Down
Loading

0 comments on commit f978058

Please sign in to comment.