diff --git a/Rnw.nanorc b/Rnw.nanorc new file mode 100644 index 0000000..75e6f6e --- /dev/null +++ b/Rnw.nanorc @@ -0,0 +1,39 @@ +## Here is a short example for TeX files. +## +syntax "Tex" "\.Rnw$" "bib" "\.bib$" "cls" "\.cls$" +color yellow "\$(\\\$|[^$])*[^\\]\$" +color yellow "\$\$(\\\$|[^$])*[^\\]\$\$" +icolor green "\\.|\\[A-Z]*" +color magenta "[{}]" +color red start="<<" end=">>=" +color white start=">>=" end="@" + +color brightblue "%.*" +color brightblue "^[[:space:]]*#.*" +color brightblue start="\\begin\{comment\}" end="\\end\{comment\}" + +color green "(class|extends|goto) ([a-zA-Z0-9_]*)" +color green "[^a-z0-9_-]{1}(var|class|function|echo|case|break|default|exit|switch|if|else|elseif|endif|foreach|endforeach|@|while|public|private|protected|return|true|false|null|TRUE|FALSE|NULL|const|static|extends|as|array|require|include|require_once|include_once|define|do|continue|declare|goto|print|in|namespace|use)[^a-z0-9_-]{1}" + +# Functions +color blue "([a-zA-Z0-9_\-$\.]*)\(" + +# Variables +color magenta "[a-zA-Z_0-9]* <\-" +# Special Characters +color yellow "[.,{}();]" +color yellow "\[" +color yellow "\]" +color yellow "[=][^>]" +# Numbers +color magenta "[+-]*([0-9]\.)*[0-9]+([eE][+-]?([0-9]\.)*[0-9])*" +color magenta "0x[0-9a-zA-Z]*" +# Special Variables +color blue "(\$this|parent::|self::|\$this->)" +# Bitwise Operations +color magenta "(\;|\||\^){1}" +# And/Or/SRO/etc +color green "(\;\;|\|\||::|=>|->)" +# STRINGS! +color red "('[^']*')|(\"[^\"]*\")" + diff --git a/gradle.nanorc b/gradle.nanorc new file mode 100644 index 0000000..58d7376 --- /dev/null +++ b/gradle.nanorc @@ -0,0 +1,23 @@ +syntax "groovy" "\.(groovy|gradle)$" + +# Keywords +color brightblue "\<(boolean|byte|char|double|enum|float|int|long|new|short|super|this|transient)\>" +color brightblue "\<(as|assert|break|case|catch|continue|default|do|else|finally|for|goto|if|in|return|switch|throw|try|while)\>" +color brightblue "\<(abstract|class|extends|implements|import|interface|native|package|private|protected|public|static|strictfp|synchronized|throws|trait|void|volatile)\>" +color brightblue "\<(const|def|final|instanceof)\>" +color brightblue "\<(true|false|null)\>" + +# Strings +color brightyellow ""(\\.|[^"])*"" "'(\\.|[^'])*'" + +# Interpolation +icolor yellow "\$\{[^\}]*}" + +# Comments +color cyan "^//.*" +color cyan "\s//.*" +color cyan start="^/\*(\*)?" end="\*/" +color cyan start="\s/\*(\*)?" end="\*/" + +# Trailing whitespace +color ,green "[[:space:]]+$" diff --git a/nanorc b/nanorc index 812d6b9..84a810e 100644 --- a/nanorc +++ b/nanorc @@ -24,6 +24,7 @@ include "~/.nano/git.nanorc" include "~/.nano/gitcommit.nanorc" include "~/.nano/glsl.nanorc" include "~/.nano/go.nanorc" +include "~/.nano/gradle.nanorc" include "~/.nano/groff.nanorc" include "~/.nano/haml.nanorc" include "~/.nano/haskell.nanorc" diff --git a/readme.md b/readme.md index 616a324..1947ec5 100644 --- a/readme.md +++ b/readme.md @@ -2,11 +2,11 @@ This repository holds ``{lang}.nanorc`` files that have improved definitions of syntax highlighting for various languages. -# Installation +## Installation There are three ways to install this repo. -## 1. Automatic installer +### 1. Automatic installer Copy the following code to download and run the installer script: @@ -20,28 +20,29 @@ If your machine doesn't have `curl` command, use this code: wget https://raw.githubusercontent.com/scopatz/nanorc/master/install.sh -O- | sh ``` -### Note: +#### Note 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. -## 2. Package managers +### 2. Package managers 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`. -| System | Command | -| --- | --- | -| Arch Linux | `aurman -S nano-syntax-highlighting-git` or `aurman -Ss nano-syntax-highlight` | +| System | Command | +| ---------- | ---------------------------------------- | +| Arch Linux | `aurman -Ss nano-syntax-highlight` | +| | `aurman -S nano-syntax-highlighting-git` | -## 3. Clone repo (copy the files) +### 3. Clone repo (copy the files) The files should be placed inside of the `~/.nano/` directory. -> 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/`). +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/`). For user, only run: @@ -52,29 +53,29 @@ For system wide, run: `sudo git clone https://github.com/scopatz/nanorc.git $install_path` -# Configuration +## Configuration 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. -> If this file doesn't exist, create a new one. +If this file doesn't exist, create a new one. Again there are three ways: -## 1. Include all +### 1. Include all 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` -## 2. Include/append our `nanorc` file +### 2. Include/append our `nanorc` file Simply run: `cat $install_path/nanorc >> ~/.nanorc` or `cat $install_path/nanorc >> /etc/nanorc` -## 3. One by one +### 3. One by one Add your preferable languages one by onento the file. For example: @@ -83,16 +84,16 @@ Add your preferable languages one by onento the file. For example: include "~/.nano/c.nanorc" ``` -# Tricks & Tweaks +## Tricks & Tweaks -## MacOS +### MacOS `\<` 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). -## Why not include the original files? +### Why not include the original files? It is a good question, but the way that nano reads the files matters. In other words, the regex instructions should be in a specific order (you can see that in some nanorc files). @@ -101,6 +102,6 @@ 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)! -# Acknowledgements +## Acknowledgements 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)