2019-09-13 01:16:01 +02:00
# Improved Nano Syntax Highlighting Files
This repository holds ``{lang}.nanorc`` files that have improved definitions of syntax highlighting for various languages.
2019-09-13 13:36:00 +02:00
## Installation
2019-09-13 01:16:01 +02:00
There are three ways to install this repo.
2019-09-13 13:36:00 +02:00
### 1. Automatic installer
2019-09-13 01:16:01 +02:00
Copy the following code to download and run the installer script:
```sh
curl https://raw.githubusercontent.com/scopatz/nanorc/master/install.sh | sh
```
If your machine doesn't have `curl` command, use this code:
```sh
wget https://raw.githubusercontent.com/scopatz/nanorc/master/install.sh -O- | sh
```
2019-09-13 13:36:00 +02:00
#### Note
2019-09-13 01:16:01 +02:00
Some syntax definitions which exist in Nano upstream may be preferable to the ones provided by this package.
The ` install.sh` script may be run with `-l` or `--lite` to insert the included syntax definitions from this package with *lower* precedence than the ones provided by the standard package.
2019-09-13 13:36:00 +02:00
### 2. Package managers
2019-09-13 01:16:01 +02:00
The follow table lists all systems with this package published.
Fell free to add your official package manager.
> Systems that are based in others' package managers or repositories are compatible. For example: `pacman/aur` based systems are compatible with `Arch Linux`.
2019-09-13 13:36:00 +02:00
| System | Command |
| ---------- | ---------------------------------------- |
| Arch Linux | `aurman -Ss nano-syntax-highlight` |
| | `aurman -S nano-syntax-highlighting-git` |
2019-09-13 01:16:01 +02:00
2019-09-13 13:36:00 +02:00
### 3. Clone repo (copy the files)
2019-09-13 01:16:01 +02:00
The files should be placed inside of the `~/.nano/` directory.
2019-09-13 13:36:00 +02:00
You can put the files in another directory inside the correct `.nano` folder.
For example: `~/.nano/nanorc/` .
For readability will use `$install_path` for the path of your choose (in *system wide* the path is always `/usr/share/nano-syntax-highlighting/` ).
2019-09-13 01:16:01 +02:00
For user, only run:
`git clone git@github.com:scopatz/nanorc.git $install_path` or
`git clone https://github.com/scopatz/nanorc.git $install_path`
For system wide, run:
`sudo git clone https://github.com/scopatz/nanorc.git $install_path`
2019-09-13 13:36:00 +02:00
## Configuration
2019-09-13 01:16:01 +02:00
After installation, you need to inform `nano` to used the new highlight files.
The configuration file is located at `~/.nanorc` , for users, and at `/etc/nanorc` , for system wide.
2019-09-13 13:36:00 +02:00
If this file doesn't exist, create a new one.
2019-09-13 01:16:01 +02:00
Again there are three ways:
2019-09-13 13:36:00 +02:00
### 1. Include all
2019-09-13 01:16:01 +02:00
Append the content of the folder in one line, with wildcard::
`echo "include $install_path/*.nanorc" >> ~/.nanorc` or
`echo "include $install_path/*.nanorc" >> /etc/nanorc`
2019-09-13 13:36:00 +02:00
### 2. Include/append our `nanorc` file
2019-09-13 01:16:01 +02:00
Simply run:
`cat $install_path/nanorc >> ~/.nanorc` or
`cat $install_path/nanorc >> /etc/nanorc`
2019-09-13 13:36:00 +02:00
### 3. One by one
2019-09-13 01:16:01 +02:00
Add your preferable languages one by onento the file. For example:
```
## C/C++
include "~/.nano/c.nanorc"
```
2019-09-13 13:36:00 +02:00
## Tricks & Tweaks
2019-09-13 01:16:01 +02:00
2019-09-13 13:36:00 +02:00
### MacOS
2019-09-13 01:16:01 +02:00
`\<` and `\>` are regular character escapes on MacOS.
The bug is fixed in Nano, but this might be a problem if you are using an older version
If this is the case, replace them respectively with `[[:<:]]` and `[[:>:]]` .
This is reported in [Issue 52 ](https://github.com/scopatz/nanorc/issues/52 ).
2019-10-05 16:12:35 +02:00
### Why not include the original files?
2019-10-05 16:00:43 +02:00
It is a good question, but the way that nano reads the files matters.
2019-10-05 16:17:58 +02:00
In other words, the regex instructions should be in a _specific order_ (you can see that in some nanorc files).
2019-10-05 16:16:52 +02:00
So, if we `include` or `extendsyntax` (yes, there is also this command) the colors or other things won't be work well.
2019-10-05 16:00:43 +02:00
The best way to do is copying and editing the original files (if it is needed).
The bug about it: https://savannah.gnu.org/bugs/index.php?5698
But if some original nanorc file needs an update, feel free to [patch it ](https://savannah.gnu.org/patch/?func=additem&group=nano )!
2019-09-13 13:36:00 +02:00
## Acknowledgements
2019-09-13 01:16:01 +02:00
Some of these files are derived from the original [Nano ](https://www.nano-editor.org ) editor [repo ](https://git.savannah.gnu.org/cgit/nano.git )