Skip to content

Commit c5d8743

Browse files
authored
Merge pull request #32 from pryrt/fix-internal-links
Fix formatting according to CONTRIBUTION.md; fix cross-document links.
2 parents ec5f8d9 + 14648d4 commit c5d8743

File tree

10 files changed

+95
-87
lines changed

10 files changed

+95
-87
lines changed

CONTRIBUTION.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,7 @@ Your pull requests are welcome; however, they may not be accepted for various re
2222
* Use the checkbox **Search > Find > Search Mode: ☑ Regular Expression** to enable regular expressions in your search
2323

2424
4. For text that you want to indicate as user-entered (such as regular expressions or values entered into dialog box prompts), and for filenames and directories, use backticks to set the `monospaced / code` formatting.
25+
26+
## Cross-Links
27+
28+
To properly link from one page in the user-manual docs to another, use the syntax `[link name](../page/)` to link to the top level, or `[link name](../page/#anchor)` to link to an anchor (like a heading) in another document. Note that `page` does _not_ include the `.md` extension. The anchor names are the lower-case version of the section headers, with spaces replaced by hyphens. Thus, from the [Themes](content/docs/themes/) page, link to the [**Preferences > Style Configurator**](content/docs/preferences/#style-configurator) using the syntax `[**Preferences > Style Configurator**](../preferences/#style-configurator)

content/docs/auto-completion.md

Lines changed: 24 additions & 24 deletions
Large diffs are not rendered by default.

content/docs/function-list.md

Lines changed: 34 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,15 @@ weight: 80
77
Function List Panel is a zone to display all the functions (or method) found in the current file. The user can use the Function List Panel to access a function definition quickly by double clicking function item on the list. Function List can be customized to list the functions for whichever language. For customizing Function List to recognize your favorite language, please check below.
88

99

10-
Function list contains a search engin (by using regular expression) and a panel to display the search result (function list). It is designed to be as generic as possible, and allows user to modify the way to search, or to add new parser for any programming language.
11-
In order to make function list work for your language (if not supported), you should modify `functionList.xml`. It can be found in %APPDATA%\notepad++\ or in Notepad++ installed directory if you use zip package.
10+
Function list contains a search engine (by using regular expression) and a panel to display the search result (function list). It is designed to be as generic as possible, and allows user to modify the way to search, or to add new parser for any programming language.
11+
In order to make function list work for your language (if not supported), you should modify `functionList.xml`. It can be found in `%APPDATA%\notepad++\` or in the Notepad++ installed directory if you use zip package.
1212

1313
## How to customize function list
1414
In parser node it contains:
15-
- id: uniq ID for this parser
16-
- displayName: reserved for future use.
17-
- comment: Optional. you can make a RE in this attribute in order to identify comment zones. The identified zones will be ignored by search.
15+
16+
- `id`: uniq ID for this parser
17+
- `displayName`: reserved for future use.
18+
- `comment`: Optional. you can make a regular expression in this attribute in order to identify comment zones. The identified zones will be ignored by search.
1819

1920
There are 3 kinds of parsers: function parser, class parser and mix parser.
2021
Define a function parser if the language has only functions to parse (for example C).
@@ -27,41 +28,44 @@ A mix parser contains both function and classRange nodes.
2728

2829
### Function parser
2930
In function node it contains:
30-
- mainExpr: it's the regex to get the whole string which contains all the informations you need.
31-
- displayMode: reserved for future use.
32-
- functionName: define a or several RE to get the function name from the result of "mainExpr" attribute of "function" node.
33-
- nameExpr: 1..N
34-
- expr: here you define the RE to find the function name.
3531

36-
- className: define a or several RE to get the class name from the result of "mainExpr".
37-
- nameExpr: 1..N
38-
- expr: here you define the RE to find the function name.
39-
40-
Both functionName and className nodes are optional.
41-
If functionName and className are absent, then the found string by mainExpr RE will be processed as function name, and the class name won't be used.
32+
- `mainExpr`: it's the regex to get the whole string which contains all the informations you need.
33+
- `displayMode`: reserved for future use.
34+
- `functionName`: define a or several regular expression to get the function name from the result of "mainExpr" attribute of "function" node.
35+
- `nameExpr`: 1..N
36+
- `expr`: here you define the regular expression to find the function name.
37+
38+
- `className`: define a or several regular expression to get the class name from the result of "mainExpr".
39+
- `nameExpr`: 1..N
40+
- `expr`: here you define the regular expression to find the function name.
41+
42+
Both `functionName` and `className` nodes are optional.
43+
If `functionName` and `className` are absent, then the found string by `mainExpr` regular expression will be processed as function name, and the class name won't be used.
4244

4345

44-
The nodes functionName and className have the same structure, and they have the same parsing behaviour. For example, in the functionName node, we got 2 nameExpr nodes:
45-
If the function parser find the first result by mainExpr attribute, then it will use the first nameExpr to search in the first result, if found (the 2nd result), then it will use the 2nd nameExpr to search in the 2nd result. If found, then the function name is solved.
46+
The nodes `functionName` and `className` have the same structure, and they have the same parsing behaviour. For example, in the `functionName` node, we got 2 `nameExpr` nodes:
47+
If the function parser find the first result by `mainExpr` attribute, then it will use the first `nameExpr` to search in the first result, if found (the 2nd result), then it will use the 2nd `nameExpr` to search in the 2nd result. If found, then the function name is solved.
4648

4749
### Class parser
4850
In classRange node it contains:
49-
- mainExr: the main whole string to serach
50-
- displayMode: reserved for future use.
51-
- openSymbole & closeSymbole: they are optional. if defined, then the parser will determinate the zone of this class. It find first openSymbole from the first character of found string by mainExpr attribute. then it determinates the end of class by closeSymbole found. The algorithm deals with the several levels of imbrication. for example: \{\{\{\}\{\}\}\{\}\}
52-
- className: 1 (or more) nameExpr node for determinating class name (from the result of mainExpr searching).
53-
- function: search in the class zone by using mainExpr attribute and the functionName nodes.
51+
52+
- `mainExr`: the main whole string to serach
53+
- `displayMode`: reserved for future use.
54+
- `openSymbole` & `closeSymbole`: they are optional. if defined, then the parser will determinate the zone of this class. It find first `openSymbole` from the first character of found string by mainExpr attribute. then it determinates the end of class by `closeSymbole` found. The algorithm deals with the several levels of imbrication. for example: `\{\{\{\}\{\}\}\{\}\}`
55+
- `className`: 1 (or more) `nameExpr` node for determinating class name (from the result of `mainExpr` searching).
56+
- `function`: search in the class zone by using `mainExpr` attribute and the `functionName` nodes.
5457

5558
### Mix parser
56-
Mix Parser contains Class parser (classRange node) and Function parser (function node).
59+
Mix Parser contains Class parser (`classRange` node) and Function parser (`function` node).
5760
Class parser will be applied firstly to find class zones, then function parser will be applied on non-class zones.
5861

5962
### Link to Language
6063
Once you finish to defined your parser, you can associate it with Notepad++ internal language id (or with file extension), in order to make it works with the language you want. All you need to do is add association node(s) into associationMap node.
6164

62-
In associationMap, it contains:
63-
- association: 1 or several nodes to make associations between defined parsers and languages.
64-
- langID: Notepad++ internal language ID.
65-
- userDefinedLangName: User Defined Language Name. It makes association between User Defined Language and the parser. If langID is present, this attribute will be ignored.
66-
- ext: File name extesion (should contain '.'). If langID or userDefinedLangName is present, this attribute will be ignored.
67-
- id: Parser ID.
65+
In `associationMap`, it contains:
66+
67+
- `association`: 1 or several nodes to make associations between defined parsers and languages.
68+
- `langID`: Notepad++ internal language ID.
69+
- `userDefinedLangName`: User Defined Language Name. It makes association between User Defined Language and the parser. If langID is present, this attribute will be ignored.
70+
- `ext`: File name extesion (should contain `.`). If `langID` or `userDefinedLangName` is present, this attribute will be ignored.
71+
- `id`: Parser ID.

content/docs/macros.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ position of the cursor and will (normally speaking) operate relative on it.
1515

1616
## Record a macro
1717

18-
To record a macro, select `Macro -> Start` Recording or press the button on the
18+
To record a macro, select **Macro > Start Recording** or press the button on the
1919
toolbar. Notepad++ will now keep track of the changes you make on a document or
2020
certain actions you perform.
2121

22-
To stop recording, select `Macro -> Stop` Recording or select the button on the
22+
To stop recording, select **Macro > Stop Recording** or select the button on the
2323
toolbar. As an exception to most commands, you can toggle this behavior with a
2424
special shortcut combination that is not listed in the menu but solely in the
2525
Shortcut mapper (see Settings, Shortcutmapper). By default, this is the
@@ -32,23 +32,23 @@ recording another macro without saving your earlier work, it will be lost.
3232

3333
## Play a recoded macro
3434

35-
To play the macro in the buffer, select `Macro->Playback` or press the button.
35+
To play the macro in the buffer, select **Macro > Playback** or press the button.
3636
This will perform the macro once at the current position.
3737

3838

3939
## Save a recorded macro
4040

41-
To save the macro in the buffer, select `Macro->Save` current recorded macro or
41+
To save the macro in the buffer, select **Macro > Save** current recorded macro or
4242
press the button. A dialog will pop up asking for a name of the macro and the
43-
default key combination. These can later be changed (and deleted) using the
44-
Shortcutmapper (see Shortcut Mapper). When saved, the macro will be available
45-
from the Macro menu or the Macro playlist.
43+
default key combination. These can later be changed (and deleted) using
44+
[**Settings > Shortcut Mapper**](../preferences/#shortcut-mapper).
45+
When saved, the macro will be available from the Macro menu or the Macro playlist.
4646

4747

4848
## Play a recoded macro multiple times
4949

5050
To play the current macro in the buffer or any saved macro once or multiple
51-
times, select `Macro->Run` a macro multiple times... or press the button.
51+
times, select **Macro > Run** a macro multiple times... or press the button.
5252
A dialog will pop up allowing you to select what macro to perform (buffer
5353
macro or any saved macro) and how many times. You can also opt to perform the
5454
macro until the cursor reaches the end of the current file (starting from
@@ -60,6 +60,6 @@ Note that if no macro's are available, this dialog is inaccessible.
6060

6161
To edit or delete an existing macro shortcut, you can use the Shortcut mapper,
6262
which displays all shortcuts of all kinds, and allows changing or removing a key
63-
binding. The interface is also available through the `Macro -> Modify
64-
shortcut / Delete macro` entry on the Macros menu. Note that the contents of a
65-
macro definition can be edited only in the shortcuts.xml file.
63+
binding. The interface is also available through the **Macro > Modify
64+
shortcut / Delete macro** menu entry. Note that the contents of a
65+
macro definition can be edited only in the `shortcuts.xml` file.

content/docs/other-resources.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,22 @@ weight: 160
66

77
## Notepad Replacement
88
Notepad is a default text editor shipped with Windows. You may want to use Notepad++ instead of Notepad. However, there's no obvious way to do it.
9-
From the version 7.5.9 you can run the following command to make Notepad++ replace Notepad (run in cmd.exe with Administrator privileges):
9+
From the version 7.5.9 onward, you can run the following command to make Notepad++ replace Notepad (run in `cmd.exe` with Administrator privileges):
1010

1111
```batch
1212
reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" /v "Debugger" /t REG_SZ /d "\"%ProgramFiles(x86)%\Notepad++\notepad++.exe\" -notepadStyleCmdline -z" /f
1313
```
1414

15-
Note that you may need to use "%ProgramFiles%\Notepad++\" to substitute for "%ProgramFiles(x86)%\Notepad++\" if you have Notepad++ 64-bit installed, or use other path if your Notepad++ is installed in a non-default location.
15+
Note that you may need to use `%ProgramFiles%\Notepad++\` to substitute for `%ProgramFiles(x86)%\Notepad++\` if you have Notepad++ 64-bit installed, or use other path if your Notepad++ is installed in a non-default location.
1616

1717

1818
Use the the following comment to undo the replacement:
1919
```batch
2020
reg delete "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" /v "Debugger" /f
2121
```
22+
2223
## Notepad++ Cheat sheet
23-
### Tab
24+
### Tabs
2425
- Tab navigation
2526
- To switch between first and last tab, use <kbd>CTRL</kbd> + <kbd>SHIFT</kbd> + ```MOUSEWHEEL``` on tabs. ```MOUSEWHEEL``` up will take to first tab while down will take to last tab.
2627
![FirstAndLast](https://user-images.githubusercontent.com/14791461/35479755-b37a09fc-0424-11e8-9a5c-905bf18b957e.gif)
@@ -32,4 +33,3 @@ reg delete "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Executi
3233

3334
- To move tab from one position to other position, use <kbd>SHIFT</kbd> + ```MOUSEWHEEL``` on tabs. ```MOUSEWHEEL``` up will move currently selected tab to previous position while down will move to next position.
3435
![MoveTabs](https://user-images.githubusercontent.com/14791461/66017596-1b72aa80-e4f9-11e9-9ff0-87632415bd91.gif)
35-

content/docs/plugins.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ and [PluginDefinition.cpp](https://github.com/npp-plugins/plugintemplate/blob/ma
5959

6060
A good sample illustrates better the whole picture than a detailed documentation.
6161
You can check [Notepad++ Plugin Demo](https://github.com/npp-plugins/plugindemo/releases)
62-
to learn how to make some commands more complex.
62+
to learn how to make some commands more complex.
6363

6464
However, the knowledge of Notepad++ plugin system is required, if you want to
6565
accomplish some sophisticated plugin commands.
@@ -99,13 +99,13 @@ the latest version of wingup
9999
[32-bit](https://notepad-plus-plus.org/pluginListTestTools/wingup.release.x32.zip)
100100
or
101101
[64-bit](https://notepad-plus-plus.org/pluginListTestTools/wingup.release.x64.zip)
102-
and nppPluginList.json (you should rename it from pl.x64.json or pl.x86.json,
103-
according your plugin's architecture). Replace notepad++.exe and GUP.exe of your
102+
and nppPluginList.json (you should rename it from `pl.x64.json` or `pl.x86.json`,
103+
according your plugin's architecture). Replace `notepad++.exe` and `GUP.exe` of your
104104
Notepad++ installation by downloaded ones, copy `pl.x64.json` or `pl.x86.json` to
105105
`%PROGRAMDATA%\Notepad++\plugins\Config\nppPluginList.json`
106106
(or `<NPP_INST_DIR>\plugins\Config\nppPluginList.json` - see New Plugins Home), then
107-
you're all set - the menu item "Plugin Admin" will be under menu "Plugin" of your
108-
debug mode notepad++.exe. Launch this command will launch the Plugin Admin dialog
107+
you're all set - the menu item **Plugins Admin** will be under menu **Plugins** of your
108+
debug mode notepad++.exe. Launch this command will launch the **Plugins Admin** dialog
109109
and the rest should be intuitive.
110110

111111
### Rules for adding your plugins into list
@@ -122,7 +122,7 @@ and the rest should be intuitive.
122122
SHA-256. This id is checked with the downloaded dll to avoid
123123
[MITM](https://en.wikipedia.org/wiki/Man-in-the-middle_attack).
124124
You can use Notepad++ to get your plugin's SHA-256 hash
125-
(Menu: `Tools->SHA-256>Generate from files...`) or some online sha256 generators.
125+
(Menu: **Tools > SHA-256 > Generate from files...**) or some online sha256 generators.
126126
4. Update info: the value of **version** is exact the version of your plugin binary
127127
version which you want to be deployed. This version will compare with installed
128128
plugin's version to decide if update should be applied.
@@ -133,14 +133,14 @@ and the rest should be intuitive.
133133
6. Packaging: Only zip package is supported. Your plugin (DLL) should have the same
134134
name as the **folder-name** and the plugin DLL file should be placed at the root
135135
level of the ZIP file. Otherwise Plugin Admin won't install it. Any additionals
136-
files (dll or data) can be placed at the root level or in an arbitrary subfolder.
136+
files (DLL or data) can be placed at the root level or in an arbitrary subfolder.
137137

138138
### Do your PR to join plugin list
139139

140140
Once your test has been done, and everything is ok, you can fork and do your PR on:
141141
https://github.com/notepad-plus-plus/nppPluginList/. Only the json part you should
142-
modify. The json file will be built into the a binary (nppPluginList.dll), which will
143-
be signed (for thes sake of security) and be included in the official distribution.
142+
modify. The json file will be built into the a binary (`nppPluginList.dll`), which will
143+
be signed (for thes sake of security) and be included in the official distribution.
144144

145145
### Questions & support
146146

content/docs/programing-languages.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ Almost 80 Programming Languages are supported by Notepad++:
2727
| Verilog | XML | YAML | | |
2828

2929

30-
Notepad++ supports for their syntax highlighting(customizable), syntax folding,
31-
[auto-completion](../auto-completion/) (customizable),
30+
Notepad++ supports for their [syntax highlighting](../preferences/#style-configurator) (customizable),
31+
syntax folding, [auto-completion](../auto-completion/) (customizable),
3232
[function list](../function-list/) (customizable via PCRE in xml file).
3333

3434
If your beloved language is not in the list above, you can define it by your

content/docs/themes.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ weight: 110
44
---
55

66

7-
Themes are pre-defined sets of formatting rules, which often try to use a consistent color scheme between languages. You may choose your theme using the [**Preferences > Style Configurator** dialog](./preferences/#style-configurator).
7+
Themes are pre-defined sets of formatting rules, which often try to use a consistent color scheme between languages. You may choose your theme using the [**Preferences > Style Configurator** dialog](../preferences/#style-configurator).
88

99
Notepad++ comes packaged with a default theme and a number of other themes to start with. You may customize any of those themes using the Style Configurator dialog, or by editing the underlying XML files.
1010

0 commit comments

Comments
 (0)