From 564069b8285f3a32719fcee4ce82a079c8338c79 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Fri, 29 Jan 2021 21:27:06 +0100 Subject: [PATCH 001/170] Update strucutre --- .ansible-lint | 5 -- .gitignore | 2 + .gitlab-ci.yml | 26 ++------- .prettier.json | 9 ---- .prettierrc.yml | 5 ++ ansible.cfg | 3 ++ playbook.yml | 28 +++++++++- roles/requirements.yml => requirements.yml | 0 roles/.gitignore | 6 --- roles/development/defaults/main.yml | 17 ------ roles/development/handlers/main.yml | 1 - roles/development/meta/main.yml | 20 ------- roles/development/tasks/coc.yml | 33 ------------ roles/development/tasks/dotfiles.yml | 53 ------------------ roles/development/tasks/main.yml | 54 ------------------- roles/development/vars/main.yml | 2 - tasks/coc.yml | 33 ++++++++++++ tasks/dotfiles.yml | 53 ++++++++++++++++++ tasks/main.yml | 29 ++++++++++ .../templates => templates}/pyproject.j2 | 0 .../development/vars => vars}/archlinux.yml | 2 +- .../vars => vars}/debian-buster.yml | 0 vars/main.yml | 22 ++++++++ .../vars => vars}/ubuntu-focal.yml | 4 +- 24 files changed, 182 insertions(+), 225 deletions(-) delete mode 100644 .ansible-lint delete mode 100644 .prettier.json create mode 100644 .prettierrc.yml rename roles/requirements.yml => requirements.yml (100%) delete mode 100644 roles/.gitignore delete mode 100644 roles/development/defaults/main.yml delete mode 100644 roles/development/handlers/main.yml delete mode 100644 roles/development/meta/main.yml delete mode 100644 roles/development/tasks/coc.yml delete mode 100644 roles/development/tasks/dotfiles.yml delete mode 100644 roles/development/tasks/main.yml delete mode 100644 roles/development/vars/main.yml create mode 100644 tasks/coc.yml create mode 100644 tasks/dotfiles.yml create mode 100644 tasks/main.yml rename {roles/development/templates => templates}/pyproject.j2 (100%) rename {roles/development/vars => vars}/archlinux.yml (79%) rename {roles/development/vars => vars}/debian-buster.yml (100%) create mode 100644 vars/main.yml rename {roles/development/vars => vars}/ubuntu-focal.yml (58%) diff --git a/.ansible-lint b/.ansible-lint deleted file mode 100644 index e99d805..0000000 --- a/.ansible-lint +++ /dev/null @@ -1,5 +0,0 @@ -parseable: true -quiet: true -skip_list: - - '501' -use_default_rules: true diff --git a/.gitignore b/.gitignore index c17815f..ad2ea9f 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,5 @@ node_modules/ .vaults/ vault vaults/ + +roles/ diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 369b1c8..d9ade6f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,40 +3,24 @@ stages: - test cache: - key: "$CI_COMMIT_REF_SLUG" + key: $CI_COMMIT_REF_SLUG paths: - .cache/pip - node_modules/ lint: - stage: lint - image: python:3.7 - before_script: - - pip install ansible ansible-lint --quiet - script: - - ansible-lint playbook.yml - only: - refs: - - development - - merge_requests - -pretty-lint: stage: lint image: node:12 before_script: - - npm install + - npm install prettier --no-save script: - - npx prettier "**/*.yml" --check - only: - refs: - - development - - merge_requests + - npx prettier '**/*.yml' --check syntax-test: stage: test image: python:3.7 before_script: - - pip install ansible ansible-lint --quiet - - ansible-galaxy install -r roles/requirements.yml + - pip install ansible --quiet + - ansible-galaxy install -r requirements.yml script: - ansible-playbook playbook.yml --syntax-check diff --git a/.prettier.json b/.prettier.json deleted file mode 100644 index 9c76f6b..0000000 --- a/.prettier.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "singleQuote": true, - "printWidth": 90, - "tabWidth": 2, - "useTabs": false, - "bracketSpacing": true, - "parser": "yaml" -} - diff --git a/.prettierrc.yml b/.prettierrc.yml new file mode 100644 index 0000000..0cb31e6 --- /dev/null +++ b/.prettierrc.yml @@ -0,0 +1,5 @@ +singleQuote: true +printWidth: 90 +tabWidth: 2 +useTabs: false +bracketSpacing: true diff --git a/ansible.cfg b/ansible.cfg index 002a50d..4c41b64 100644 --- a/ansible.cfg +++ b/ansible.cfg @@ -1,2 +1,5 @@ [defaults] roles_path = ./roles + +[privilege_escalation] +become_ask_pass = True diff --git a/playbook.yml b/playbook.yml index e1c5273..9821c16 100644 --- a/playbook.yml +++ b/playbook.yml @@ -1,3 +1,29 @@ - hosts: localhost + pre_tasks: + - name: load OS specific vars + include_vars: '{{ item }}' + with_first_found: + - files: + - '{{ ansible_distribution|lower }}-{{ ansible_distribution_release|lower }}.yml' + - '{{ ansible_distribution|lower }}.yml' + - '{{ ansible_os_family|lower }}.yml' + paths: + - 'vars/' + - name: install packages + become: true + package: + name: '{{ item }}' + state: present + loop: '{{ packages }}' roles: - - development + - common + - npm + tasks: + - import_tasks: 'tasks/main.yml' + - include_role: + name: common + tasks_from: 'poetry.yml' + - import_tasks: 'tasks/dotfiles.yml' + - import_tasks: 'tasks/coc.yml' + vars_files: + - 'vars/main.yml' diff --git a/roles/requirements.yml b/requirements.yml similarity index 100% rename from roles/requirements.yml rename to requirements.yml diff --git a/roles/.gitignore b/roles/.gitignore deleted file mode 100644 index 906efb0..0000000 --- a/roles/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -# ignore all external roles and files in the roles dir -/* - -!.gitignore -!requirements.yml -!development*/ diff --git a/roles/development/defaults/main.yml b/roles/development/defaults/main.yml deleted file mode 100644 index 4699b1b..0000000 --- a/roles/development/defaults/main.yml +++ /dev/null @@ -1,17 +0,0 @@ -packages: [] - -xdg_config_dir: "{{ ansible_env.HOME }}/.config" -xdg_data_dir: "{{ ansible_env.HOME }}/.local/share" - -dotfiles_repo: "git@git.fudiggity.nl:sonny/dotfiles.git" -githook_repo: "git@git.fudiggity.nl:sonny/git-hooks.git" - -vim_plugins: - - { url: "https://github.com/preservim/nerdtree", name: "nerdtree" } - - { url: "https://github.com/neoclide/coc.nvim", name: "coc.nvim" } - - { url: "https://github.com/sheerun/vim-polyglot", name: "vim-polygot" } - -poetry_packages: - - black - - pylint - - autoflake diff --git a/roles/development/handlers/main.yml b/roles/development/handlers/main.yml deleted file mode 100644 index 8b13789..0000000 --- a/roles/development/handlers/main.yml +++ /dev/null @@ -1 +0,0 @@ - diff --git a/roles/development/meta/main.yml b/roles/development/meta/main.yml deleted file mode 100644 index 815c5da..0000000 --- a/roles/development/meta/main.yml +++ /dev/null @@ -1,20 +0,0 @@ -dependencies: - - npm - -galaxy_info: - author: sonny - description: "Sets up development environment" - license: "license GPLv3" - min_ansible_version: 2.7 - issue_tracker_url: "https://git.fudiggity.nl/sonny/ansible-playbooks/-/issues" - platforms: - - name: Debian - versions: - - buster - - name: Ubuntu - versions: - - focal - - name: Archlinux - galaxy_tags: - - development - - system diff --git a/roles/development/tasks/coc.yml b/roles/development/tasks/coc.yml deleted file mode 100644 index f8e4166..0000000 --- a/roles/development/tasks/coc.yml +++ /dev/null @@ -1,33 +0,0 @@ -- name: install coc.nvim node packages - npm: - path: "{{ xdg_data_dir }}/nvim/site/pack/default/start/coc.nvim" - state: present - global: false - -- name: create default coc.nvim venv directory - file: - path: "{{ ansible_env.HOME }}/.local/lib/coc" - state: directory - mode: "0755" - -- name: copy coc pyproject.toml - template: - src: "pyproject.j2" - dest: "{{ ansible_env.HOME }}/.local/lib/coc/pyproject.toml" - mode: "0644" - force: false - -- name: set default venv python version - command: "poetry env use python3" - args: - chdir: "{{ ansible_env.HOME }}/.local/lib/coc" - environment: - PATH: "{{ ansible_env.HOME }}/.local/bin:{{ ansible_env.PATH }}" - when: ansible_distribution == "Debian" - -- name: install default coc.nvim python packages # noqa 301 - command: "poetry install" - args: - chdir: "{{ ansible_env.HOME }}/.local/lib/coc" - environment: - PATH: "{{ ansible_env.HOME }}/.local/bin:{{ ansible_env.PATH }}" diff --git a/roles/development/tasks/dotfiles.yml b/roles/development/tasks/dotfiles.yml deleted file mode 100644 index d8ee079..0000000 --- a/roles/development/tasks/dotfiles.yml +++ /dev/null @@ -1,53 +0,0 @@ -- name: clone dotfiles - git: - repo: "{{ dotfiles_repo }}" - dest: "{{ ansible_env.HOME }}/dotfiles" - version: master - update: yes - -- name: create dotfile folders - file: - state: directory - mode: "0755" - path: "{{ item }}" - loop: - - "{{ xdg_config_dir }}/nvim" - - "{{ xdg_data_dir }}/nvim/site" - - "{{ xdg_config_dir }}/kitty" - -- name: setup dotfiles - file: - path: "{{ item.dest }}" - src: "{{ item.src }}" - mode: "0755" - state: link - force: true - loop: - - { - src: "{{ ansible_env.HOME }}/dotfiles/nvim/init.vim", - dest: "{{ xdg_config_dir }}/nvim/init.vim", - } - - { - src: "{{ ansible_env.HOME }}/dotfiles/.vimrc", - dest: "{{ ansible_env.HOME }}/.vimrc", - } - - { - src: "{{ ansible_env.HOME }}/dotfiles/.bashrc", - dest: "{{ ansible_env.HOME }}/.bashrc", - } - - { - src: "{{ ansible_env.HOME }}/dotfiles/.profile", - dest: "{{ ansible_env.HOME }}/.profile", - } - - { - src: "{{ ansible_env.HOME }}/dotfiles/nvim/colors", - dest: "{{ xdg_data_dir }}/nvim/site/colors", - } - - { - src: "{{ ansible_env.HOME }}/dotfiles/kitty.conf", - dest: "{{ xdg_config_dir }}/kitty/kitty.conf", - } - - { - src: "{{ ansible_env.HOME }}/dotfiles/.gitignore", - dest: "{{ ansible_env.HOME }}/.gitignore", - } diff --git a/roles/development/tasks/main.yml b/roles/development/tasks/main.yml deleted file mode 100644 index 71e29e4..0000000 --- a/roles/development/tasks/main.yml +++ /dev/null @@ -1,54 +0,0 @@ -- name: load OS specific vars - include_vars: "{{ item }}" - with_first_found: - - files: - - "{{ ansible_distribution|lower }}-{{ ansible_distribution_release|lower }}.yml" - - "{{ ansible_distribution|lower }}.yml" - - "{{ ansible_os_family|lower }}.yml" - paths: - - "{{ role_path }}/vars" - -- name: add gitlab to known hosts - include_role: - name: common - tasks_from: known_hosts.yml - vars: - user: "{{ ansible_user_id }}" - items: - - { domain: "{{ gitlab_domain }}", key: "{{ gitlab_host_key }}" } - -- name: install packages - become: true - package: - name: "{{ item }}" - state: present - loop: "{{ packages }}" - -- name: create development dir - file: - path: "{{ ansible_env.HOME }}/development" - state: directory - mode: "0755" - -- include_tasks: "dotfiles.yml" - -- name: clone git hooks - git: - repo: "{{ githook_repo }}" - dest: "{{ ansible_env.HOME }}/development/git-hooks" - update: true - version: master - -- name: clone neovim packages - git: - repo: "{{ item.url }}" - dest: "{{ xdg_data_dir }}/nvim/site/pack/default/start/{{ item.name }}" - version: master - update: true - loop: "{{ vim_plugins }}" - -- include_role: - name: common - tasks_from: "poetry" - -- include_tasks: coc.yml diff --git a/roles/development/vars/main.yml b/roles/development/vars/main.yml deleted file mode 100644 index 63d2cfb..0000000 --- a/roles/development/vars/main.yml +++ /dev/null @@ -1,2 +0,0 @@ -gitlab_domain: "git.fudiggity.nl" -gitlab_host_key: "git.fudiggity.nl ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICNmvcxza79T7JZMkifmquwXH/kMUqDnKs9Oob+JrRvn" diff --git a/tasks/coc.yml b/tasks/coc.yml new file mode 100644 index 0000000..eec5ac3 --- /dev/null +++ b/tasks/coc.yml @@ -0,0 +1,33 @@ +- name: install coc.nvim node packages + npm: + path: '{{ xdg_data_dir }}/nvim/site/pack/default/start/coc.nvim' + state: present + global: false + +- name: create default coc.nvim venv directory + file: + path: '{{ ansible_env.HOME }}/.local/lib/coc' + state: directory + mode: '0755' + +- name: copy coc pyproject.toml + template: + src: 'pyproject.j2' + dest: '{{ ansible_env.HOME }}/.local/lib/coc/pyproject.toml' + mode: '0644' + force: false + +- name: set default venv python version + command: 'poetry env use python3' + args: + chdir: '{{ ansible_env.HOME }}/.local/lib/coc' + environment: + PATH: '{{ ansible_env.HOME }}/.local/bin:{{ ansible_env.PATH }}' + when: ansible_distribution == "Debian" + +- name: install default coc.nvim python packages # noqa 301 + command: 'poetry install' + args: + chdir: '{{ ansible_env.HOME }}/.local/lib/coc' + environment: + PATH: '{{ ansible_env.HOME }}/.local/bin:{{ ansible_env.PATH }}' diff --git a/tasks/dotfiles.yml b/tasks/dotfiles.yml new file mode 100644 index 0000000..e0fa7ee --- /dev/null +++ b/tasks/dotfiles.yml @@ -0,0 +1,53 @@ +- name: clone dotfiles + git: + repo: '{{ dotfiles_repo }}' + dest: '{{ ansible_env.HOME }}/dotfiles' + version: master + update: yes + +- name: create dotfile folders + file: + state: directory + mode: '0755' + path: '{{ item }}' + loop: + - '{{ xdg_config_dir }}/nvim' + - '{{ xdg_data_dir }}/nvim/site' + - '{{ xdg_config_dir }}/kitty' + +- name: setup dotfiles + file: + path: '{{ item.dest }}' + src: '{{ item.src }}' + mode: '0755' + state: link + force: true + loop: + - { + src: '{{ ansible_env.HOME }}/dotfiles/nvim/init.vim', + dest: '{{ xdg_config_dir }}/nvim/init.vim', + } + - { + src: '{{ ansible_env.HOME }}/dotfiles/.vimrc', + dest: '{{ ansible_env.HOME }}/.vimrc', + } + - { + src: '{{ ansible_env.HOME }}/dotfiles/.bashrc', + dest: '{{ ansible_env.HOME }}/.bashrc', + } + - { + src: '{{ ansible_env.HOME }}/dotfiles/.profile', + dest: '{{ ansible_env.HOME }}/.profile', + } + - { + src: '{{ ansible_env.HOME }}/dotfiles/nvim/colors', + dest: '{{ xdg_data_dir }}/nvim/site/colors', + } + - { + src: '{{ ansible_env.HOME }}/dotfiles/kitty.conf', + dest: '{{ xdg_config_dir }}/kitty/kitty.conf', + } + - { + src: '{{ ansible_env.HOME }}/dotfiles/.gitignore', + dest: '{{ ansible_env.HOME }}/.gitignore', + } diff --git a/tasks/main.yml b/tasks/main.yml new file mode 100644 index 0000000..2368775 --- /dev/null +++ b/tasks/main.yml @@ -0,0 +1,29 @@ +- name: add gitlab to known hosts + include_role: + name: common + tasks_from: 'known_hosts.yml' + vars: + user: '{{ ansible_user_id }}' + items: + - { domain: '{{ gitlab_domain }}', key: '{{ gitlab_host_key }}' } + +- name: create development dir + file: + path: '{{ ansible_env.HOME }}/development' + state: directory + mode: '0755' + +- name: clone git hooks + git: + repo: '{{ githook_repo }}' + dest: '{{ ansible_env.HOME }}/development/git-hooks' + update: true + version: master + +- name: clone neovim packages + git: + repo: '{{ item.url }}' + dest: '{{ xdg_data_dir }}/nvim/site/pack/default/start/{{ item.name }}' + version: master + update: true + loop: '{{ vim_plugins }}' diff --git a/roles/development/templates/pyproject.j2 b/templates/pyproject.j2 similarity index 100% rename from roles/development/templates/pyproject.j2 rename to templates/pyproject.j2 diff --git a/roles/development/vars/archlinux.yml b/vars/archlinux.yml similarity index 79% rename from roles/development/vars/archlinux.yml rename to vars/archlinux.yml index f96720f..7cd5504 100644 --- a/roles/development/vars/archlinux.yml +++ b/vars/archlinux.yml @@ -7,5 +7,5 @@ packages: - npm - ctags - kitty - - docker # TODO add tasks + - docker - docker-compose diff --git a/roles/development/vars/debian-buster.yml b/vars/debian-buster.yml similarity index 100% rename from roles/development/vars/debian-buster.yml rename to vars/debian-buster.yml diff --git a/vars/main.yml b/vars/main.yml new file mode 100644 index 0000000..6451192 --- /dev/null +++ b/vars/main.yml @@ -0,0 +1,22 @@ +packages: [] + +xdg_config_dir: '{{ ansible_env.HOME }}/.config' +xdg_data_dir: '{{ ansible_env.HOME }}/.local/share' + +dotfiles_repo: 'git@git.fudiggity.nl:sonny/dotfiles.git' +githook_repo: 'git@git.fudiggity.nl:sonny/git-hooks.git' + +vim_plugins: + - { url: 'https://github.com/preservim/nerdtree', name: 'nerdtree' } + - { url: 'https://github.com/neoclide/coc.nvim', name: 'coc.nvim' } + - { url: 'https://github.com/sheerun/vim-polyglot', name: 'vim-polygot' } + +poetry_packages: + - black + - pylint + - autoflake + +gitlab_domain: 'git.fudiggity.nl' +gitlab_host_key: 'git.fudiggity.nl ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICNmvcxza79T7JZMkifmquwXH/kMUqDnKs9Oob+JrRvn' + +skip_common_setup: true diff --git a/roles/development/vars/ubuntu-focal.yml b/vars/ubuntu-focal.yml similarity index 58% rename from roles/development/vars/ubuntu-focal.yml rename to vars/ubuntu-focal.yml index da4b45a..7281d11 100644 --- a/roles/development/vars/ubuntu-focal.yml +++ b/vars/ubuntu-focal.yml @@ -1,5 +1,5 @@ -dotfiles_repo: "https://git.fudiggity.nl/sonny/dotfiles.git" -githook_repo: "https://git.fudiggity.nl/sonny/git-hooks.git" +dotfiles_repo: 'https://git.fudiggity.nl/sonny/dotfiles.git' +githook_repo: 'https://git.fudiggity.nl/sonny/git-hooks.git' packages: - git From c2fb9bb69244ec252f79d3f14afb352c967f6909 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Fri, 29 Jan 2021 21:29:56 +0100 Subject: [PATCH 002/170] Move task to pre_tasks --- playbook.yml | 8 ++++++++ tasks/main.yml | 9 --------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/playbook.yml b/playbook.yml index 9821c16..1fd2023 100644 --- a/playbook.yml +++ b/playbook.yml @@ -9,6 +9,14 @@ - '{{ ansible_os_family|lower }}.yml' paths: - 'vars/' + - name: add gitlab to known hosts + include_role: + name: common + tasks_from: 'known_hosts.yml' + vars: + user: '{{ ansible_user_id }}' + items: + - { domain: '{{ gitlab_domain }}', key: '{{ gitlab_host_key }}' } - name: install packages become: true package: diff --git a/tasks/main.yml b/tasks/main.yml index 2368775..9b5d85a 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,12 +1,3 @@ -- name: add gitlab to known hosts - include_role: - name: common - tasks_from: 'known_hosts.yml' - vars: - user: '{{ ansible_user_id }}' - items: - - { domain: '{{ gitlab_domain }}', key: '{{ gitlab_host_key }}' } - - name: create development dir file: path: '{{ ansible_env.HOME }}/development' From eb82f91504797e94d306721618b5658c56abef4a Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Fri, 29 Jan 2021 21:36:06 +0100 Subject: [PATCH 003/170] Remove mode option --- tasks/dotfiles.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/tasks/dotfiles.yml b/tasks/dotfiles.yml index e0fa7ee..ba1a26e 100644 --- a/tasks/dotfiles.yml +++ b/tasks/dotfiles.yml @@ -19,7 +19,6 @@ file: path: '{{ item.dest }}' src: '{{ item.src }}' - mode: '0755' state: link force: true loop: From af7211830dd784a26033ba172815b80997ca7bc5 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Fri, 29 Jan 2021 21:47:47 +0100 Subject: [PATCH 004/170] Use simpler file structure --- .ansible-lint | 5 -- .gitignore | 2 + .gitlab-ci.yml | 26 ++------- .prettier.json | 9 ---- .prettierrc.yml | 5 ++ ansible.cfg | 3 ++ playbook.yml | 36 ++++++++++++- roles/requirements.yml => requirements.yml | 0 roles/.gitignore | 6 --- roles/development/defaults/main.yml | 17 ------ roles/development/handlers/main.yml | 1 - roles/development/meta/main.yml | 20 ------- roles/development/tasks/coc.yml | 33 ------------ roles/development/tasks/dotfiles.yml | 53 ------------------ roles/development/tasks/main.yml | 54 ------------------- roles/development/vars/main.yml | 2 - tasks/coc.yml | 33 ++++++++++++ tasks/dotfiles.yml | 52 ++++++++++++++++++ tasks/main.yml | 20 +++++++ .../templates => templates}/pyproject.j2 | 0 .../development/vars => vars}/archlinux.yml | 2 +- .../vars => vars}/debian-buster.yml | 0 vars/main.yml | 22 ++++++++ .../vars => vars}/ubuntu-focal.yml | 4 +- 24 files changed, 180 insertions(+), 225 deletions(-) delete mode 100644 .ansible-lint delete mode 100644 .prettier.json create mode 100644 .prettierrc.yml rename roles/requirements.yml => requirements.yml (100%) delete mode 100644 roles/.gitignore delete mode 100644 roles/development/defaults/main.yml delete mode 100644 roles/development/handlers/main.yml delete mode 100644 roles/development/meta/main.yml delete mode 100644 roles/development/tasks/coc.yml delete mode 100644 roles/development/tasks/dotfiles.yml delete mode 100644 roles/development/tasks/main.yml delete mode 100644 roles/development/vars/main.yml create mode 100644 tasks/coc.yml create mode 100644 tasks/dotfiles.yml create mode 100644 tasks/main.yml rename {roles/development/templates => templates}/pyproject.j2 (100%) rename {roles/development/vars => vars}/archlinux.yml (79%) rename {roles/development/vars => vars}/debian-buster.yml (100%) create mode 100644 vars/main.yml rename {roles/development/vars => vars}/ubuntu-focal.yml (58%) diff --git a/.ansible-lint b/.ansible-lint deleted file mode 100644 index e99d805..0000000 --- a/.ansible-lint +++ /dev/null @@ -1,5 +0,0 @@ -parseable: true -quiet: true -skip_list: - - '501' -use_default_rules: true diff --git a/.gitignore b/.gitignore index c17815f..ad2ea9f 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,5 @@ node_modules/ .vaults/ vault vaults/ + +roles/ diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 369b1c8..d9ade6f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,40 +3,24 @@ stages: - test cache: - key: "$CI_COMMIT_REF_SLUG" + key: $CI_COMMIT_REF_SLUG paths: - .cache/pip - node_modules/ lint: - stage: lint - image: python:3.7 - before_script: - - pip install ansible ansible-lint --quiet - script: - - ansible-lint playbook.yml - only: - refs: - - development - - merge_requests - -pretty-lint: stage: lint image: node:12 before_script: - - npm install + - npm install prettier --no-save script: - - npx prettier "**/*.yml" --check - only: - refs: - - development - - merge_requests + - npx prettier '**/*.yml' --check syntax-test: stage: test image: python:3.7 before_script: - - pip install ansible ansible-lint --quiet - - ansible-galaxy install -r roles/requirements.yml + - pip install ansible --quiet + - ansible-galaxy install -r requirements.yml script: - ansible-playbook playbook.yml --syntax-check diff --git a/.prettier.json b/.prettier.json deleted file mode 100644 index 9c76f6b..0000000 --- a/.prettier.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "singleQuote": true, - "printWidth": 90, - "tabWidth": 2, - "useTabs": false, - "bracketSpacing": true, - "parser": "yaml" -} - diff --git a/.prettierrc.yml b/.prettierrc.yml new file mode 100644 index 0000000..0cb31e6 --- /dev/null +++ b/.prettierrc.yml @@ -0,0 +1,5 @@ +singleQuote: true +printWidth: 90 +tabWidth: 2 +useTabs: false +bracketSpacing: true diff --git a/ansible.cfg b/ansible.cfg index 002a50d..4c41b64 100644 --- a/ansible.cfg +++ b/ansible.cfg @@ -1,2 +1,5 @@ [defaults] roles_path = ./roles + +[privilege_escalation] +become_ask_pass = True diff --git a/playbook.yml b/playbook.yml index e1c5273..1fd2023 100644 --- a/playbook.yml +++ b/playbook.yml @@ -1,3 +1,37 @@ - hosts: localhost + pre_tasks: + - name: load OS specific vars + include_vars: '{{ item }}' + with_first_found: + - files: + - '{{ ansible_distribution|lower }}-{{ ansible_distribution_release|lower }}.yml' + - '{{ ansible_distribution|lower }}.yml' + - '{{ ansible_os_family|lower }}.yml' + paths: + - 'vars/' + - name: add gitlab to known hosts + include_role: + name: common + tasks_from: 'known_hosts.yml' + vars: + user: '{{ ansible_user_id }}' + items: + - { domain: '{{ gitlab_domain }}', key: '{{ gitlab_host_key }}' } + - name: install packages + become: true + package: + name: '{{ item }}' + state: present + loop: '{{ packages }}' roles: - - development + - common + - npm + tasks: + - import_tasks: 'tasks/main.yml' + - include_role: + name: common + tasks_from: 'poetry.yml' + - import_tasks: 'tasks/dotfiles.yml' + - import_tasks: 'tasks/coc.yml' + vars_files: + - 'vars/main.yml' diff --git a/roles/requirements.yml b/requirements.yml similarity index 100% rename from roles/requirements.yml rename to requirements.yml diff --git a/roles/.gitignore b/roles/.gitignore deleted file mode 100644 index 906efb0..0000000 --- a/roles/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -# ignore all external roles and files in the roles dir -/* - -!.gitignore -!requirements.yml -!development*/ diff --git a/roles/development/defaults/main.yml b/roles/development/defaults/main.yml deleted file mode 100644 index 4699b1b..0000000 --- a/roles/development/defaults/main.yml +++ /dev/null @@ -1,17 +0,0 @@ -packages: [] - -xdg_config_dir: "{{ ansible_env.HOME }}/.config" -xdg_data_dir: "{{ ansible_env.HOME }}/.local/share" - -dotfiles_repo: "git@git.fudiggity.nl:sonny/dotfiles.git" -githook_repo: "git@git.fudiggity.nl:sonny/git-hooks.git" - -vim_plugins: - - { url: "https://github.com/preservim/nerdtree", name: "nerdtree" } - - { url: "https://github.com/neoclide/coc.nvim", name: "coc.nvim" } - - { url: "https://github.com/sheerun/vim-polyglot", name: "vim-polygot" } - -poetry_packages: - - black - - pylint - - autoflake diff --git a/roles/development/handlers/main.yml b/roles/development/handlers/main.yml deleted file mode 100644 index 8b13789..0000000 --- a/roles/development/handlers/main.yml +++ /dev/null @@ -1 +0,0 @@ - diff --git a/roles/development/meta/main.yml b/roles/development/meta/main.yml deleted file mode 100644 index 815c5da..0000000 --- a/roles/development/meta/main.yml +++ /dev/null @@ -1,20 +0,0 @@ -dependencies: - - npm - -galaxy_info: - author: sonny - description: "Sets up development environment" - license: "license GPLv3" - min_ansible_version: 2.7 - issue_tracker_url: "https://git.fudiggity.nl/sonny/ansible-playbooks/-/issues" - platforms: - - name: Debian - versions: - - buster - - name: Ubuntu - versions: - - focal - - name: Archlinux - galaxy_tags: - - development - - system diff --git a/roles/development/tasks/coc.yml b/roles/development/tasks/coc.yml deleted file mode 100644 index f8e4166..0000000 --- a/roles/development/tasks/coc.yml +++ /dev/null @@ -1,33 +0,0 @@ -- name: install coc.nvim node packages - npm: - path: "{{ xdg_data_dir }}/nvim/site/pack/default/start/coc.nvim" - state: present - global: false - -- name: create default coc.nvim venv directory - file: - path: "{{ ansible_env.HOME }}/.local/lib/coc" - state: directory - mode: "0755" - -- name: copy coc pyproject.toml - template: - src: "pyproject.j2" - dest: "{{ ansible_env.HOME }}/.local/lib/coc/pyproject.toml" - mode: "0644" - force: false - -- name: set default venv python version - command: "poetry env use python3" - args: - chdir: "{{ ansible_env.HOME }}/.local/lib/coc" - environment: - PATH: "{{ ansible_env.HOME }}/.local/bin:{{ ansible_env.PATH }}" - when: ansible_distribution == "Debian" - -- name: install default coc.nvim python packages # noqa 301 - command: "poetry install" - args: - chdir: "{{ ansible_env.HOME }}/.local/lib/coc" - environment: - PATH: "{{ ansible_env.HOME }}/.local/bin:{{ ansible_env.PATH }}" diff --git a/roles/development/tasks/dotfiles.yml b/roles/development/tasks/dotfiles.yml deleted file mode 100644 index d8ee079..0000000 --- a/roles/development/tasks/dotfiles.yml +++ /dev/null @@ -1,53 +0,0 @@ -- name: clone dotfiles - git: - repo: "{{ dotfiles_repo }}" - dest: "{{ ansible_env.HOME }}/dotfiles" - version: master - update: yes - -- name: create dotfile folders - file: - state: directory - mode: "0755" - path: "{{ item }}" - loop: - - "{{ xdg_config_dir }}/nvim" - - "{{ xdg_data_dir }}/nvim/site" - - "{{ xdg_config_dir }}/kitty" - -- name: setup dotfiles - file: - path: "{{ item.dest }}" - src: "{{ item.src }}" - mode: "0755" - state: link - force: true - loop: - - { - src: "{{ ansible_env.HOME }}/dotfiles/nvim/init.vim", - dest: "{{ xdg_config_dir }}/nvim/init.vim", - } - - { - src: "{{ ansible_env.HOME }}/dotfiles/.vimrc", - dest: "{{ ansible_env.HOME }}/.vimrc", - } - - { - src: "{{ ansible_env.HOME }}/dotfiles/.bashrc", - dest: "{{ ansible_env.HOME }}/.bashrc", - } - - { - src: "{{ ansible_env.HOME }}/dotfiles/.profile", - dest: "{{ ansible_env.HOME }}/.profile", - } - - { - src: "{{ ansible_env.HOME }}/dotfiles/nvim/colors", - dest: "{{ xdg_data_dir }}/nvim/site/colors", - } - - { - src: "{{ ansible_env.HOME }}/dotfiles/kitty.conf", - dest: "{{ xdg_config_dir }}/kitty/kitty.conf", - } - - { - src: "{{ ansible_env.HOME }}/dotfiles/.gitignore", - dest: "{{ ansible_env.HOME }}/.gitignore", - } diff --git a/roles/development/tasks/main.yml b/roles/development/tasks/main.yml deleted file mode 100644 index 71e29e4..0000000 --- a/roles/development/tasks/main.yml +++ /dev/null @@ -1,54 +0,0 @@ -- name: load OS specific vars - include_vars: "{{ item }}" - with_first_found: - - files: - - "{{ ansible_distribution|lower }}-{{ ansible_distribution_release|lower }}.yml" - - "{{ ansible_distribution|lower }}.yml" - - "{{ ansible_os_family|lower }}.yml" - paths: - - "{{ role_path }}/vars" - -- name: add gitlab to known hosts - include_role: - name: common - tasks_from: known_hosts.yml - vars: - user: "{{ ansible_user_id }}" - items: - - { domain: "{{ gitlab_domain }}", key: "{{ gitlab_host_key }}" } - -- name: install packages - become: true - package: - name: "{{ item }}" - state: present - loop: "{{ packages }}" - -- name: create development dir - file: - path: "{{ ansible_env.HOME }}/development" - state: directory - mode: "0755" - -- include_tasks: "dotfiles.yml" - -- name: clone git hooks - git: - repo: "{{ githook_repo }}" - dest: "{{ ansible_env.HOME }}/development/git-hooks" - update: true - version: master - -- name: clone neovim packages - git: - repo: "{{ item.url }}" - dest: "{{ xdg_data_dir }}/nvim/site/pack/default/start/{{ item.name }}" - version: master - update: true - loop: "{{ vim_plugins }}" - -- include_role: - name: common - tasks_from: "poetry" - -- include_tasks: coc.yml diff --git a/roles/development/vars/main.yml b/roles/development/vars/main.yml deleted file mode 100644 index 63d2cfb..0000000 --- a/roles/development/vars/main.yml +++ /dev/null @@ -1,2 +0,0 @@ -gitlab_domain: "git.fudiggity.nl" -gitlab_host_key: "git.fudiggity.nl ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICNmvcxza79T7JZMkifmquwXH/kMUqDnKs9Oob+JrRvn" diff --git a/tasks/coc.yml b/tasks/coc.yml new file mode 100644 index 0000000..eec5ac3 --- /dev/null +++ b/tasks/coc.yml @@ -0,0 +1,33 @@ +- name: install coc.nvim node packages + npm: + path: '{{ xdg_data_dir }}/nvim/site/pack/default/start/coc.nvim' + state: present + global: false + +- name: create default coc.nvim venv directory + file: + path: '{{ ansible_env.HOME }}/.local/lib/coc' + state: directory + mode: '0755' + +- name: copy coc pyproject.toml + template: + src: 'pyproject.j2' + dest: '{{ ansible_env.HOME }}/.local/lib/coc/pyproject.toml' + mode: '0644' + force: false + +- name: set default venv python version + command: 'poetry env use python3' + args: + chdir: '{{ ansible_env.HOME }}/.local/lib/coc' + environment: + PATH: '{{ ansible_env.HOME }}/.local/bin:{{ ansible_env.PATH }}' + when: ansible_distribution == "Debian" + +- name: install default coc.nvim python packages # noqa 301 + command: 'poetry install' + args: + chdir: '{{ ansible_env.HOME }}/.local/lib/coc' + environment: + PATH: '{{ ansible_env.HOME }}/.local/bin:{{ ansible_env.PATH }}' diff --git a/tasks/dotfiles.yml b/tasks/dotfiles.yml new file mode 100644 index 0000000..ba1a26e --- /dev/null +++ b/tasks/dotfiles.yml @@ -0,0 +1,52 @@ +- name: clone dotfiles + git: + repo: '{{ dotfiles_repo }}' + dest: '{{ ansible_env.HOME }}/dotfiles' + version: master + update: yes + +- name: create dotfile folders + file: + state: directory + mode: '0755' + path: '{{ item }}' + loop: + - '{{ xdg_config_dir }}/nvim' + - '{{ xdg_data_dir }}/nvim/site' + - '{{ xdg_config_dir }}/kitty' + +- name: setup dotfiles + file: + path: '{{ item.dest }}' + src: '{{ item.src }}' + state: link + force: true + loop: + - { + src: '{{ ansible_env.HOME }}/dotfiles/nvim/init.vim', + dest: '{{ xdg_config_dir }}/nvim/init.vim', + } + - { + src: '{{ ansible_env.HOME }}/dotfiles/.vimrc', + dest: '{{ ansible_env.HOME }}/.vimrc', + } + - { + src: '{{ ansible_env.HOME }}/dotfiles/.bashrc', + dest: '{{ ansible_env.HOME }}/.bashrc', + } + - { + src: '{{ ansible_env.HOME }}/dotfiles/.profile', + dest: '{{ ansible_env.HOME }}/.profile', + } + - { + src: '{{ ansible_env.HOME }}/dotfiles/nvim/colors', + dest: '{{ xdg_data_dir }}/nvim/site/colors', + } + - { + src: '{{ ansible_env.HOME }}/dotfiles/kitty.conf', + dest: '{{ xdg_config_dir }}/kitty/kitty.conf', + } + - { + src: '{{ ansible_env.HOME }}/dotfiles/.gitignore', + dest: '{{ ansible_env.HOME }}/.gitignore', + } diff --git a/tasks/main.yml b/tasks/main.yml new file mode 100644 index 0000000..9b5d85a --- /dev/null +++ b/tasks/main.yml @@ -0,0 +1,20 @@ +- name: create development dir + file: + path: '{{ ansible_env.HOME }}/development' + state: directory + mode: '0755' + +- name: clone git hooks + git: + repo: '{{ githook_repo }}' + dest: '{{ ansible_env.HOME }}/development/git-hooks' + update: true + version: master + +- name: clone neovim packages + git: + repo: '{{ item.url }}' + dest: '{{ xdg_data_dir }}/nvim/site/pack/default/start/{{ item.name }}' + version: master + update: true + loop: '{{ vim_plugins }}' diff --git a/roles/development/templates/pyproject.j2 b/templates/pyproject.j2 similarity index 100% rename from roles/development/templates/pyproject.j2 rename to templates/pyproject.j2 diff --git a/roles/development/vars/archlinux.yml b/vars/archlinux.yml similarity index 79% rename from roles/development/vars/archlinux.yml rename to vars/archlinux.yml index f96720f..7cd5504 100644 --- a/roles/development/vars/archlinux.yml +++ b/vars/archlinux.yml @@ -7,5 +7,5 @@ packages: - npm - ctags - kitty - - docker # TODO add tasks + - docker - docker-compose diff --git a/roles/development/vars/debian-buster.yml b/vars/debian-buster.yml similarity index 100% rename from roles/development/vars/debian-buster.yml rename to vars/debian-buster.yml diff --git a/vars/main.yml b/vars/main.yml new file mode 100644 index 0000000..6451192 --- /dev/null +++ b/vars/main.yml @@ -0,0 +1,22 @@ +packages: [] + +xdg_config_dir: '{{ ansible_env.HOME }}/.config' +xdg_data_dir: '{{ ansible_env.HOME }}/.local/share' + +dotfiles_repo: 'git@git.fudiggity.nl:sonny/dotfiles.git' +githook_repo: 'git@git.fudiggity.nl:sonny/git-hooks.git' + +vim_plugins: + - { url: 'https://github.com/preservim/nerdtree', name: 'nerdtree' } + - { url: 'https://github.com/neoclide/coc.nvim', name: 'coc.nvim' } + - { url: 'https://github.com/sheerun/vim-polyglot', name: 'vim-polygot' } + +poetry_packages: + - black + - pylint + - autoflake + +gitlab_domain: 'git.fudiggity.nl' +gitlab_host_key: 'git.fudiggity.nl ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICNmvcxza79T7JZMkifmquwXH/kMUqDnKs9Oob+JrRvn' + +skip_common_setup: true diff --git a/roles/development/vars/ubuntu-focal.yml b/vars/ubuntu-focal.yml similarity index 58% rename from roles/development/vars/ubuntu-focal.yml rename to vars/ubuntu-focal.yml index da4b45a..7281d11 100644 --- a/roles/development/vars/ubuntu-focal.yml +++ b/vars/ubuntu-focal.yml @@ -1,5 +1,5 @@ -dotfiles_repo: "https://git.fudiggity.nl/sonny/dotfiles.git" -githook_repo: "https://git.fudiggity.nl/sonny/git-hooks.git" +dotfiles_repo: 'https://git.fudiggity.nl/sonny/dotfiles.git' +githook_repo: 'https://git.fudiggity.nl/sonny/git-hooks.git' packages: - git From 0e5b42dcec4d2104a931fcdf0ebad0048b18d640 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sat, 30 Jan 2021 10:26:43 +0100 Subject: [PATCH 005/170] Move platform specific vars These will be ignored when not present --- playbook.yml | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/playbook.yml b/playbook.yml index 1fd2023..de85664 100644 --- a/playbook.yml +++ b/playbook.yml @@ -1,14 +1,11 @@ - hosts: localhost pre_tasks: - - name: load OS specific vars - include_vars: '{{ item }}' - with_first_found: - - files: - - '{{ ansible_distribution|lower }}-{{ ansible_distribution_release|lower }}.yml' - - '{{ ansible_distribution|lower }}.yml' - - '{{ ansible_os_family|lower }}.yml' - paths: - - 'vars/' + - name: install packages + become: true + package: + name: '{{ item }}' + state: present + loop: '{{ packages }}' - name: add gitlab to known hosts include_role: name: common @@ -17,12 +14,6 @@ user: '{{ ansible_user_id }}' items: - { domain: '{{ gitlab_domain }}', key: '{{ gitlab_host_key }}' } - - name: install packages - become: true - package: - name: '{{ item }}' - state: present - loop: '{{ packages }}' roles: - common - npm @@ -35,3 +26,6 @@ - import_tasks: 'tasks/coc.yml' vars_files: - 'vars/main.yml' + - 'vars/{{ ansible_os_family|lower }}.yml' + - 'vars/{{ ansible_distribution|lower }}.yml' + - 'vars/{{ ansible_distribution|lower }}-{{ ansible_distribution_release|lower }}.yml' From 05beb0ece3ddb35770cbf1b3af7c1ffc171749d1 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sat, 30 Jan 2021 17:05:23 +0100 Subject: [PATCH 006/170] Remove skip option Common role was updated --- vars/main.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/vars/main.yml b/vars/main.yml index 6451192..e97e50e 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -18,5 +18,3 @@ poetry_packages: gitlab_domain: 'git.fudiggity.nl' gitlab_host_key: 'git.fudiggity.nl ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICNmvcxza79T7JZMkifmquwXH/kMUqDnKs9Oob+JrRvn' - -skip_common_setup: true From 3094ca8ce740e042c4586a99c4686610fc17d3da Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sat, 13 Feb 2021 22:07:51 +0100 Subject: [PATCH 007/170] Update console configuration --- playbook.yml | 2 +- tasks/coc.yml | 2 +- tasks/main.yml | 13 +++++++++++++ templates/konsole.config.j2 | 26 ++++++++++++++++++++++++++ templates/konsole.profile.j2 | 16 ++++++++++++++++ vars/archlinux.yml | 1 + vars/debian-buster.yml | 1 + vars/main.yml | 1 + vars/ubuntu-focal.yml | 1 + 9 files changed, 61 insertions(+), 2 deletions(-) create mode 100644 templates/konsole.config.j2 create mode 100644 templates/konsole.profile.j2 diff --git a/playbook.yml b/playbook.yml index de85664..23a82e5 100644 --- a/playbook.yml +++ b/playbook.yml @@ -1,6 +1,6 @@ - hosts: localhost pre_tasks: - - name: install packages + - name: install packages become: true package: name: '{{ item }}' diff --git a/tasks/coc.yml b/tasks/coc.yml index eec5ac3..e18713a 100644 --- a/tasks/coc.yml +++ b/tasks/coc.yml @@ -25,7 +25,7 @@ PATH: '{{ ansible_env.HOME }}/.local/bin:{{ ansible_env.PATH }}' when: ansible_distribution == "Debian" -- name: install default coc.nvim python packages # noqa 301 +- name: install default coc.nvim python packages command: 'poetry install' args: chdir: '{{ ansible_env.HOME }}/.local/lib/coc' diff --git a/tasks/main.yml b/tasks/main.yml index 9b5d85a..b40b6c1 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -18,3 +18,16 @@ version: master update: true loop: '{{ vim_plugins }}' + +- name: copy konsole configuration files + template: + src: '{{ item.src }}' + dest: '{{ item.dest }}' + mode: '0600' + force: true + loop: + - { + src: 'templates/konsole.profile.j2', + dest: '{{ xdg_data_dir }}/konsole/Standard.profile', + } + - { src: 'templates/konsole.config.j2', dest: '{{ xdg_config_dir }}/konsolerc' } diff --git a/templates/konsole.config.j2 b/templates/konsole.config.j2 new file mode 100644 index 0000000..80f3a66 --- /dev/null +++ b/templates/konsole.config.j2 @@ -0,0 +1,26 @@ +# {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} + +[Desktop Entry] +DefaultProfile=Standard.profile + +[DownloadDialog Settings] +Height 1080=494 +Width 1920=700 + +[Favorite Profiles] +Favorites=Standard.profile + +[KonsoleWindow] +ShowMenuBarByDefault=false + +[MainWindow] +MenuBar=Disabled +State=AAAA/wAAAAD9AAAAAAAAB4AAAAQbAAAABAAAAAQAAAAIAAAACPwAAAAA +ToolBarsMovable=Disabled +Width 1920=1415 + +[Notification Messages] +CloseAllTabs=true + +[TabBar] +TabBarPosition=Top diff --git a/templates/konsole.profile.j2 b/templates/konsole.profile.j2 new file mode 100644 index 0000000..12758de --- /dev/null +++ b/templates/konsole.profile.j2 @@ -0,0 +1,16 @@ +# {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} + +[Appearance] +BoldIntense=false +ColorScheme=Breeze +Font=IBM Plex Mono,13,-1,5,57,0,0,0,0,0,Medium +UseFontLineChararacters=true + +[Cursor Options] +CursorShape=1 + +[General] +Environment=TERM=tmux-256color,COLORTERM=truecolor +Name=Standard +Parent=FALLBACK/ +StartInCurrentSessionDir=true diff --git a/vars/archlinux.yml b/vars/archlinux.yml index 7cd5504..b9f65d5 100644 --- a/vars/archlinux.yml +++ b/vars/archlinux.yml @@ -9,3 +9,4 @@ packages: - kitty - docker - docker-compose + - ttf-ibm-plex diff --git a/vars/debian-buster.yml b/vars/debian-buster.yml index 6f2abf8..9f4a601 100644 --- a/vars/debian-buster.yml +++ b/vars/debian-buster.yml @@ -8,3 +8,4 @@ packages: - python3-setuptools - exuberant-ctags - apt-transport-https + - fonts-ibm-plex diff --git a/vars/main.yml b/vars/main.yml index e97e50e..c2c6878 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -10,6 +10,7 @@ vim_plugins: - { url: 'https://github.com/preservim/nerdtree', name: 'nerdtree' } - { url: 'https://github.com/neoclide/coc.nvim', name: 'coc.nvim' } - { url: 'https://github.com/sheerun/vim-polyglot', name: 'vim-polygot' } + - { url: 'https://github.com/arzg/vim-colors-xcode.git', name: 'vim-colors-xcode' } poetry_packages: - black diff --git a/vars/ubuntu-focal.yml b/vars/ubuntu-focal.yml index 7281d11..36fdb61 100644 --- a/vars/ubuntu-focal.yml +++ b/vars/ubuntu-focal.yml @@ -13,3 +13,4 @@ packages: - exuberant-ctags - apt-transport-https - kitty + - fonts-ibm-plex From f7ef91cb350283f1f2d2734ba8d64d40bdc68b56 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sat, 13 Feb 2021 22:20:35 +0100 Subject: [PATCH 008/170] Fix errors --- playbook.yml | 12 +++++++++--- tasks/main.yml | 12 ++++++------ 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/playbook.yml b/playbook.yml index 23a82e5..27adc35 100644 --- a/playbook.yml +++ b/playbook.yml @@ -1,5 +1,14 @@ - hosts: localhost pre_tasks: + - name: load OS specific vars + include_vars: '{{ item }}' + with_first_found: + - files: + - '{{ ansible_distribution|lower }}-{{ ansible_distribution_release|lower }}.yml' + - '{{ ansible_distribution|lower }}.yml' + - '{{ ansible_os_family|lower }}.yml' + paths: + - 'vars/' - name: install packages become: true package: @@ -26,6 +35,3 @@ - import_tasks: 'tasks/coc.yml' vars_files: - 'vars/main.yml' - - 'vars/{{ ansible_os_family|lower }}.yml' - - 'vars/{{ ansible_distribution|lower }}.yml' - - 'vars/{{ ansible_distribution|lower }}-{{ ansible_distribution_release|lower }}.yml' diff --git a/tasks/main.yml b/tasks/main.yml index b40b6c1..c7e3438 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -25,9 +25,9 @@ dest: '{{ item.dest }}' mode: '0600' force: true - loop: - - { - src: 'templates/konsole.profile.j2', - dest: '{{ xdg_data_dir }}/konsole/Standard.profile', - } - - { src: 'templates/konsole.config.j2', dest: '{{ xdg_config_dir }}/konsolerc' } + loop: + - { + src: 'templates/konsole.profile.j2', + dest: '{{ xdg_data_dir }}/konsole/Standard.profile', + } + - { src: 'templates/konsole.config.j2', dest: '{{ xdg_config_dir }}/konsolerc' } From 4dfc755e05a26f2efa27511d59e0a8470ab7404e Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sat, 13 Feb 2021 22:40:55 +0100 Subject: [PATCH 009/170] Remove deleted dotfile --- tasks/dotfiles.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/tasks/dotfiles.yml b/tasks/dotfiles.yml index ba1a26e..99957b2 100644 --- a/tasks/dotfiles.yml +++ b/tasks/dotfiles.yml @@ -42,10 +42,6 @@ src: '{{ ansible_env.HOME }}/dotfiles/nvim/colors', dest: '{{ xdg_data_dir }}/nvim/site/colors', } - - { - src: '{{ ansible_env.HOME }}/dotfiles/kitty.conf', - dest: '{{ xdg_config_dir }}/kitty/kitty.conf', - } - { src: '{{ ansible_env.HOME }}/dotfiles/.gitignore', dest: '{{ ansible_env.HOME }}/.gitignore', From c38742df47a40d3b4e1fa8740950c87bb8499b2b Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sat, 13 Feb 2021 22:42:10 +0100 Subject: [PATCH 010/170] Rerun prettier --- playbook.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/playbook.yml b/playbook.yml index 27adc35..b634565 100644 --- a/playbook.yml +++ b/playbook.yml @@ -4,9 +4,9 @@ include_vars: '{{ item }}' with_first_found: - files: - - '{{ ansible_distribution|lower }}-{{ ansible_distribution_release|lower }}.yml' - - '{{ ansible_distribution|lower }}.yml' - - '{{ ansible_os_family|lower }}.yml' + - '{{ ansible_distribution|lower }}-{{ ansible_distribution_release|lower }}.yml' + - '{{ ansible_distribution|lower }}.yml' + - '{{ ansible_os_family|lower }}.yml' paths: - 'vars/' - name: install packages From 8cc4d46b96fcf2b3a307f07a687cd290665d0751 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Fri, 23 Apr 2021 21:11:28 +0200 Subject: [PATCH 011/170] Use (fixed path) python3 interpreter by default --- ansible.cfg | 1 + 1 file changed, 1 insertion(+) diff --git a/ansible.cfg b/ansible.cfg index 4c41b64..0e25922 100644 --- a/ansible.cfg +++ b/ansible.cfg @@ -1,4 +1,5 @@ [defaults] +ansible_python_interpreter = /usr/bin/python3 roles_path = ./roles [privilege_escalation] From b28f961d7d0d31e3583ae2fbc2ae74e756922589 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Fri, 23 Apr 2021 21:32:53 +0200 Subject: [PATCH 012/170] Use vars for specifying python interpreter --- ansible.cfg | 1 - vars/main.yml | 3 +++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/ansible.cfg b/ansible.cfg index 0e25922..4c41b64 100644 --- a/ansible.cfg +++ b/ansible.cfg @@ -1,5 +1,4 @@ [defaults] -ansible_python_interpreter = /usr/bin/python3 roles_path = ./roles [privilege_escalation] diff --git a/vars/main.yml b/vars/main.yml index c2c6878..3dfd4f2 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -1,3 +1,6 @@ +ansible_connection: local +ansible_python_interpreter: '/usr/bin/env python' + packages: [] xdg_config_dir: '{{ ansible_env.HOME }}/.config' From 0d16af9d8304962745f3e4a9bf3f694d9bd6a3ac Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sat, 29 May 2021 16:25:25 +0200 Subject: [PATCH 013/170] Update default venv dependencies --- templates/pyproject.j2 | 1 + 1 file changed, 1 insertion(+) diff --git a/templates/pyproject.j2 b/templates/pyproject.j2 index 71768cc..5f621ce 100644 --- a/templates/pyproject.j2 +++ b/templates/pyproject.j2 @@ -11,6 +11,7 @@ python = "^3.7" black = "^19.10b0" pylint = "^2.5.3" autoflake = "^1.3.1" +neovim = "^0.3.1" [tool.poetry.dev-dependencies] From af58cdc39603253e1b00d601642a49f19cc39e50 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Mon, 31 May 2021 20:34:20 +0200 Subject: [PATCH 014/170] Load vars from vars_files --- playbook.yml | 10 +--------- vars/{archlinux.yml => archlinux-na.yml} | 0 2 files changed, 1 insertion(+), 9 deletions(-) rename vars/{archlinux.yml => archlinux-na.yml} (100%) diff --git a/playbook.yml b/playbook.yml index b634565..dcb754d 100644 --- a/playbook.yml +++ b/playbook.yml @@ -1,14 +1,5 @@ - hosts: localhost pre_tasks: - - name: load OS specific vars - include_vars: '{{ item }}' - with_first_found: - - files: - - '{{ ansible_distribution|lower }}-{{ ansible_distribution_release|lower }}.yml' - - '{{ ansible_distribution|lower }}.yml' - - '{{ ansible_os_family|lower }}.yml' - paths: - - 'vars/' - name: install packages become: true package: @@ -35,3 +26,4 @@ - import_tasks: 'tasks/coc.yml' vars_files: - 'vars/main.yml' + - 'vars/{{ ansible_distribution|lower }}-{{ ansible_distribution_release|lower }}.yml' diff --git a/vars/archlinux.yml b/vars/archlinux-na.yml similarity index 100% rename from vars/archlinux.yml rename to vars/archlinux-na.yml From 3e4d60091e015fceabbdf35773fe6b7abd3c24ab Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Fri, 4 Jun 2021 20:58:39 +0200 Subject: [PATCH 015/170] Remove old settings --- tasks/coc.yml | 33 --------------------------------- tasks/dotfiles.yml | 1 - tasks/main.yml | 4 ++++ 3 files changed, 4 insertions(+), 34 deletions(-) delete mode 100644 tasks/coc.yml diff --git a/tasks/coc.yml b/tasks/coc.yml deleted file mode 100644 index e18713a..0000000 --- a/tasks/coc.yml +++ /dev/null @@ -1,33 +0,0 @@ -- name: install coc.nvim node packages - npm: - path: '{{ xdg_data_dir }}/nvim/site/pack/default/start/coc.nvim' - state: present - global: false - -- name: create default coc.nvim venv directory - file: - path: '{{ ansible_env.HOME }}/.local/lib/coc' - state: directory - mode: '0755' - -- name: copy coc pyproject.toml - template: - src: 'pyproject.j2' - dest: '{{ ansible_env.HOME }}/.local/lib/coc/pyproject.toml' - mode: '0644' - force: false - -- name: set default venv python version - command: 'poetry env use python3' - args: - chdir: '{{ ansible_env.HOME }}/.local/lib/coc' - environment: - PATH: '{{ ansible_env.HOME }}/.local/bin:{{ ansible_env.PATH }}' - when: ansible_distribution == "Debian" - -- name: install default coc.nvim python packages - command: 'poetry install' - args: - chdir: '{{ ansible_env.HOME }}/.local/lib/coc' - environment: - PATH: '{{ ansible_env.HOME }}/.local/bin:{{ ansible_env.PATH }}' diff --git a/tasks/dotfiles.yml b/tasks/dotfiles.yml index 99957b2..c9c4cfc 100644 --- a/tasks/dotfiles.yml +++ b/tasks/dotfiles.yml @@ -13,7 +13,6 @@ loop: - '{{ xdg_config_dir }}/nvim' - '{{ xdg_data_dir }}/nvim/site' - - '{{ xdg_config_dir }}/kitty' - name: setup dotfiles file: diff --git a/tasks/main.yml b/tasks/main.yml index c7e3438..2d388da 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -19,6 +19,10 @@ update: true loop: '{{ vim_plugins }}' +- name: install pynvim package + pip: + name: pynvim + - name: copy konsole configuration files template: src: '{{ item.src }}' From 64fde680382d8ed02bd37a602c91b70867334761 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Fri, 4 Jun 2021 22:10:04 +0200 Subject: [PATCH 016/170] Update configuration & remove old packages --- playbook.yml | 11 +---------- templates/pyproject.j2 | 20 -------------------- vars/{archlinux.yml => archlinux-na.yml} | 1 - vars/main.yml | 5 ----- vars/ubuntu-focal.yml | 1 - 5 files changed, 1 insertion(+), 37 deletions(-) delete mode 100644 templates/pyproject.j2 rename vars/{archlinux.yml => archlinux-na.yml} (92%) diff --git a/playbook.yml b/playbook.yml index b634565..4c71b78 100644 --- a/playbook.yml +++ b/playbook.yml @@ -1,14 +1,5 @@ - hosts: localhost pre_tasks: - - name: load OS specific vars - include_vars: '{{ item }}' - with_first_found: - - files: - - '{{ ansible_distribution|lower }}-{{ ansible_distribution_release|lower }}.yml' - - '{{ ansible_distribution|lower }}.yml' - - '{{ ansible_os_family|lower }}.yml' - paths: - - 'vars/' - name: install packages become: true package: @@ -32,6 +23,6 @@ name: common tasks_from: 'poetry.yml' - import_tasks: 'tasks/dotfiles.yml' - - import_tasks: 'tasks/coc.yml' vars_files: - 'vars/main.yml' + - 'vars/{{ ansible_distribution|lower }}-{{ ansible_distribution_release|lower }}.yml' diff --git a/templates/pyproject.j2 b/templates/pyproject.j2 deleted file mode 100644 index 5f621ce..0000000 --- a/templates/pyproject.j2 +++ /dev/null @@ -1,20 +0,0 @@ -# {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} - -[tool.poetry] -name = "coc" -version = "0.1.0" -description = "" -authors = ["Sonny Bakker "] - -[tool.poetry.dependencies] -python = "^3.7" -black = "^19.10b0" -pylint = "^2.5.3" -autoflake = "^1.3.1" -neovim = "^0.3.1" - -[tool.poetry.dev-dependencies] - -[build-system] -requires = ["poetry>=0.12"] -build-backend = "poetry.masonry.api" diff --git a/vars/archlinux.yml b/vars/archlinux-na.yml similarity index 92% rename from vars/archlinux.yml rename to vars/archlinux-na.yml index b9f65d5..f29d826 100644 --- a/vars/archlinux.yml +++ b/vars/archlinux-na.yml @@ -6,7 +6,6 @@ packages: - neovim - npm - ctags - - kitty - docker - docker-compose - ttf-ibm-plex diff --git a/vars/main.yml b/vars/main.yml index 3dfd4f2..c46593b 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -15,10 +15,5 @@ vim_plugins: - { url: 'https://github.com/sheerun/vim-polyglot', name: 'vim-polygot' } - { url: 'https://github.com/arzg/vim-colors-xcode.git', name: 'vim-colors-xcode' } -poetry_packages: - - black - - pylint - - autoflake - gitlab_domain: 'git.fudiggity.nl' gitlab_host_key: 'git.fudiggity.nl ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICNmvcxza79T7JZMkifmquwXH/kMUqDnKs9Oob+JrRvn' diff --git a/vars/ubuntu-focal.yml b/vars/ubuntu-focal.yml index 36fdb61..f89c36f 100644 --- a/vars/ubuntu-focal.yml +++ b/vars/ubuntu-focal.yml @@ -12,5 +12,4 @@ packages: - python3-setuptools - exuberant-ctags - apt-transport-https - - kitty - fonts-ibm-plex From c1b9f491e49c4fc1df748ab5b893b062f68cfd89 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sat, 5 Jun 2021 10:26:37 +0200 Subject: [PATCH 017/170] Add missing package --- tasks/main.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tasks/main.yml b/tasks/main.yml index 2d388da..c69edd9 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -21,7 +21,9 @@ - name: install pynvim package pip: - name: pynvim + name: + - neovim + - pynvim - name: copy konsole configuration files template: From 5f3cdb3efb91583635c26ce43288f7559bcc5bc0 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Thu, 25 Nov 2021 10:23:45 +0100 Subject: [PATCH 018/170] Update neovim configuration --- playbook.yml | 1 + tasks/dotfiles.yml | 13 --------- tasks/main.yml | 14 --------- tasks/neovim.yml | 66 +++++++++++++++++++++++++++++++++++++++++++ vars/archlinux-na.yml | 1 - vars/main.yml | 5 ++-- 6 files changed, 70 insertions(+), 30 deletions(-) create mode 100644 tasks/neovim.yml diff --git a/playbook.yml b/playbook.yml index 4c71b78..ad33ee1 100644 --- a/playbook.yml +++ b/playbook.yml @@ -23,6 +23,7 @@ name: common tasks_from: 'poetry.yml' - import_tasks: 'tasks/dotfiles.yml' + - import_tasks: 'tasks/neovim.yml' vars_files: - 'vars/main.yml' - 'vars/{{ ansible_distribution|lower }}-{{ ansible_distribution_release|lower }}.yml' diff --git a/tasks/dotfiles.yml b/tasks/dotfiles.yml index c9c4cfc..3dea8a8 100644 --- a/tasks/dotfiles.yml +++ b/tasks/dotfiles.yml @@ -5,15 +5,6 @@ version: master update: yes -- name: create dotfile folders - file: - state: directory - mode: '0755' - path: '{{ item }}' - loop: - - '{{ xdg_config_dir }}/nvim' - - '{{ xdg_data_dir }}/nvim/site' - - name: setup dotfiles file: path: '{{ item.dest }}' @@ -21,10 +12,6 @@ state: link force: true loop: - - { - src: '{{ ansible_env.HOME }}/dotfiles/nvim/init.vim', - dest: '{{ xdg_config_dir }}/nvim/init.vim', - } - { src: '{{ ansible_env.HOME }}/dotfiles/.vimrc', dest: '{{ ansible_env.HOME }}/.vimrc', diff --git a/tasks/main.yml b/tasks/main.yml index c69edd9..91e686f 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -11,20 +11,6 @@ update: true version: master -- name: clone neovim packages - git: - repo: '{{ item.url }}' - dest: '{{ xdg_data_dir }}/nvim/site/pack/default/start/{{ item.name }}' - version: master - update: true - loop: '{{ vim_plugins }}' - -- name: install pynvim package - pip: - name: - - neovim - - pynvim - - name: copy konsole configuration files template: src: '{{ item.src }}' diff --git a/tasks/neovim.yml b/tasks/neovim.yml new file mode 100644 index 0000000..742c1c5 --- /dev/null +++ b/tasks/neovim.yml @@ -0,0 +1,66 @@ +- name: ensure neovim configuration directories exist + file: + path: '{{ item }}' + state: directory + loop: + - '{{ xdg_config_dir }}/nvim/' + - '{{ xdg_config_dir }}/nvim/lua' + - '{{ xdg_data_dir }}/nvim/site' + - '{{ xdg_data_dir }}/nvim/site/pack' + - '{{ xdg_data_dir }}/nvim/site/pack/default' + - '{{ xdg_data_dir }}/nvim/site/pack/default/start' + +- name: clone neovim packages + git: + repo: '{{ item.url }}' + dest: '{{ xdg_data_dir }}/nvim/site/pack/default/start/{{ item.name }}' + update: true + loop: '{{ vim_plugins }}' + +- name: install pynvim package + pip: + name: + - neovim + - pynvim + +- name: remove old neovim configuration file + file: + path: '{{ xdg_config_dir }}/nvim/init.vim' + state: absent + +- name: remove coc.nvim extension + file: + path: '{{ xdg_data_dir }}/nvim/site/pack/default/start/coc.nvim' + state: absent + +- name: setup neovim configuration files + file: + path: '{{ item.dest }}' + src: '{{ item.src }}' + state: link + force: true + loop: + - { + src: '{{ ansible_env.HOME }}/dotfiles/nvim/init.lua', + dest: '{{ xdg_config_dir }}/nvim/init.lua', + } + - { + src: '{{ ansible_env.HOME }}/dotfiles/nvim/lua/auto-commands.lua', + dest: '{{ xdg_config_dir }}/nvim/lua/auto-commands.lua', + } + - { + src: '{{ ansible_env.HOME }}/dotfiles/nvim/lua/keybindings.lua', + dest: '{{ xdg_config_dir }}/nvim/lua/keybindings.lua', + } + - { + src: '{{ ansible_env.HOME }}/dotfiles/nvim/lua/lsp.lua', + dest: '{{ xdg_config_dir }}/nvim/lua/lsp.lua', + } + - { + src: '{{ ansible_env.HOME }}/dotfiles/nvim/lua/nvim-cmp.lua', + dest: '{{ xdg_config_dir }}/nvim/lua/nvim-cmp.lua', + } + - { + src: '{{ ansible_env.HOME }}/dotfiles/nvim/lua/options.lua', + dest: '{{ xdg_config_dir }}/nvim/lua/options.lua', + } diff --git a/vars/archlinux-na.yml b/vars/archlinux-na.yml index f29d826..7e6330f 100644 --- a/vars/archlinux-na.yml +++ b/vars/archlinux-na.yml @@ -5,7 +5,6 @@ packages: - vim - neovim - npm - - ctags - docker - docker-compose - ttf-ibm-plex diff --git a/vars/main.yml b/vars/main.yml index c46593b..73e3f3f 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -11,9 +11,10 @@ githook_repo: 'git@git.fudiggity.nl:sonny/git-hooks.git' vim_plugins: - { url: 'https://github.com/preservim/nerdtree', name: 'nerdtree' } - - { url: 'https://github.com/neoclide/coc.nvim', name: 'coc.nvim' } - { url: 'https://github.com/sheerun/vim-polyglot', name: 'vim-polygot' } - - { url: 'https://github.com/arzg/vim-colors-xcode.git', name: 'vim-colors-xcode' } + - { url: 'https://github.com/neovim/nvim-lspconfig', name: 'nvim-lspconfig' } + - { url: 'https://github.com/hrsh7th/nvim-cmp/', name: 'nvim-cmp' } + - { url: 'https://github.com/hrsh7th/cmp-nvim-lsp/', name: 'cmp-nvim-lsp' } gitlab_domain: 'git.fudiggity.nl' gitlab_host_key: 'git.fudiggity.nl ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICNmvcxza79T7JZMkifmquwXH/kMUqDnKs9Oob+JrRvn' From 195b9600bb9caf7d5323ef5e2823dacb32a694bb Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Thu, 25 Nov 2021 10:28:20 +0100 Subject: [PATCH 019/170] Remove support for ubuntu/debian --- playbook.yml | 6 +----- vars/main.yml => vars.yml | 11 ++++++++++- vars/archlinux-na.yml | 10 ---------- vars/debian-buster.yml | 11 ----------- vars/ubuntu-focal.yml | 15 --------------- 5 files changed, 11 insertions(+), 42 deletions(-) rename vars/main.yml => vars.yml (87%) delete mode 100644 vars/archlinux-na.yml delete mode 100644 vars/debian-buster.yml delete mode 100644 vars/ubuntu-focal.yml diff --git a/playbook.yml b/playbook.yml index ad33ee1..152eccc 100644 --- a/playbook.yml +++ b/playbook.yml @@ -19,11 +19,7 @@ - npm tasks: - import_tasks: 'tasks/main.yml' - - include_role: - name: common - tasks_from: 'poetry.yml' - import_tasks: 'tasks/dotfiles.yml' - import_tasks: 'tasks/neovim.yml' vars_files: - - 'vars/main.yml' - - 'vars/{{ ansible_distribution|lower }}-{{ ansible_distribution_release|lower }}.yml' + - 'vars.yml' diff --git a/vars/main.yml b/vars.yml similarity index 87% rename from vars/main.yml rename to vars.yml index 73e3f3f..a80b21c 100644 --- a/vars/main.yml +++ b/vars.yml @@ -1,7 +1,16 @@ ansible_connection: local ansible_python_interpreter: '/usr/bin/env python' -packages: [] +packages: + - python + - poetry + - git + - vim + - neovim + - npm + - docker + - docker-compose + - ttf-ibm-plex xdg_config_dir: '{{ ansible_env.HOME }}/.config' xdg_data_dir: '{{ ansible_env.HOME }}/.local/share' diff --git a/vars/archlinux-na.yml b/vars/archlinux-na.yml deleted file mode 100644 index 7e6330f..0000000 --- a/vars/archlinux-na.yml +++ /dev/null @@ -1,10 +0,0 @@ -packages: - - python - - poetry - - git - - vim - - neovim - - npm - - docker - - docker-compose - - ttf-ibm-plex diff --git a/vars/debian-buster.yml b/vars/debian-buster.yml deleted file mode 100644 index 9f4a601..0000000 --- a/vars/debian-buster.yml +++ /dev/null @@ -1,11 +0,0 @@ -packages: - - git - - vim - - neovim - - python3 - - python3-pip - - python3-venv - - python3-setuptools - - exuberant-ctags - - apt-transport-https - - fonts-ibm-plex diff --git a/vars/ubuntu-focal.yml b/vars/ubuntu-focal.yml deleted file mode 100644 index f89c36f..0000000 --- a/vars/ubuntu-focal.yml +++ /dev/null @@ -1,15 +0,0 @@ -dotfiles_repo: 'https://git.fudiggity.nl/sonny/dotfiles.git' -githook_repo: 'https://git.fudiggity.nl/sonny/git-hooks.git' - -packages: - - git - - vim - - neovim - - python2 - - python3 - - python3-pip - - python3-venv - - python3-setuptools - - exuberant-ctags - - apt-transport-https - - fonts-ibm-plex From 4c358753336f708418ec8102fdd94ec62d7d256a Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Thu, 25 Nov 2021 14:13:15 +0100 Subject: [PATCH 020/170] Initial commit --- playbook.yml | 1 + tasks/aur.yml | 23 +++++++++++++++++++++++ tasks/main.yml | 9 +++++++++ vars.yml | 13 +++++++++++++ 4 files changed, 46 insertions(+) create mode 100644 tasks/aur.yml diff --git a/playbook.yml b/playbook.yml index 152eccc..84575bb 100644 --- a/playbook.yml +++ b/playbook.yml @@ -21,5 +21,6 @@ - import_tasks: 'tasks/main.yml' - import_tasks: 'tasks/dotfiles.yml' - import_tasks: 'tasks/neovim.yml' + - import_tasks: 'tasks/aur.yml' vars_files: - 'vars.yml' diff --git a/tasks/aur.yml b/tasks/aur.yml new file mode 100644 index 0000000..6c20b59 --- /dev/null +++ b/tasks/aur.yml @@ -0,0 +1,23 @@ +- name: clone aur packages + become: true + git: + repo: '{{ item.url }}' + dest: '{{ aur_build_dir }}/{{ item.name }}' + update: true + loop: '{{ aur_packages }}' + +- name: change aur package directories owner + become: true + file: + path: '{[ aur_build_dir }}/{{ item.name }}' + state: directory + owner: sonny + group: sonny + recurse: true + loop: '{{ aur_packages }}' + +- name: build packages + command: 'makepkg --syncdeps --rmdeps --clean' + args: + chdir: '{[ aur_build_dir }}/{{ item.name }}' + loop: '{{ aur_packages }}' diff --git a/tasks/main.yml b/tasks/main.yml index 91e686f..df311d8 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -11,6 +11,15 @@ update: true version: master +- name: remove old docker packages + become: true + package: + name: '{{ item }}' + state: absent + loop: + - docker + - docker-compose + - name: copy konsole configuration files template: src: '{{ item.src }}' diff --git a/vars.yml b/vars.yml index a80b21c..fef4076 100644 --- a/vars.yml +++ b/vars.yml @@ -2,6 +2,7 @@ ansible_connection: local ansible_python_interpreter: '/usr/bin/env python' packages: + - base-devel - python - poetry - git @@ -12,6 +13,18 @@ packages: - docker-compose - ttf-ibm-plex +aur_packages: + - { + url: 'https://aur.archlinux.org/rootlesskit.git', + name: 'rootlesskit' + } + - { + url: 'https://aur.archlinux.org/docker-rootless-extras-bin.git', + name: 'docker-rootless' + } + +aur_build_dir: '/usr/local/src' + xdg_config_dir: '{{ ansible_env.HOME }}/.config' xdg_data_dir: '{{ ansible_env.HOME }}/.local/share' From 52a8bc8a7faf3c93943283617370df045be62291 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Thu, 25 Nov 2021 19:29:48 +0100 Subject: [PATCH 021/170] Install configured lsp servers --- tasks/neovim.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tasks/neovim.yml b/tasks/neovim.yml index 742c1c5..54f9e74 100644 --- a/tasks/neovim.yml +++ b/tasks/neovim.yml @@ -23,6 +23,17 @@ - neovim - pynvim +- name: install language servers + become: true + npm: + name: '{{ item }}' + global: true + loop: + - pyright + - ansible-language-server + - yaml-language-server + - typescript-language-server + - name: remove old neovim configuration file file: path: '{{ xdg_config_dir }}/nvim/init.vim' From cede4ea3650f9dc4fafb87f69feacfd0e5ce4baa Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sun, 28 Nov 2021 12:04:41 +0100 Subject: [PATCH 022/170] Add separate file for aur task & add rootless docker tasks --- playbook.yml | 1 + tasks/aur-package.yml | 22 ++++++++++++++++++++++ tasks/aur.yml | 20 +++++++++++++------- tasks/docker.yml | 28 ++++++++++++++++++++++++++++ tasks/main.yml | 9 --------- templates/subgid.j2 | 1 + templates/subuid.j2 | 1 + vars.yml | 1 + 8 files changed, 67 insertions(+), 16 deletions(-) create mode 100644 tasks/aur-package.yml create mode 100644 tasks/docker.yml create mode 100644 templates/subgid.j2 create mode 100644 templates/subuid.j2 diff --git a/playbook.yml b/playbook.yml index 84575bb..220b557 100644 --- a/playbook.yml +++ b/playbook.yml @@ -22,5 +22,6 @@ - import_tasks: 'tasks/dotfiles.yml' - import_tasks: 'tasks/neovim.yml' - import_tasks: 'tasks/aur.yml' + - import_tasks: 'tasks/docker.yml' vars_files: - 'vars.yml' diff --git a/tasks/aur-package.yml b/tasks/aur-package.yml new file mode 100644 index 0000000..3100196 --- /dev/null +++ b/tasks/aur-package.yml @@ -0,0 +1,22 @@ +- name: build package + command: 'makepkg --syncdeps --rmdeps --clean --noconfirm --force' + args: + chdir: '{{ aur_build_dir }}/{{ item.name }}' + +- name: retrieve package name + command: 'grep -oP "(?<=pkgname=).*" {{ aur_build_dir }}/{{ item.name }}/PKGBUILD' + register: pkg_name + +- name: retrieve package version + command: 'grep -oP "(?<=pkgver=).*" {{ aur_build_dir }}/{{ item.name }}/PKGBUILD' + register: pkg_version + +- name: retrieve package release + command: 'grep -oP "(?<=pkgrel=).*" {{ aur_build_dir }}/{{ item.name }}/PKGBUILD' + register: pkg_release + +- name: install package + become: true + pacman: + name: '{{ aur_build_dir }}/{{ item.name }}/{{ pkg_name.stdout }}-{{ pkg_version.stdout }}-{{ pkg_release.stdout }}-x86_64.pkg.tar.zst' + state: present diff --git a/tasks/aur.yml b/tasks/aur.yml index 6c20b59..f2ab39b 100644 --- a/tasks/aur.yml +++ b/tasks/aur.yml @@ -9,15 +9,21 @@ - name: change aur package directories owner become: true file: - path: '{[ aur_build_dir }}/{{ item.name }}' + path: '{{ aur_build_dir }}/{{ item.name }}' state: directory - owner: sonny - group: sonny + owner: '{{ ansible_user_id }}' + group: '{{ ansible_user_id }}' recurse: true loop: '{{ aur_packages }}' -- name: build packages - command: 'makepkg --syncdeps --rmdeps --clean' - args: - chdir: '{[ aur_build_dir }}/{{ item.name }}' +- name: build & install aur packages + include_tasks: 'tasks/aur-package.yml' loop: '{{ aur_packages }}' + +- name: enable docker socket + systemd: + name: docker.socket + state: restarted + enabled: true + scope: user + daemon_reload: true diff --git a/tasks/docker.yml b/tasks/docker.yml new file mode 100644 index 0000000..4443bbe --- /dev/null +++ b/tasks/docker.yml @@ -0,0 +1,28 @@ +- name: copy docker mapping files + become: true + template: + src: '{{ item.src }}' + dest: '{{ item.dest }}' + loop: + - { + src: 'templates/subgid.j2', + dest: '/etc/subgid', + } + - { + src: 'templates/subuid.j2', + dest: '/etc/subuid', + } + +- name: ensure correct DOCKER_HOST is set + lineinfile: + path: '{{ ansible_env.HOME }}/.bashrc' + regexp: '^export DOCKER_HOST=' + line: 'export DOCKER_HOST=unix:///run/user/{{ ansible_user_uid }}/docker.sock' + +- name: enable docker socket + systemd: + name: docker.socket + state: restarted + enabled: true + scope: user + daemon_reload: true diff --git a/tasks/main.yml b/tasks/main.yml index df311d8..91e686f 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -11,15 +11,6 @@ update: true version: master -- name: remove old docker packages - become: true - package: - name: '{{ item }}' - state: absent - loop: - - docker - - docker-compose - - name: copy konsole configuration files template: src: '{{ item.src }}' diff --git a/templates/subgid.j2 b/templates/subgid.j2 new file mode 100644 index 0000000..fb08808 --- /dev/null +++ b/templates/subgid.j2 @@ -0,0 +1 @@ +{{ ansible_user_id }}:231072:65536 diff --git a/templates/subuid.j2 b/templates/subuid.j2 new file mode 100644 index 0000000..fb08808 --- /dev/null +++ b/templates/subuid.j2 @@ -0,0 +1 @@ +{{ ansible_user_id }}:231072:65536 diff --git a/vars.yml b/vars.yml index fef4076..522bd3c 100644 --- a/vars.yml +++ b/vars.yml @@ -11,6 +11,7 @@ packages: - npm - docker - docker-compose + - fuse-overlayfs - ttf-ibm-plex aur_packages: From 3d26eaa10ce04a598234668521566374d14485c7 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sun, 28 Nov 2021 14:21:27 +0100 Subject: [PATCH 023/170] Add desktop configuration --- files/docker-daemon.json | 3 +++ tasks/docker.yml | 6 ++++++ 2 files changed, 9 insertions(+) create mode 100644 files/docker-daemon.json diff --git a/files/docker-daemon.json b/files/docker-daemon.json new file mode 100644 index 0000000..705c4d0 --- /dev/null +++ b/files/docker-daemon.json @@ -0,0 +1,3 @@ +{ + "data-root": "/mnt/docker" +} diff --git a/tasks/docker.yml b/tasks/docker.yml index 4443bbe..e89f666 100644 --- a/tasks/docker.yml +++ b/tasks/docker.yml @@ -13,6 +13,12 @@ dest: '/etc/subuid', } +- name: setup desktop configuration + copy: + src: 'files/docker-daemon.json' + dest: '{{ xdg_config_dir }}/docker/daemon.json' + when: ansible_hostname == 'desktop' + - name: ensure correct DOCKER_HOST is set lineinfile: path: '{{ ansible_env.HOME }}/.bashrc' From e1ed19dea5f553d723d9782eb13840025571b567 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sun, 28 Nov 2021 22:02:00 +0100 Subject: [PATCH 024/170] Display package name when building aur packages --- tasks/aur-package.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tasks/aur-package.yml b/tasks/aur-package.yml index 3100196..0652047 100644 --- a/tasks/aur-package.yml +++ b/tasks/aur-package.yml @@ -1,21 +1,21 @@ -- name: build package +- name: 'build package {{ item.name }}' command: 'makepkg --syncdeps --rmdeps --clean --noconfirm --force' args: chdir: '{{ aur_build_dir }}/{{ item.name }}' -- name: retrieve package name +- name: 'retrieve package name for {{ item.name }}' command: 'grep -oP "(?<=pkgname=).*" {{ aur_build_dir }}/{{ item.name }}/PKGBUILD' register: pkg_name -- name: retrieve package version +- name: 'retrieve package version for {{ item.name }}' command: 'grep -oP "(?<=pkgver=).*" {{ aur_build_dir }}/{{ item.name }}/PKGBUILD' register: pkg_version -- name: retrieve package release +- name: 'retrieve package release for {{ item.name }}' command: 'grep -oP "(?<=pkgrel=).*" {{ aur_build_dir }}/{{ item.name }}/PKGBUILD' register: pkg_release -- name: install package +- name: 'install {{ item.name }}' become: true pacman: name: '{{ aur_build_dir }}/{{ item.name }}/{{ pkg_name.stdout }}-{{ pkg_version.stdout }}-{{ pkg_release.stdout }}-x86_64.pkg.tar.zst' From a6f0bc729c9e04aebcab4849b23d43831203081f Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Thu, 30 Dec 2021 20:42:44 +0100 Subject: [PATCH 025/170] Update konsole config --- tasks/main.yml | 4 ++ templates/konsole.colorscheme.j2 | 96 ++++++++++++++++++++++++++++++++ templates/konsole.profile.j2 | 7 ++- 3 files changed, 105 insertions(+), 2 deletions(-) create mode 100644 templates/konsole.colorscheme.j2 diff --git a/tasks/main.yml b/tasks/main.yml index 91e686f..d9bea5e 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -22,4 +22,8 @@ src: 'templates/konsole.profile.j2', dest: '{{ xdg_data_dir }}/konsole/Standard.profile', } + - { + src: 'templates/konsole.colorscheme.j2', + dest: '{{ xdg_data_dir }}/konsole/BlackOnWhite.colorscheme' + } - { src: 'templates/konsole.config.j2', dest: '{{ xdg_config_dir }}/konsolerc' } diff --git a/templates/konsole.colorscheme.j2 b/templates/konsole.colorscheme.j2 new file mode 100644 index 0000000..46745f7 --- /dev/null +++ b/templates/konsole.colorscheme.j2 @@ -0,0 +1,96 @@ +[Background] +Color=255,255,255 + +[BackgroundFaint] +Color=255,255,255 + +[BackgroundIntense] +Color=255,255,255 + +[Color0] +Color=62,62,62 + +[Color0Faint] +Color=170,170,170 + +[Color0Intense] +Color=104,104,104 + +[Color1] +Color=178,24,24 + +[Color1Faint] +Color=224,142,142 + +[Color1Intense] +Color=255,84,84 + +[Color2] +Color=24,178,24 + +[Color2Faint] +Color=142,224,142 + +[Color2Intense] +Color=84,255,84 + +[Color3] +Color=229,133,31 + +[Color3Faint] +Color=224,224,142 + +[Color3Intense] +Color=255,255,84 + +[Color4] +Color=24,24,178 + +[Color4Faint] +Color=142,142,224 + +[Color4Intense] +Color=84,84,255 + +[Color5] +Color=178,24,178 + +[Color5Faint] +Color=224,142,224 + +[Color5Intense] +Color=255,84,255 + +[Color6] +Color=24,178,178 + +[Color6Faint] +Color=142,224,224 + +[Color6Intense] +Color=84,255,255 + +[Color7] +Color=58,58,58 + +[Color7Faint] +Color=142,142,142 + +[Color7Intense] +Color=255,255,255 + +[Foreground] +Color=36,36,36 + +[ForegroundFaint] +Color=0,0,0 + +[ForegroundIntense] +Color=0,0,0 + +[General] +Blur=false +ColorRandomization=false +Description=Black on White +Opacity=1 +Wallpaper= diff --git a/templates/konsole.profile.j2 b/templates/konsole.profile.j2 index 12758de..cbb1243 100644 --- a/templates/konsole.profile.j2 +++ b/templates/konsole.profile.j2 @@ -2,15 +2,18 @@ [Appearance] BoldIntense=false -ColorScheme=Breeze +ColorScheme=BlackOnWhite Font=IBM Plex Mono,13,-1,5,57,0,0,0,0,0,Medium UseFontLineChararacters=true [Cursor Options] -CursorShape=1 +CursorShape=0 [General] Environment=TERM=tmux-256color,COLORTERM=truecolor Name=Standard Parent=FALLBACK/ StartInCurrentSessionDir=true + +[Terminal Features] +BlinkingCursorEnabled=true From dfff572025f1dd5caec88cb5c30fbed7560c27f7 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Tue, 26 Apr 2022 21:47:20 +0200 Subject: [PATCH 026/170] Copy new ftplugin folder for neovim --- tasks/dotfiles.yml | 4 ---- tasks/neovim.yml | 9 +++++++++ 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/tasks/dotfiles.yml b/tasks/dotfiles.yml index 3dea8a8..b2d33f9 100644 --- a/tasks/dotfiles.yml +++ b/tasks/dotfiles.yml @@ -24,10 +24,6 @@ src: '{{ ansible_env.HOME }}/dotfiles/.profile', dest: '{{ ansible_env.HOME }}/.profile', } - - { - src: '{{ ansible_env.HOME }}/dotfiles/nvim/colors', - dest: '{{ xdg_data_dir }}/nvim/site/colors', - } - { src: '{{ ansible_env.HOME }}/dotfiles/.gitignore', dest: '{{ ansible_env.HOME }}/.gitignore', diff --git a/tasks/neovim.yml b/tasks/neovim.yml index 54f9e74..bb36a41 100644 --- a/tasks/neovim.yml +++ b/tasks/neovim.yml @@ -5,6 +5,7 @@ loop: - '{{ xdg_config_dir }}/nvim/' - '{{ xdg_config_dir }}/nvim/lua' + - '{{ xdg_config_dir }}/nvim/after' - '{{ xdg_data_dir }}/nvim/site' - '{{ xdg_data_dir }}/nvim/site/pack' - '{{ xdg_data_dir }}/nvim/site/pack/default' @@ -51,6 +52,14 @@ state: link force: true loop: + - { + src: '{{ ansible_env.HOME }}/dotfiles/nvim/colors', + dest: '{{ xdg_data_dir }}/nvim/site/colors', + } + - { + src: '{{ ansible_env.HOME }}/dotfiles/nvim/ftplugin', + dest: '{{ xdg_config_dir }}/nvim/after/ftplugin', + } - { src: '{{ ansible_env.HOME }}/dotfiles/nvim/init.lua', dest: '{{ xdg_config_dir }}/nvim/init.lua', From d9eeeb3684e903e61734bedce1f7f93bdcbbca00 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sun, 15 May 2022 15:53:28 +0200 Subject: [PATCH 027/170] Update fontsize --- templates/konsole.profile.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/konsole.profile.j2 b/templates/konsole.profile.j2 index cbb1243..e993115 100644 --- a/templates/konsole.profile.j2 +++ b/templates/konsole.profile.j2 @@ -3,7 +3,7 @@ [Appearance] BoldIntense=false ColorScheme=BlackOnWhite -Font=IBM Plex Mono,13,-1,5,57,0,0,0,0,0,Medium +Font=IBM Plex Mono,11,-1,5,57,0,0,0,0,0,Medium UseFontLineChararacters=true [Cursor Options] From e205c6c0cf372935798a8b0103de9e75ab2e5be0 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sun, 15 May 2022 19:19:11 +0200 Subject: [PATCH 028/170] Rerun prettier --- .gitlab-ci.yml | 2 +- package-lock.json | 33 +++++++++++++++++++++++++++++++++ package.json | 5 +++++ tasks/aur.yml | 6 ++++++ tasks/docker.yml | 10 ++-------- tasks/main.yml | 4 ++-- vars.yml | 7 ++----- 7 files changed, 51 insertions(+), 16 deletions(-) create mode 100644 package-lock.json create mode 100644 package.json diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d9ade6f..68f44e5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -12,7 +12,7 @@ lint: stage: lint image: node:12 before_script: - - npm install prettier --no-save + - npm install script: - npx prettier '**/*.yml' --check diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..0db7ba2 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,33 @@ +{ + "name": "development", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "dependencies": { + "prettier": "^2.6.2" + } + }, + "node_modules/prettier": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz", + "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==", + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + } + }, + "dependencies": { + "prettier": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz", + "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..e1f5891 --- /dev/null +++ b/package.json @@ -0,0 +1,5 @@ +{ + "dependencies": { + "prettier": "^2.6.2" + } +} diff --git a/tasks/aur.yml b/tasks/aur.yml index f2ab39b..6e8a2e7 100644 --- a/tasks/aur.yml +++ b/tasks/aur.yml @@ -1,3 +1,9 @@ +- name: retrieve directory stats + stat: + path: '{{ aur_build_dir }}/{{ item.name }}' + register: build_dir_stats + +# TODO become based on the directories stats - name: clone aur packages become: true git: diff --git a/tasks/docker.yml b/tasks/docker.yml index e89f666..111d865 100644 --- a/tasks/docker.yml +++ b/tasks/docker.yml @@ -4,14 +4,8 @@ src: '{{ item.src }}' dest: '{{ item.dest }}' loop: - - { - src: 'templates/subgid.j2', - dest: '/etc/subgid', - } - - { - src: 'templates/subuid.j2', - dest: '/etc/subuid', - } + - { src: 'templates/subgid.j2', dest: '/etc/subgid' } + - { src: 'templates/subuid.j2', dest: '/etc/subuid' } - name: setup desktop configuration copy: diff --git a/tasks/main.yml b/tasks/main.yml index d9bea5e..bd60d4f 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -22,8 +22,8 @@ src: 'templates/konsole.profile.j2', dest: '{{ xdg_data_dir }}/konsole/Standard.profile', } - - { + - { src: 'templates/konsole.colorscheme.j2', - dest: '{{ xdg_data_dir }}/konsole/BlackOnWhite.colorscheme' + dest: '{{ xdg_data_dir }}/konsole/BlackOnWhite.colorscheme', } - { src: 'templates/konsole.config.j2', dest: '{{ xdg_config_dir }}/konsolerc' } diff --git a/vars.yml b/vars.yml index 522bd3c..a1c42d7 100644 --- a/vars.yml +++ b/vars.yml @@ -15,13 +15,10 @@ packages: - ttf-ibm-plex aur_packages: - - { - url: 'https://aur.archlinux.org/rootlesskit.git', - name: 'rootlesskit' - } + - { url: 'https://aur.archlinux.org/rootlesskit.git', name: 'rootlesskit' } - { url: 'https://aur.archlinux.org/docker-rootless-extras-bin.git', - name: 'docker-rootless' + name: 'docker-rootless', } aur_build_dir: '/usr/local/src' From 7f1f1f0efb3b00d4984164926f822996a370cd02 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sun, 15 May 2022 21:04:48 +0200 Subject: [PATCH 029/170] Use flag syntax --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 68f44e5..7cd24a2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -21,6 +21,6 @@ syntax-test: image: python:3.7 before_script: - pip install ansible --quiet - - ansible-galaxy install -r requirements.yml + - ansible-galaxy install --role-file requirements.yml script: - ansible-playbook playbook.yml --syntax-check From ba2ae319b601b238a6a8346585f19ea5249493ea Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Thu, 14 Jul 2022 22:01:23 +0200 Subject: [PATCH 030/170] Add missing loop statement --- tasks/aur.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/tasks/aur.yml b/tasks/aur.yml index 6e8a2e7..1b7ecc9 100644 --- a/tasks/aur.yml +++ b/tasks/aur.yml @@ -2,6 +2,7 @@ stat: path: '{{ aur_build_dir }}/{{ item.name }}' register: build_dir_stats + loop: '{{ aur_packages }}' # TODO become based on the directories stats - name: clone aur packages From ba225a09a794f1e983758ce37894e4d5bc3c1de8 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sun, 31 Jul 2022 21:59:44 +0200 Subject: [PATCH 031/170] Use read-only URL when ssh fails --- tasks/dotfiles.yml | 10 ++++++++++ tasks/main.yml | 10 ++++++++++ vars.yml | 4 ++++ 3 files changed, 24 insertions(+) diff --git a/tasks/dotfiles.yml b/tasks/dotfiles.yml index b2d33f9..9a39d81 100644 --- a/tasks/dotfiles.yml +++ b/tasks/dotfiles.yml @@ -4,6 +4,16 @@ dest: '{{ ansible_env.HOME }}/dotfiles' version: master update: yes + register: dotfile_ssh_clone + ignore_errors: true + +- name: clone dotfiles + git: + repo: '{{ public_dotfiles_repo }}' + dest: '{{ ansible_env.HOME }}/dotfiles' + version: master + update: yes + when: dotfile_ssh_clone.failed - name: setup dotfiles file: diff --git a/tasks/main.yml b/tasks/main.yml index bd60d4f..ba2758c 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -10,6 +10,16 @@ dest: '{{ ansible_env.HOME }}/development/git-hooks' update: true version: master + ignore_errors: true + register: githook_ssh_clone + +- name: clone git hooks + git: + repo: '{{ public_githook_repo }}' + dest: '{{ ansible_env.HOME }}/development/git-hooks' + update: true + version: master + when: githook_ssh_clone.failed - name: copy konsole configuration files template: diff --git a/vars.yml b/vars.yml index a1c42d7..196ce50 100644 --- a/vars.yml +++ b/vars.yml @@ -13,6 +13,7 @@ packages: - docker-compose - fuse-overlayfs - ttf-ibm-plex + - slirp4netns aur_packages: - { url: 'https://aur.archlinux.org/rootlesskit.git', name: 'rootlesskit' } @@ -27,7 +28,10 @@ xdg_config_dir: '{{ ansible_env.HOME }}/.config' xdg_data_dir: '{{ ansible_env.HOME }}/.local/share' dotfiles_repo: 'git@git.fudiggity.nl:sonny/dotfiles.git' +public_dotfiles_repo: 'git@git.fudiggity.nl:sonny/dotfiles.git' + githook_repo: 'git@git.fudiggity.nl:sonny/git-hooks.git' +public_githook_repo: 'git@git.fudiggity.nl:sonny/git-hooks.git' vim_plugins: - { url: 'https://github.com/preservim/nerdtree', name: 'nerdtree' } From 0e6d5bdff06311f8fc9eee765623b245522719e6 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Fri, 2 Sep 2022 21:01:57 +0200 Subject: [PATCH 032/170] Add tree-sitter & telescope setup --- tasks/neovim.yml | 4 ++++ vars.yml | 9 +++++++++ 2 files changed, 13 insertions(+) diff --git a/tasks/neovim.yml b/tasks/neovim.yml index bb36a41..9241aba 100644 --- a/tasks/neovim.yml +++ b/tasks/neovim.yml @@ -84,3 +84,7 @@ src: '{{ ansible_env.HOME }}/dotfiles/nvim/lua/options.lua', dest: '{{ xdg_config_dir }}/nvim/lua/options.lua', } + - { + src: '{{ ansible_env.HOME }}/dotfiles/nvim/lua/tree-sitter.lua', + dest: '{{ xdg_config_dir }}/nvim/lua/tree-sitter.lua', + } diff --git a/vars.yml b/vars.yml index 196ce50..d5a91f0 100644 --- a/vars.yml +++ b/vars.yml @@ -14,6 +14,8 @@ packages: - fuse-overlayfs - ttf-ibm-plex - slirp4netns + - tree-sitter + - ripgrep aur_packages: - { url: 'https://aur.archlinux.org/rootlesskit.git', name: 'rootlesskit' } @@ -39,6 +41,13 @@ vim_plugins: - { url: 'https://github.com/neovim/nvim-lspconfig', name: 'nvim-lspconfig' } - { url: 'https://github.com/hrsh7th/nvim-cmp/', name: 'nvim-cmp' } - { url: 'https://github.com/hrsh7th/cmp-nvim-lsp/', name: 'cmp-nvim-lsp' } + - { url: 'https://github.com/nvim-treesitter/nvim-treesitter', name: 'nvim-treesitter' } + - { url: 'https://github.com/nvim-lua/plenary.nvim', name: 'plenary.nvim' } + - { + url: 'https://github.com/nvim-telescope/telescope-fzf-native.nvim', + name: 'telescope-fzf-native.nvim', + } + - { url: 'https://github.com/nvim-telescope/telescope.nvim', name: 'telescope.nvim' } gitlab_domain: 'git.fudiggity.nl' gitlab_host_key: 'git.fudiggity.nl ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICNmvcxza79T7JZMkifmquwXH/kMUqDnKs9Oob+JrRvn' From 7a635a437b6f40bcebcc5d47c2e58390d20dbe1f Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sat, 3 Sep 2022 08:55:13 +0200 Subject: [PATCH 033/170] Pin Telescope version as suggested by docs --- tasks/neovim.yml | 1 + vars.yml | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/tasks/neovim.yml b/tasks/neovim.yml index 9241aba..8672c7f 100644 --- a/tasks/neovim.yml +++ b/tasks/neovim.yml @@ -16,6 +16,7 @@ repo: '{{ item.url }}' dest: '{{ xdg_data_dir }}/nvim/site/pack/default/start/{{ item.name }}' update: true + version: '{{ item.version|default("HEAD") }}' loop: '{{ vim_plugins }}' - name: install pynvim package diff --git a/vars.yml b/vars.yml index d5a91f0..a9a8672 100644 --- a/vars.yml +++ b/vars.yml @@ -4,7 +4,6 @@ ansible_python_interpreter: '/usr/bin/env python' packages: - base-devel - python - - poetry - git - vim - neovim @@ -47,7 +46,11 @@ vim_plugins: url: 'https://github.com/nvim-telescope/telescope-fzf-native.nvim', name: 'telescope-fzf-native.nvim', } - - { url: 'https://github.com/nvim-telescope/telescope.nvim', name: 'telescope.nvim' } + - { + url: 'https://github.com/nvim-telescope/telescope.nvim', + name: 'telescope.nvim', + version: '0.1.x', + } gitlab_domain: 'git.fudiggity.nl' gitlab_host_key: 'git.fudiggity.nl ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICNmvcxza79T7JZMkifmquwXH/kMUqDnKs9Oob+JrRvn' From e2227cd87df6a20e7993db501b8a5a408ed0df14 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sat, 3 Sep 2022 09:17:38 +0200 Subject: [PATCH 034/170] Add language server for scss/sass/css --- tasks/neovim.yml | 6 +----- vars.yml | 7 +++++++ 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/tasks/neovim.yml b/tasks/neovim.yml index 8672c7f..62d81d1 100644 --- a/tasks/neovim.yml +++ b/tasks/neovim.yml @@ -30,11 +30,7 @@ npm: name: '{{ item }}' global: true - loop: - - pyright - - ansible-language-server - - yaml-language-server - - typescript-language-server + loop: '{{ language_servers }}' - name: remove old neovim configuration file file: diff --git a/vars.yml b/vars.yml index a9a8672..d5b46f3 100644 --- a/vars.yml +++ b/vars.yml @@ -52,5 +52,12 @@ vim_plugins: version: '0.1.x', } +language_servers: + - pyright + - ansible-language-server + - yaml-language-server + - typescript-language-server + - vscode-langservers-extracted + gitlab_domain: 'git.fudiggity.nl' gitlab_host_key: 'git.fudiggity.nl ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICNmvcxza79T7JZMkifmquwXH/kMUqDnKs9Oob+JrRvn' From 6cd67e88ad83aff163f6b52fe9c461bd654da7f0 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Wed, 7 Sep 2022 21:55:01 +0200 Subject: [PATCH 035/170] Remove typescript language server --- vars.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/vars.yml b/vars.yml index d5b46f3..9d40ab3 100644 --- a/vars.yml +++ b/vars.yml @@ -56,7 +56,6 @@ language_servers: - pyright - ansible-language-server - yaml-language-server - - typescript-language-server - vscode-langservers-extracted gitlab_domain: 'git.fudiggity.nl' From 74a974be5e694e504647deaede284da253101d6e Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Thu, 8 Sep 2022 22:19:20 +0200 Subject: [PATCH 036/170] Add neovim configuration files --- files/nvim/colors/PaperColor.vim | 2231 +++++++++++++++ files/nvim/colors/ayu.vim | 268 ++ files/nvim/colors/breezy.vim | 87 + files/nvim/colors/solarized8_low.vim | 3004 +++++++++++++++++++++ files/nvim/colors/space_vim_theme.vim | 2402 ++++++++++++++++ files/nvim/colors/vim-material.vim | 234 ++ tasks/neovim.yml | 71 +- templates/nvim/ftplugin/bash.lua.j2 | 7 + templates/nvim/ftplugin/css.lua.j2 | 7 + templates/nvim/ftplugin/html.lua.j2 | 7 + templates/nvim/ftplugin/htmldjango.lua.j2 | 7 + templates/nvim/ftplugin/javascript.lua.j2 | 7 + templates/nvim/ftplugin/json.lua.j2 | 7 + templates/nvim/ftplugin/lua.lua.j2 | 7 + templates/nvim/ftplugin/python.lua.j2 | 7 + templates/nvim/ftplugin/scss.lua.j2 | 7 + templates/nvim/ftplugin/sh.lua.j2 | 7 + templates/nvim/ftplugin/yaml.lua.j2 | 7 + templates/nvim/init.lua.j2 | 9 + templates/nvim/lua/auto-commands.lua.j2 | 41 + templates/nvim/lua/keybindings.lua.j2 | 9 + templates/nvim/lua/lsp.lua.j2 | 55 + templates/nvim/lua/nvim-cmp.lua.j2 | 35 + templates/nvim/lua/options.lua.j2 | 57 + templates/nvim/lua/tree-sitter.lua.j2 | 11 + 25 files changed, 8576 insertions(+), 15 deletions(-) create mode 100644 files/nvim/colors/PaperColor.vim create mode 100644 files/nvim/colors/ayu.vim create mode 100644 files/nvim/colors/breezy.vim create mode 100644 files/nvim/colors/solarized8_low.vim create mode 100644 files/nvim/colors/space_vim_theme.vim create mode 100644 files/nvim/colors/vim-material.vim create mode 100644 templates/nvim/ftplugin/bash.lua.j2 create mode 100644 templates/nvim/ftplugin/css.lua.j2 create mode 100644 templates/nvim/ftplugin/html.lua.j2 create mode 100644 templates/nvim/ftplugin/htmldjango.lua.j2 create mode 100644 templates/nvim/ftplugin/javascript.lua.j2 create mode 100644 templates/nvim/ftplugin/json.lua.j2 create mode 100644 templates/nvim/ftplugin/lua.lua.j2 create mode 100644 templates/nvim/ftplugin/python.lua.j2 create mode 100644 templates/nvim/ftplugin/scss.lua.j2 create mode 100644 templates/nvim/ftplugin/sh.lua.j2 create mode 100644 templates/nvim/ftplugin/yaml.lua.j2 create mode 100644 templates/nvim/init.lua.j2 create mode 100644 templates/nvim/lua/auto-commands.lua.j2 create mode 100644 templates/nvim/lua/keybindings.lua.j2 create mode 100644 templates/nvim/lua/lsp.lua.j2 create mode 100644 templates/nvim/lua/nvim-cmp.lua.j2 create mode 100644 templates/nvim/lua/options.lua.j2 create mode 100644 templates/nvim/lua/tree-sitter.lua.j2 diff --git a/files/nvim/colors/PaperColor.vim b/files/nvim/colors/PaperColor.vim new file mode 100644 index 0000000..69b78c3 --- /dev/null +++ b/files/nvim/colors/PaperColor.vim @@ -0,0 +1,2231 @@ +" Theme: PaperColor +" Author: Nikyle Nguyen +" License: MIT +" Source: http://github.com/NLKNguyen/papercolor-theme + +let s:version = '0.9.x' + +" Note on navigating this source code: +" - Use folding feature to collapse/uncollapse blocks of marked code +" zM to fold all markers in this file to see the structure of the source code +" zR to unfold all recursively +" za to toggle a fold +" See: http://vim.wikia.com/wiki/Folding +" - The main section is at the end where the functions are called in order. + +" Theme Repository: {{{ + +let s:themes = {} + +" }}} + +fun! s:register_default_theme() + " Theme name should be lowercase + let s:themes['default'] = { + \ 'maintainer' : 'Nikyle Nguyen ', + \ 'source' : 'http://github.com/NLKNguyen/papercolor-theme', + \ 'description' : 'The original PaperColor Theme, inspired by Google Material Design', + \ 'options' : { + \ 'allow_bold': 1 + \ } + \ } + + " Theme can have 'light' and/or 'dark' color palette. + " Color values can be HEX and/or 256-color. Use empty string '' if not provided. + " Only color00 -> color15 are required. The rest are optional. + let s:themes['default'].light = { + \ 'NO_CONVERSION': 1, + \ 'TEST_256_COLOR_CONSISTENCY' : 1, + \ 'palette' : { + \ 'color00' : ['#eeeeee', '255'], + \ 'color01' : ['#af0000', '124'], + \ 'color02' : ['#008700', '28'], + \ 'color03' : ['#5f8700', '64'], + \ 'color04' : ['#0087af', '31'], + \ 'color05' : ['#878787', '102'], + \ 'color06' : ['#005f87', '24'], + \ 'color07' : ['#444444', '238'], + \ 'color08' : ['#bcbcbc', '250'], + \ 'color09' : ['#d70000', '160'], + \ 'color10' : ['#d70087', '162'], + \ 'color11' : ['#8700af', '91'], + \ 'color12' : ['#d75f00', '166'], + \ 'color13' : ['#d75f00', '166'], + \ 'color14' : ['#005faf', '25'], + \ 'color15' : ['#005f87', '24'], + \ 'color16' : ['#0087af', '31'], + \ 'color17' : ['#008700', '28'], + \ 'cursor_fg' : ['#eeeeee', '255'], + \ 'cursor_bg' : ['#005f87', '24'], + \ 'cursorline' : ['#e4e4e4', '254'], + \ 'cursorcolumn' : ['#e4e4e4', '254'], + \ 'cursorlinenr_fg' : ['#af5f00', '130'], + \ 'cursorlinenr_bg' : ['#eeeeee', '255'], + \ 'popupmenu_fg' : ['#444444', '238'], + \ 'popupmenu_bg' : ['#d0d0d0', '252'], + \ 'search_fg' : ['#444444', '238'], + \ 'search_bg' : ['#ffff5f', '227'], + \ 'linenumber_fg' : ['#b2b2b2', '249'], + \ 'linenumber_bg' : ['#eeeeee', '255'], + \ 'vertsplit_fg' : ['#005f87', '24'], + \ 'vertsplit_bg' : ['#eeeeee', '255'], + \ 'statusline_active_fg' : ['#e4e4e4', '254'], + \ 'statusline_active_bg' : ['#005f87', '24'], + \ 'statusline_inactive_fg' : ['#444444', '238'], + \ 'statusline_inactive_bg' : ['#d0d0d0', '252'], + \ 'todo_fg' : ['#00af5f', '35'], + \ 'todo_bg' : ['#eeeeee', '255'], + \ 'error_fg' : ['#af0000', '124'], + \ 'error_bg' : ['#ffd7ff', '225'], + \ 'matchparen_bg' : ['#c6c6c6', '251'], + \ 'matchparen_fg' : ['#005f87', '24'], + \ 'visual_fg' : ['#eeeeee', '255'], + \ 'visual_bg' : ['#0087af', '31'], + \ 'folded_fg' : ['#0087af', '31'], + \ 'folded_bg' : ['#afd7ff', '153'], + \ 'wildmenu_fg': ['#444444', '238'], + \ 'wildmenu_bg': ['#ffff00', '226'], + \ 'spellbad': ['#ffafd7', '218'], + \ 'spellcap': ['#ffffaf', '229'], + \ 'spellrare': ['#afff87', '156'], + \ 'spelllocal': ['#d7d7ff', '189'], + \ 'diffadd_fg': ['#008700', '28'], + \ 'diffadd_bg': ['#afffaf', '157'], + \ 'diffdelete_fg': ['#af0000', '124'], + \ 'diffdelete_bg': ['#ffd7ff', '225'], + \ 'difftext_fg': ['#0087af', '31'], + \ 'difftext_bg': ['#ffffd7', '230'], + \ 'diffchange_fg': ['#444444', '238'], + \ 'diffchange_bg': ['#ffd787', '222'], + \ 'tabline_bg': ['#005f87', '24'], + \ 'tabline_active_fg': ['#444444', '238'], + \ 'tabline_active_bg': ['#e4e4e4', '254'], + \ 'tabline_inactive_fg': ['#eeeeee', '255'], + \ 'tabline_inactive_bg': ['#0087af', '31'], + \ 'buftabline_bg': ['#005f87', '24'], + \ 'buftabline_current_fg': ['#444444', '238'], + \ 'buftabline_current_bg': ['#e4e4e4', '254'], + \ 'buftabline_active_fg': ['#eeeeee', '255'], + \ 'buftabline_active_bg': ['#005faf', '25'], + \ 'buftabline_inactive_fg': ['#eeeeee', '255'], + \ 'buftabline_inactive_bg': ['#0087af', '31'] + \ } + \ } + + " TODO: idea for subtheme options + " let s:themes['default'].light.subtheme = { + " \ 'alternative' : { + " \ 'options' : { + " \ 'transparent_background': 1 + " \ }, + " \ 'palette' : { + " \ } + " \ } + " \ } + + let s:themes['default'].dark = { + \ 'NO_CONVERSION': 1, + \ 'TEST_256_COLOR_CONSISTENCY' : 1, + \ 'palette' : { + \ 'color00' : ['#1c1c1c', '234'], + \ 'color01' : ['#af005f', '125'], + \ 'color02' : ['#5faf00', '70'], + \ 'color03' : ['#d7af5f', '179'], + \ 'color04' : ['#5fafd7', '74'], + \ 'color05' : ['#808080', '244'], + \ 'color06' : ['#d7875f', '173'], + \ 'color07' : ['#d0d0d0', '252'], + \ 'color08' : ['#585858', '240'], + \ 'color09' : ['#5faf5f', '71'], + \ 'color10' : ['#afd700', '148'], + \ 'color11' : ['#af87d7', '140'], + \ 'color12' : ['#ffaf00', '214'], + \ 'color13' : ['#ff5faf', '205'], + \ 'color14' : ['#00afaf', '37'], + \ 'color15' : ['#5f8787', '66'], + \ 'color16' : ['#5fafd7', '74'], + \ 'color17' : ['#d7af00', '178'], + \ 'cursor_fg' : ['#1c1c1c', '234'], + \ 'cursor_bg' : ['#c6c6c6', '251'], + \ 'cursorline' : ['#303030', '236'], + \ 'cursorcolumn' : ['#303030', '236'], + \ 'cursorlinenr_fg' : ['#ffff00', '226'], + \ 'cursorlinenr_bg' : ['#1c1c1c', '234'], + \ 'popupmenu_fg' : ['#c6c6c6', '251'], + \ 'popupmenu_bg' : ['#303030', '236'], + \ 'search_fg' : ['#000000', '16'], + \ 'search_bg' : ['#00875f', '29'], + \ 'linenumber_fg' : ['#585858', '240'], + \ 'linenumber_bg' : ['#1c1c1c', '234'], + \ 'vertsplit_fg' : ['#5f8787', '66'], + \ 'vertsplit_bg' : ['#1c1c1c', '234'], + \ 'statusline_active_fg' : ['#1c1c1c', '234'], + \ 'statusline_active_bg' : ['#5f8787', '66'], + \ 'statusline_inactive_fg' : ['#bcbcbc', '250'], + \ 'statusline_inactive_bg' : ['#3a3a3a', '237'], + \ 'todo_fg' : ['#ff8700', '208'], + \ 'todo_bg' : ['#1c1c1c', '234'], + \ 'error_fg' : ['#af005f', '125'], + \ 'error_bg' : ['#5f0000', '52'], + \ 'matchparen_bg' : ['#4e4e4e', '239'], + \ 'matchparen_fg' : ['#c6c6c6', '251'], + \ 'visual_fg' : ['#000000', '16'], + \ 'visual_bg' : ['#8787af', '103'], + \ 'folded_fg' : ['#d787ff', '177'], + \ 'folded_bg' : ['#5f005f', '53'], + \ 'wildmenu_fg': ['#1c1c1c', '234'], + \ 'wildmenu_bg': ['#afd700', '148'], + \ 'spellbad': ['#5f0000', '52'], + \ 'spellcap': ['#5f005f', '53'], + \ 'spellrare': ['#005f00', '22'], + \ 'spelllocal': ['#00005f', '17'], + \ 'diffadd_fg': ['#87d700', '112'], + \ 'diffadd_bg': ['#005f00', '22'], + \ 'diffdelete_fg': ['#af005f', '125'], + \ 'diffdelete_bg': ['#5f0000', '52'], + \ 'difftext_fg': ['#5fffff', '87'], + \ 'difftext_bg': ['#008787', '30'], + \ 'diffchange_fg': ['#d0d0d0', '252'], + \ 'diffchange_bg': ['#005f5f', '23'], + \ 'tabline_bg': ['#262626', '235'], + \ 'tabline_active_fg': ['#121212', '233'], + \ 'tabline_active_bg': ['#00afaf', '37'], + \ 'tabline_inactive_fg': ['#bcbcbc', '250'], + \ 'tabline_inactive_bg': ['#585858', '240'], + \ 'buftabline_bg': ['#262626', '235'], + \ 'buftabline_current_fg': ['#121212', '233'], + \ 'buftabline_current_bg': ['#00afaf', '37'], + \ 'buftabline_active_fg': ['#00afaf', '37'], + \ 'buftabline_active_bg': ['#585858', '240'], + \ 'buftabline_inactive_fg': ['#bcbcbc', '250'], + \ 'buftabline_inactive_bg': ['#585858', '240'] + \ } + \ } +endfun + +" ============================ THEME REGISTER ================================= + +" Acquire Theme Data: {{{ + +" Brief: +" Function to get theme information and store in variables for other +" functions to use +" +" Require: +" s:themes collection of all theme palettes +" +" Require Optionally: +" {g:PaperColor_Theme_[s:theme_name]} user custom theme palette +" g:PaperColor_Theme_Options user options +" +" Expose: +" s:theme_name the name of the selected theme +" s:selected_theme the selected theme object (contains palette, etc.) +" s:selected_variant 'light' or 'dark' +" s:palette the palette of selected theme +" s:options user options +fun! s:acquire_theme_data() + + " Get theme name: {{{ + let s:theme_name = 'default' + + if exists("g:PaperColor_Theme") " Users expressed theme preference + let lowercase_theme_name = tolower(g:PaperColor_Theme) + + if lowercase_theme_name !=? 'default' + let theme_identifier = 'PaperColor_' . lowercase_theme_name + let autoload_function = theme_identifier . '#register' + + call {autoload_function}() + + let theme_variable = 'g:' . theme_identifier + + if exists(theme_variable) + let s:theme_name = lowercase_theme_name + let s:themes[s:theme_name] = {theme_variable} + endif + + endif + + endif + " }}} + + if s:theme_name ==? 'default' + " Either no other theme is specified or they failed to load + " Defer loading default theme until now + call s:register_default_theme() + endif + + let s:selected_theme = s:themes[s:theme_name] + + " Get Theme Variant: either dark or light {{{ + let s:selected_variant = 'dark' + + let s:is_dark=(&background == 'dark') + + if s:is_dark + if has_key(s:selected_theme, 'dark') + let s:selected_variant = 'dark' + else " in case the theme only provides the other variant + let s:selected_variant = 'light' + endif + + else " is light background + if has_key(s:selected_theme, 'light') + let s:selected_variant = 'light' + else " in case the theme only provides the other variant + let s:selected_variant = 'dark' + endif + endif + + let s:palette = s:selected_theme[s:selected_variant].palette + + " Systematic User-Config Options: {{{ + " Example config in .vimrc + " let g:PaperColor_Theme_Options = { + " \ 'theme': { + " \ 'default': { + " \ 'allow_bold': 1, + " \ 'allow_italic': 0, + " \ 'transparent_background': 1 + " \ } + " \ }, + " \ 'language': { + " \ 'python': { + " \ 'highlight_builtins' : 1 + " \ }, + " \ 'c': { + " \ 'highlight_builtins' : 1 + " \ }, + " \ 'cpp': { + " \ 'highlight_standard_library': 1 + " \ } + " \ } + " \ } + " + let s:options = {} + + + if exists("g:PaperColor_Theme_Options") + let s:options = g:PaperColor_Theme_Options + endif + " }}} + + " }}} +endfun + + +" }}} + +" Identify Color Mode: {{{ + +fun! s:identify_color_mode() + let s:MODE_16_COLOR = 0 + let s:MODE_256_COLOR = 1 + let s:MODE_GUI_COLOR = 2 + + if has("gui_running") || has('termguicolors') && &termguicolors || has('nvim') && $NVIM_TUI_ENABLE_TRUE_COLOR + let s:mode = s:MODE_GUI_COLOR + elseif (&t_Co >= 256) + let s:mode = s:MODE_256_COLOR + else + let s:mode = s:MODE_16_COLOR + endif +endfun + +" }}} + +" ============================ OPTION HANDLER ================================= + +" Generate Them Option Variables: {{{ + + +fun! s:generate_theme_option_variables() + " 0. All possible theme option names must be registered here + let l:available_theme_options = [ + \ 'allow_bold', + \ 'allow_italic', + \ 'transparent_background', + \ ] + + " 1. Generate variables and set to default value + for l:option in l:available_theme_options + let s:{'themeOpt_' . l:option} = 0 + endfor + + let s:themeOpt_override = {} " special case, this has to be a dictionary + + " 2. Reassign value to the above variables based on theme settings + + " 2.1 In case the theme has top-level options + if has_key(s:selected_theme, 'options') + let l:theme_options = s:selected_theme['options'] + for l:opt_name in keys(l:theme_options) + let s:{'themeOpt_' . l:opt_name} = l:theme_options[l:opt_name] + " echo 's:themeOpt_' . l:opt_name . ' = ' . s:{'themeOpt_' . l:opt_name} + endfor + endif + + " 2.2 In case the theme has specific variant options + if has_key(s:selected_theme[s:selected_variant], 'options') + let l:theme_options = s:selected_theme[s:selected_variant]['options'] + for l:opt_name in keys(l:theme_options) + let s:{'themeOpt_' . l:opt_name} = l:theme_options[l:opt_name] + " echo 's:themeOpt_' . l:opt_name . ' = ' . s:{'themeOpt_' . l:opt_name} + endfor + endif + + + " 3. Reassign value to the above variables which the user customizes + " Part of user-config options + let s:theme_options = {} + if has_key(s:options, 'theme') + let s:theme_options = s:options['theme'] + endif + + " 3.1 In case user sets for a theme without specifying which variant + if has_key(s:theme_options, s:theme_name) + let l:theme_options = s:theme_options[s:theme_name] + for l:opt_name in keys(l:theme_options) + let s:{'themeOpt_' . l:opt_name} = l:theme_options[l:opt_name] + " echo 's:themeOpt_' . l:opt_name . ' = ' . s:{'themeOpt_' . l:opt_name} + endfor + endif + + + " 3.2 In case user sets for a specific variant of a theme + + " Create the string that the user might have set for this theme variant + " for example, 'default.dark' + let l:specific_theme_variant = s:theme_name . '.' . s:selected_variant + + if has_key(s:theme_options, l:specific_theme_variant) + let l:theme_options = s:theme_options[l:specific_theme_variant] + for l:opt_name in keys(l:theme_options) + let s:{'themeOpt_' . l:opt_name} = l:theme_options[l:opt_name] + " echo 's:themeOpt_' . l:opt_name . ' = ' . s:{'themeOpt_' . l:opt_name} + endfor + endif + +endfun +" }}} + +" Check If Theme Has Hint: {{{ +" +" Brief: +" Function to Check if the selected theme and variant has a hint +" +" Details: +" A hint is a known key that has value 1 +" It is not part of theme design but is used for technical purposes +" +" Example: +" If a theme has hint 'NO_CONVERSION', then we can assume that every +" color value is a complete pair, so we don't have to check. + +fun! s:theme_has_hint(hint) + return has_key(s:selected_theme[s:selected_variant], a:hint) && + \ s:selected_theme[s:selected_variant][a:hint] == 1 +endfun +" }}} + +" Set Overriding Colors: {{{ + +fun! s:set_overriding_colors() + + if s:theme_has_hint('NO_CONVERSION') + " s:convert_colors will not do anything, so we take care of conversion + " for the overriding colors that need to be converted + + if s:mode == s:MODE_GUI_COLOR + " if GUI color is not provided, convert from 256 color that must be available + if !empty(s:themeOpt_override) + call s:load_256_to_GUI_converter() + endif + + for l:color in keys(s:themeOpt_override) + let l:value = s:themeOpt_override[l:color] + if l:value[0] == '' + let l:value[0] = s:to_HEX[l:value[1]] + endif + let s:palette[l:color] = l:value + endfor + + elseif s:mode == s:MODE_256_COLOR + " if 256 color is not provided, convert from GUI color that must be available + if !empty(s:themeOpt_override) + call s:load_GUI_to_256_converter() + endif + + for l:color in keys(s:themeOpt_override) + let l:value = s:themeOpt_override[l:color] + if l:value[1] == '' + let l:value[1] = s:to_256(l:value[0]) + endif + let s:palette[l:color] = l:value + endfor + endif + + else " simply set the colors and let s:convert_colors() take care of conversion + + for l:color in keys(s:themeOpt_override) + let s:palette[l:color] = s:themeOpt_override[l:color] + endfor + endif + +endfun +" }}} + +" Generate Language Option Variables: {{{ + +" Brief: +" Function to generate language option variables so that there is no need to +" look up from the dictionary every time the option value is checked in the +" function s:apply_syntax_highlightings() +" +" Require: +" s:options user options +" +" Require Optionally: +" g:PaperColor_Theme_Options user option config in .vimrc +" +" Expose: +" s:langOpt_[LANGUAGE]__[OPTION] variables for language options +" +" Example: +" g:PaperColor_Theme_Options has something like this: +" 'language': { +" \ 'python': { +" \ 'highlight_builtins': 1 +" \ } +" } +" The following variable will be generated: +" s:langOpt_python__highlight_builtins = 1 + +fun! s:generate_language_option_variables() + " 0. All possible theme option names must be registered here + let l:available_language_options = [ + \ 'c__highlight_builtins', + \ 'cpp__highlight_standard_library', + \ 'python__highlight_builtins' + \ ] + + " 1. Generate variables and set to default value + for l:option in l:available_language_options + let s:{'langOpt_' . l:option} = 0 + endfor + + " Part of user-config options + if has_key(s:options, 'language') + let l:language_options = s:options['language'] + " echo l:language_options + for l:lang in keys(l:language_options) + let l:options = l:language_options[l:lang] + " echo l:lang + " echo l:options + for l:option in keys(l:options) + let s:{'langOpt_' . l:lang . '__' . l:option} = l:options[l:option] + " echo 's:langOpt_' . l:lang . '__' . l:option . ' = ' . l:options[l:option] + endfor + endfor + + endif + +endfun +" }}} + +" =========================== COLOR CONVERTER ================================= + +fun! s:load_GUI_to_256_converter() + " GUI-color To 256-color: {{{ + " Returns an approximate grey index for the given grey level + fun! s:grey_number(x) + if &t_Co == 88 + if a:x < 23 + return 0 + elseif a:x < 69 + return 1 + elseif a:x < 103 + return 2 + elseif a:x < 127 + return 3 + elseif a:x < 150 + return 4 + elseif a:x < 173 + return 5 + elseif a:x < 196 + return 6 + elseif a:x < 219 + return 7 + elseif a:x < 243 + return 8 + else + return 9 + endif + else + if a:x < 14 + return 0 + else + let l:n = (a:x - 8) / 10 + let l:m = (a:x - 8) % 10 + if l:m < 5 + return l:n + else + return l:n + 1 + endif + endif + endif + endfun + + " Returns the actual grey level represented by the grey index + fun! s:grey_level(n) + if &t_Co == 88 + if a:n == 0 + return 0 + elseif a:n == 1 + return 46 + elseif a:n == 2 + return 92 + elseif a:n == 3 + return 115 + elseif a:n == 4 + return 139 + elseif a:n == 5 + return 162 + elseif a:n == 6 + return 185 + elseif a:n == 7 + return 208 + elseif a:n == 8 + return 231 + else + return 255 + endif + else + if a:n == 0 + return 0 + else + return 8 + (a:n * 10) + endif + endif + endfun + + " Returns the palette index for the given grey index + fun! s:grey_colour(n) + if &t_Co == 88 + if a:n == 0 + return 16 + elseif a:n == 9 + return 79 + else + return 79 + a:n + endif + else + if a:n == 0 + return 16 + elseif a:n == 25 + return 231 + else + return 231 + a:n + endif + endif + endfun + + " Returns an approximate colour index for the given colour level + fun! s:rgb_number(x) + if &t_Co == 88 + if a:x < 69 + return 0 + elseif a:x < 172 + return 1 + elseif a:x < 230 + return 2 + else + return 3 + endif + else + if a:x < 75 + return 0 + else + let l:n = (a:x - 55) / 40 + let l:m = (a:x - 55) % 40 + if l:m < 20 + return l:n + else + return l:n + 1 + endif + endif + endif + endfun + + " Returns the actual colour level for the given colour index + fun! s:rgb_level(n) + if &t_Co == 88 + if a:n == 0 + return 0 + elseif a:n == 1 + return 139 + elseif a:n == 2 + return 205 + else + return 255 + endif + else + if a:n == 0 + return 0 + else + return 55 + (a:n * 40) + endif + endif + endfun + + " Returns the palette index for the given R/G/B colour indices + fun! s:rgb_colour(x, y, z) + if &t_Co == 88 + return 16 + (a:x * 16) + (a:y * 4) + a:z + else + return 16 + (a:x * 36) + (a:y * 6) + a:z + endif + endfun + + " Returns the palette index to approximate the given R/G/B colour levels + fun! s:colour(r, g, b) + " Get the closest grey + let l:gx = s:grey_number(a:r) + let l:gy = s:grey_number(a:g) + let l:gz = s:grey_number(a:b) + + " Get the closest colour + let l:x = s:rgb_number(a:r) + let l:y = s:rgb_number(a:g) + let l:z = s:rgb_number(a:b) + + if l:gx == l:gy && l:gy == l:gz + " There are two possibilities + let l:dgr = s:grey_level(l:gx) - a:r + let l:dgg = s:grey_level(l:gy) - a:g + let l:dgb = s:grey_level(l:gz) - a:b + let l:dgrey = (l:dgr * l:dgr) + (l:dgg * l:dgg) + (l:dgb * l:dgb) + let l:dr = s:rgb_level(l:gx) - a:r + let l:dg = s:rgb_level(l:gy) - a:g + let l:db = s:rgb_level(l:gz) - a:b + let l:drgb = (l:dr * l:dr) + (l:dg * l:dg) + (l:db * l:db) + if l:dgrey < l:drgb + " Use the grey + return s:grey_colour(l:gx) + else + " Use the colour + return s:rgb_colour(l:x, l:y, l:z) + endif + else + " Only one possibility + return s:rgb_colour(l:x, l:y, l:z) + endif + endfun + + " Returns the palette index to approximate the '#rrggbb' hex string + fun! s:to_256(rgb) + let l:r = ("0x" . strpart(a:rgb, 1, 2)) + 0 + let l:g = ("0x" . strpart(a:rgb, 3, 2)) + 0 + let l:b = ("0x" . strpart(a:rgb, 5, 2)) + 0 + + return s:colour(l:r, l:g, l:b) + endfun + + + + " }}} +endfun + +fun! s:load_256_to_GUI_converter() +" 256-color To GUI-color: {{{ + +""" Xterm 256 color dictionary +" See: http://www.calmar.ws/vim/256-xterm-24bit-rgb-color-chart.html +" +let s:to_HEX = { + \ '00': '#000000', '01': '#800000', '02': '#008000', '03': '#808000', '04': '#000080', + \ '05': '#800080', '06': '#008080', '07': '#c0c0c0', '08': '#808080', '09': '#ff0000', + \ '10': '#00ff00', '11': '#ffff00', '12': '#0000ff', '13': '#ff00ff', '14': '#00ffff', + \ '15': '#ffffff', '16': '#000000', '17': '#00005f', '18': '#000087', '19': '#0000af', + \ '20': '#0000d7', '21': '#0000ff', '22': '#005f00', '23': '#005f5f', '24': '#005f87', + \ '25': '#005faf', '26': '#005fd7', '27': '#005fff', '28': '#008700', '29': '#00875f', + \ '30': '#008787', '31': '#0087af', '32': '#0087d7', '33': '#0087ff', '34': '#00af00', + \ '35': '#00af5f', '36': '#00af87', '37': '#00afaf', '38': '#00afd7', '39': '#00afff', + \ '40': '#00d700', '41': '#00d75f', '42': '#00d787', '43': '#00d7af', '44': '#00d7d7', + \ '45': '#00d7ff', '46': '#00ff00', '47': '#00ff5f', '48': '#00ff87', '49': '#00ffaf', + \ '50': '#00ffd7', '51': '#00ffff', '52': '#5f0000', '53': '#5f005f', '54': '#5f0087', + \ '55': '#5f00af', '56': '#5f00d7', '57': '#5f00ff', '58': '#5f5f00', '59': '#5f5f5f', + \ '60': '#5f5f87', '61': '#5f5faf', '62': '#5f5fd7', '63': '#5f5fff', '64': '#5f8700', + \ '65': '#5f875f', '66': '#5f8787', '67': '#5f87af', '68': '#5f87d7', '69': '#5f87ff', + \ '70': '#5faf00', '71': '#5faf5f', '72': '#5faf87', '73': '#5fafaf', '74': '#5fafd7', + \ '75': '#5fafff', '76': '#5fd700', '77': '#5fd75f', '78': '#5fd787', '79': '#5fd7af', + \ '80': '#5fd7d7', '81': '#5fd7ff', '82': '#5fff00', '83': '#5fff5f', '84': '#5fff87', + \ '85': '#5fffaf', '86': '#5fffd7', '87': '#5fffff', '88': '#870000', '89': '#87005f', + \ '90': '#870087', '91': '#8700af', '92': '#8700d7', '93': '#8700ff', '94': '#875f00', + \ '95': '#875f5f', '96': '#875f87', '97': '#875faf', '98': '#875fd7', '99': '#875fff', + \ '100': '#878700', '101': '#87875f', '102': '#878787', '103': '#8787af', '104': '#8787d7', + \ '105': '#8787ff', '106': '#87af00', '107': '#87af5f', '108': '#87af87', '109': '#87afaf', + \ '110': '#87afd7', '111': '#87afff', '112': '#87d700', '113': '#87d75f', '114': '#87d787', + \ '115': '#87d7af', '116': '#87d7d7', '117': '#87d7ff', '118': '#87ff00', '119': '#87ff5f', + \ '120': '#87ff87', '121': '#87ffaf', '122': '#87ffd7', '123': '#87ffff', '124': '#af0000', + \ '125': '#af005f', '126': '#af0087', '127': '#af00af', '128': '#af00d7', '129': '#af00ff', + \ '130': '#af5f00', '131': '#af5f5f', '132': '#af5f87', '133': '#af5faf', '134': '#af5fd7', + \ '135': '#af5fff', '136': '#af8700', '137': '#af875f', '138': '#af8787', '139': '#af87af', + \ '140': '#af87d7', '141': '#af87ff', '142': '#afaf00', '143': '#afaf5f', '144': '#afaf87', + \ '145': '#afafaf', '146': '#afafd7', '147': '#afafff', '148': '#afd700', '149': '#afd75f', + \ '150': '#afd787', '151': '#afd7af', '152': '#afd7d7', '153': '#afd7ff', '154': '#afff00', + \ '155': '#afff5f', '156': '#afff87', '157': '#afffaf', '158': '#afffd7', '159': '#afffff', + \ '160': '#d70000', '161': '#d7005f', '162': '#d70087', '163': '#d700af', '164': '#d700d7', + \ '165': '#d700ff', '166': '#d75f00', '167': '#d75f5f', '168': '#d75f87', '169': '#d75faf', + \ '170': '#d75fd7', '171': '#d75fff', '172': '#d78700', '173': '#d7875f', '174': '#d78787', + \ '175': '#d787af', '176': '#d787d7', '177': '#d787ff', '178': '#d7af00', '179': '#d7af5f', + \ '180': '#d7af87', '181': '#d7afaf', '182': '#d7afd7', '183': '#d7afff', '184': '#d7d700', + \ '185': '#d7d75f', '186': '#d7d787', '187': '#d7d7af', '188': '#d7d7d7', '189': '#d7d7ff', + \ '190': '#d7ff00', '191': '#d7ff5f', '192': '#d7ff87', '193': '#d7ffaf', '194': '#d7ffd7', + \ '195': '#d7ffff', '196': '#ff0000', '197': '#ff005f', '198': '#ff0087', '199': '#ff00af', + \ '200': '#ff00d7', '201': '#ff00ff', '202': '#ff5f00', '203': '#ff5f5f', '204': '#ff5f87', + \ '205': '#ff5faf', '206': '#ff5fd7', '207': '#ff5fff', '208': '#ff8700', '209': '#ff875f', + \ '210': '#ff8787', '211': '#ff87af', '212': '#ff87d7', '213': '#ff87ff', '214': '#ffaf00', + \ '215': '#ffaf5f', '216': '#ffaf87', '217': '#ffafaf', '218': '#ffafd7', '219': '#ffafff', + \ '220': '#ffd700', '221': '#ffd75f', '222': '#ffd787', '223': '#ffd7af', '224': '#ffd7d7', + \ '225': '#ffd7ff', '226': '#ffff00', '227': '#ffff5f', '228': '#ffff87', '229': '#ffffaf', + \ '230': '#ffffd7', '231': '#ffffff', '232': '#080808', '233': '#121212', '234': '#1c1c1c', + \ '235': '#262626', '236': '#303030', '237': '#3a3a3a', '238': '#444444', '239': '#4e4e4e', + \ '240': '#585858', '241': '#626262', '242': '#6c6c6c', '243': '#767676', '244': '#808080', + \ '245': '#8a8a8a', '246': '#949494', '247': '#9e9e9e', '248': '#a8a8a8', '249': '#b2b2b2', + \ '250': '#bcbcbc', '251': '#c6c6c6', '252': '#d0d0d0', '253': '#dadada', '254': '#e4e4e4', + \ '255': '#eeeeee' } + +" }}} +endfun + +" ========================== ENVIRONMENT ADAPTER ============================== + +" Set Format Attributes: {{{ + +fun! s:set_format_attributes() + " These are the default + if s:mode == s:MODE_GUI_COLOR + let s:ft_bold = " cterm=bold gui=bold " + let s:ft_none = " cterm=none gui=none " + let s:ft_reverse = " cterm=reverse gui=reverse " + let s:ft_italic = " cterm=italic gui=italic " + let s:ft_italic_bold = " cterm=italic,bold gui=italic,bold " + elseif s:mode == s:MODE_256_COLOR + let s:ft_bold = " cterm=bold " + let s:ft_none = " cterm=none " + let s:ft_reverse = " cterm=reverse " + let s:ft_italic = " cterm=italic " + let s:ft_italic_bold = " cterm=italic,bold " + else + let s:ft_bold = "" + let s:ft_none = " cterm=none " + let s:ft_reverse = " cterm=reverse " + let s:ft_italic = "" + let s:ft_italic_bold = "" + endif + + " Unless instructed otherwise either by theme setting or user overriding + + if s:themeOpt_allow_bold == 0 + let s:ft_bold = "" + endif + if s:themeOpt_allow_italic == 0 + let s:ft_italic = "" + let s:ft_italic_bold = s:ft_bold + endif + +endfun + +" }}} + +" Convert Colors If Needed: {{{ +fun! s:convert_colors() + if s:theme_has_hint('NO_CONVERSION') + return + endif + + if s:mode == s:MODE_GUI_COLOR + " if GUI color is not provided, convert from 256 color that must be available + call s:load_256_to_GUI_converter() + + for l:color in keys(s:palette) + let l:value = s:palette[l:color] + if l:value[0] == '' + let l:value[0] = s:to_HEX[l:value[1]] + endif + let s:palette[l:color] = l:value + endfor + + elseif s:mode == s:MODE_256_COLOR + " if 256 color is not provided, convert from GUI color that must be available + call s:load_GUI_to_256_converter() + + for l:color in keys(s:palette) + let l:value = s:palette[l:color] + if l:value[1] == '' + let l:value[1] = s:to_256(l:value[0]) + endif + let s:palette[l:color] = l:value + endfor + endif + " otherwise use the terminal colors and none of the theme colors are used +endfun + +" }}} + +" ============================ COLOR POPULARIZER =============================== + +" Set Color Variables: {{{ +fun! s:set_color_variables() + + " Helper: {{{ + " ------- + " Function to dynamically generate variables that store the color strings + " for setting highlighting. Each color name will have 2 variables with prefix + " s:fg_ and s:bg_. For example: + " if a:color_name is 'Normal' and a:color_value is ['#000000', '0', 'Black'], + " the following 2 variables will be created: + " s:fg_Normal that stores the string ' guifg=#000000 ' + " s:bg_Normal that stores the string ' guibg=#000000 ' + " Depending on the color mode, ctermfg and ctermbg will be either 0 or Black + " + " Rationale: + " The whole purpose is for speed. We generate these ahead of time so that we + " don't have to do look up or do any if-branch when we set the highlightings. + " + " Furthermore, multiple function definitions for each mode actually reduces + " the need for multiple if-branches inside a single function. This is not + " pretty, but Vim Script is slow, so reducing if-branches in function that is + " often called helps speeding things up quite a bit. Think of this like macro. + " + " If you are familiar with the old code base (v0.9 and ealier), this way of + " generate variables dramatically reduces the loading speed. + " None of previous optimization tricks gets anywhere near this. + if s:mode == s:MODE_GUI_COLOR + fun! s:create_color_variables(color_name, rich_color, term_color) + let {'s:fg_' . a:color_name} = ' guifg=' . a:rich_color[0] . ' ' + let {'s:bg_' . a:color_name} = ' guibg=' . a:rich_color[0] . ' ' + endfun + elseif s:mode == s:MODE_256_COLOR + fun! s:create_color_variables(color_name, rich_color, term_color) + let {'s:fg_' . a:color_name} = ' ctermfg=' . a:rich_color[1] . ' ' + let {'s:bg_' . a:color_name} = ' ctermbg=' . a:rich_color[1] . ' ' + endfun + else + fun! s:create_color_variables(color_name, rich_color, term_color) + let {'s:fg_' . a:color_name} = ' ctermfg=' . a:term_color . ' ' + let {'s:bg_' . a:color_name} = ' ctermbg=' . a:term_color . ' ' + endfun + endif + " }}} + + " Color value format: Array [, <256-Base>, <16-Base>] + " 16-Base is terminal's native color palette that can be alternated through + " the terminal settings. The 16-color names are according to `:h cterm-colors` + + " BASIC COLORS: + " color00-15 are required by all themes. + " These are also how the terminal color palette for the target theme should be. + " See README for theme design guideline + " + " An example format of the below variable's value: ['#262626', '234', 'Black'] + " Where the 1st value is HEX color for GUI Vim, 2nd value is for 256-color terminal, + " and the color name on the right is for 16-color terminal (the actual terminal colors + " can be different from what the color names suggest). See :h cterm-colors + " + " Depending on the provided color palette and current Vim, the 1st and 2nd + " parameter might not exist, for example, on 16-color terminal, the variables below + " only store the color names to use the terminal color palette which is the only + " thing available therefore no need for GUI-color or 256-color. + + let color00 = get(s:palette, 'color00') + let color01 = get(s:palette, 'color01') + let color02 = get(s:palette, 'color02') + let color03 = get(s:palette, 'color03') + let color04 = get(s:palette, 'color04') + let color05 = get(s:palette, 'color05') + let color06 = get(s:palette, 'color06') + let color07 = get(s:palette, 'color07') + let color08 = get(s:palette, 'color08') + let color09 = get(s:palette, 'color09') + let color10 = get(s:palette, 'color10') + let color11 = get(s:palette, 'color11') + let color12 = get(s:palette, 'color12') + let color13 = get(s:palette, 'color13') + let color14 = get(s:palette, 'color14') + let color15 = get(s:palette, 'color15') + + call s:create_color_variables('background', color00 , 'Black') + call s:create_color_variables('negative', color01 , 'DarkRed') + call s:create_color_variables('positive', color02 , 'DarkGreen') + call s:create_color_variables('olive', color03 , 'DarkYellow') " string + call s:create_color_variables('neutral', color04 , 'DarkBlue') + call s:create_color_variables('comment', color05 , 'DarkMagenta') + call s:create_color_variables('navy', color06 , 'DarkCyan') " storageclass + call s:create_color_variables('foreground', color07 , 'LightGray') + + call s:create_color_variables('nontext', color08 , 'DarkGray') + call s:create_color_variables('red', color09 , 'LightRed') " import / try/catch + call s:create_color_variables('pink', color10 , 'LightGreen') " statement, type + call s:create_color_variables('purple', color11 , 'LightYellow') " if / conditional + call s:create_color_variables('accent', color12 , 'LightBlue') + call s:create_color_variables('orange', color13 , 'LightMagenta') " number + call s:create_color_variables('blue', color14 , 'LightCyan') " other keyword + call s:create_color_variables('highlight', color15 , 'White') + + " Note: special case for FoldColumn group. I want to get rid of this case. + call s:create_color_variables('transparent', [color00[0], 'none'], 'none') + + " EXTENDED COLORS: + " From here on, all colors are optional and must have default values (3rd parameter of the + " `get` command) that point to the above basic colors in case the target theme doesn't + " provide the extended colors. The default values should be reasonably sensible. + " The terminal color must be provided also. + + call s:create_color_variables('aqua', get(s:palette, 'color16', color14) , 'LightCyan') + call s:create_color_variables('green', get(s:palette, 'color17', color13) , 'LightMagenta') + call s:create_color_variables('wine', get(s:palette, 'color18', color11) , 'LightYellow') + + " LineNumber: when set number + call s:create_color_variables('linenumber_fg', get(s:palette, 'linenumber_fg', color08) , 'DarkGray') + call s:create_color_variables('linenumber_bg', get(s:palette, 'linenumber_bg', color00) , 'Black') + + " Vertical Split: when there are more than 1 window side by side, ex: + call s:create_color_variables('vertsplit_fg', get(s:palette, 'vertsplit_fg', color15) , 'White') + call s:create_color_variables('vertsplit_bg', get(s:palette, 'vertsplit_bg', color00) , 'Black') + + " Statusline: when set status=2 + call s:create_color_variables('statusline_active_fg', get(s:palette, 'statusline_active_fg', color00) , 'Black') + call s:create_color_variables('statusline_active_bg', get(s:palette, 'statusline_active_bg', color15) , 'White') + call s:create_color_variables('statusline_inactive_fg', get(s:palette, 'statusline_inactive_fg', color07) , 'LightGray') + call s:create_color_variables('statusline_inactive_bg', get(s:palette, 'statusline_inactive_bg', color08) , 'DarkGray') + + + " Cursor: in normal mode + call s:create_color_variables('cursor_fg', get(s:palette, 'cursor_fg', color00) , 'Black') + call s:create_color_variables('cursor_bg', get(s:palette, 'cursor_bg', color07) , 'LightGray') + + call s:create_color_variables('cursorline', get(s:palette, 'cursorline', color00) , 'Black') + + " CursorColumn: when set cursorcolumn + call s:create_color_variables('cursorcolumn', get(s:palette, 'cursorcolumn', color00) , 'Black') + + " CursorLine Number: when set cursorline number + call s:create_color_variables('cursorlinenr_fg', get(s:palette, 'cursorlinenr_fg', color13) , 'LightMagenta') + call s:create_color_variables('cursorlinenr_bg', get(s:palette, 'cursorlinenr_bg', color00) , 'Black') + + " Popup Menu: when for autocomplete + call s:create_color_variables('popupmenu_fg', get(s:palette, 'popupmenu_fg', color07) , 'LightGray') + call s:create_color_variables('popupmenu_bg', get(s:palette, 'popupmenu_bg', color08) , 'DarkGray') " TODO: double check this, might resolve an issue + + " Search: ex: when * on a word + call s:create_color_variables('search_fg', get(s:palette, 'search_fg', color00) , 'Black') + call s:create_color_variables('search_bg', get(s:palette, 'search_bg', color15) , 'Yellow') + + " Todo: ex: TODO + call s:create_color_variables('todo_fg', get(s:palette, 'todo_fg', color05) , 'LightYellow') + call s:create_color_variables('todo_bg', get(s:palette, 'todo_bg', color00) , 'Black') + + " Error: ex: turn spell on and have invalid words + call s:create_color_variables('error_fg', get(s:palette, 'error_fg', color01) , 'DarkRed') + call s:create_color_variables('error_bg', get(s:palette, 'error_bg', color00) , 'Black') + + " Match Parenthesis: selecting an opening/closing pair and the other one will be highlighted + call s:create_color_variables('matchparen_fg', get(s:palette, 'matchparen_fg', color00) , 'LightMagenta') + call s:create_color_variables('matchparen_bg', get(s:palette, 'matchparen_bg', color05) , 'Black') + + " Visual: + call s:create_color_variables('visual_fg', get(s:palette, 'visual_fg', color08) , 'Black') + call s:create_color_variables('visual_bg', get(s:palette, 'visual_bg', color07) , 'White') + + " Folded: + call s:create_color_variables('folded_fg', get(s:palette, 'folded_fg', color00) , 'Black') + call s:create_color_variables('folded_bg', get(s:palette, 'folded_bg', color05) , 'DarkYellow') + + " WildMenu: Autocomplete command, ex: :color + call s:create_color_variables('wildmenu_fg', get(s:palette, 'wildmenu_fg', color00) , 'Black') + call s:create_color_variables('wildmenu_bg', get(s:palette, 'wildmenu_bg', color06) , 'LightGray') + + " Spelling: when spell on and there are spelling problems like this for example: papercolor. a vim color scheme + call s:create_color_variables('spellbad', get(s:palette, 'spellbad', color04) , 'DarkRed') + call s:create_color_variables('spellcap', get(s:palette, 'spellcap', color05) , 'DarkMagenta') + call s:create_color_variables('spellrare', get(s:palette, 'spellrare', color06) , 'DarkYellow') + call s:create_color_variables('spelllocal', get(s:palette, 'spelllocal', color01) , 'DarkBlue') + + " Diff: + call s:create_color_variables('diffadd_fg', get(s:palette, 'diffadd_fg', color00) , 'Black') + call s:create_color_variables('diffadd_bg', get(s:palette, 'diffadd_bg', color02) , 'DarkGreen') + + call s:create_color_variables('diffdelete_fg', get(s:palette, 'diffdelete_fg', color00) , 'Black') + call s:create_color_variables('diffdelete_bg', get(s:palette, 'diffdelete_bg', color04) , 'DarkRed') + + call s:create_color_variables('difftext_fg', get(s:palette, 'difftext_fg', color00) , 'Black') + call s:create_color_variables('difftext_bg', get(s:palette, 'difftext_bg', color06) , 'DarkYellow') + + call s:create_color_variables('diffchange_fg', get(s:palette, 'diffchange_fg', color00) , 'Black') + call s:create_color_variables('diffchange_bg', get(s:palette, 'diffchange_bg', color14) , 'LightYellow') + + " Tabline: when having tabs, ex: :tabnew + call s:create_color_variables('tabline_bg', get(s:palette, 'tabline_bg', color00) , 'Black') + call s:create_color_variables('tabline_active_fg', get(s:palette, 'tabline_active_fg', color07) , 'LightGray') + call s:create_color_variables('tabline_active_bg', get(s:palette, 'tabline_active_bg', color00) , 'Black') + call s:create_color_variables('tabline_inactive_fg', get(s:palette, 'tabline_inactive_fg', color07) , 'Black') + call s:create_color_variables('tabline_inactive_bg', get(s:palette, 'tabline_inactive_bg', color08) , 'DarkMagenta') + + " Plugin: BufTabLine https://github.com/ap/vim-buftabline + call s:create_color_variables('buftabline_bg', get(s:palette, 'buftabline_bg', color00) , 'Black') + call s:create_color_variables('buftabline_current_fg', get(s:palette, 'buftabline_current_fg', color07) , 'LightGray') + call s:create_color_variables('buftabline_current_bg', get(s:palette, 'buftabline_current_bg', color05) , 'DarkMagenta') + call s:create_color_variables('buftabline_active_fg', get(s:palette, 'buftabline_active_fg', color07) , 'LightGray') + call s:create_color_variables('buftabline_active_bg', get(s:palette, 'buftabline_active_bg', color12) , 'LightBlue') + call s:create_color_variables('buftabline_inactive_fg', get(s:palette, 'buftabline_inactive_fg', color07) , 'LightGray') + call s:create_color_variables('buftabline_inactive_bg', get(s:palette, 'buftabline_inactive_bg', color00) , 'Black') + + " Neovim terminal colors https://neovim.io/doc/user/nvim_terminal_emulator.html#nvim-terminal-emulator-configuration + " TODO: Fix this + let g:terminal_color_0 = color00[0] + let g:terminal_color_1 = color01[0] + let g:terminal_color_2 = color02[0] + let g:terminal_color_3 = color03[0] + let g:terminal_color_4 = color04[0] + let g:terminal_color_5 = color05[0] + let g:terminal_color_6 = color06[0] + let g:terminal_color_7 = color07[0] + let g:terminal_color_8 = color08[0] + let g:terminal_color_9 = color09[0] + let g:terminal_color_10 = color10[0] + let g:terminal_color_11 = color11[0] + let g:terminal_color_12 = color12[0] + let g:terminal_color_13 = color13[0] + let g:terminal_color_14 = color14[0] + let g:terminal_color_15 = color15[0] + +endfun +" }}} + +" Apply Syntax Highlightings: {{{ + +fun! s:apply_syntax_highlightings() + + if s:themeOpt_transparent_background + exec 'hi Normal' . s:fg_foreground + " Switching between dark & light variant through `set background` + " NOTE: Handle background switching right after `Normal` group because of + " God-know-why reason. Not doing this way had caused issue before + if s:is_dark " DARK VARIANT + set background=dark + else " LIGHT VARIANT + set background=light + endif + + exec 'hi NonText' . s:fg_nontext + exec 'hi LineNr' . s:fg_linenumber_fg + exec 'hi Conceal' . s:fg_linenumber_fg + exec 'hi VertSplit' . s:fg_vertsplit_fg . s:ft_none + exec 'hi FoldColumn' . s:fg_folded_fg . s:bg_transparent . s:ft_none + else + exec 'hi Normal' . s:fg_foreground . s:bg_background + " Switching between dark & light variant through `set background` + if s:is_dark " DARK VARIANT + set background=dark + exec 'hi EndOfBuffer' . s:fg_cursor_fg . s:ft_none + else " LIGHT VARIANT + set background=light + endif + + exec 'hi NonText' . s:fg_nontext . s:bg_background + exec 'hi LineNr' . s:fg_linenumber_fg . s:bg_linenumber_bg + exec 'hi Conceal' . s:fg_linenumber_fg . s:bg_linenumber_bg + exec 'hi VertSplit' . s:fg_vertsplit_bg . s:bg_vertsplit_fg + exec 'hi FoldColumn' . s:fg_folded_fg . s:bg_background . s:ft_none + endif + + exec 'hi Cursor' . s:fg_cursor_fg . s:bg_cursor_bg + exec 'hi SpecialKey' . s:fg_nontext + exec 'hi Search' . s:fg_search_fg . s:bg_search_bg + exec 'hi StatusLine' . s:fg_statusline_active_bg . s:bg_statusline_active_fg + exec 'hi StatusLineNC' . s:fg_statusline_inactive_bg . s:bg_statusline_inactive_fg + exec 'hi StatusLineTerm' . s:fg_statusline_active_bg . s:bg_statusline_active_fg + exec 'hi StatusLineTermNC' . s:fg_statusline_inactive_bg . s:bg_statusline_inactive_fg + exec 'hi Visual' . s:fg_visual_fg . s:bg_visual_bg + exec 'hi Directory' . s:fg_blue + exec 'hi ModeMsg' . s:fg_olive + exec 'hi MoreMsg' . s:fg_olive + exec 'hi Question' . s:fg_olive + exec 'hi WarningMsg' . s:fg_pink + exec 'hi MatchParen' . s:fg_matchparen_fg . s:bg_matchparen_bg + exec 'hi Folded' . s:fg_folded_fg . s:bg_folded_bg + exec 'hi WildMenu' . s:fg_wildmenu_fg . s:bg_wildmenu_bg . s:ft_bold + + if version >= 700 + exec 'hi CursorLine' . s:bg_cursorline . s:ft_none + if s:mode == s:MODE_16_COLOR + exec 'hi CursorLineNr' . s:fg_cursorlinenr_fg . s:bg_cursorlinenr_bg + else + exec 'hi CursorLineNr' . s:fg_cursorlinenr_fg . s:bg_cursorlinenr_bg . s:ft_none + endif + exec 'hi CursorColumn' . s:bg_cursorcolumn . s:ft_none + exec 'hi PMenu' . s:fg_popupmenu_fg . s:bg_popupmenu_bg . s:ft_none + exec 'hi PMenuSel' . s:fg_popupmenu_fg . s:bg_popupmenu_bg . s:ft_reverse + if s:themeOpt_transparent_background + exec 'hi SignColumn' . s:fg_green . s:ft_none + else + exec 'hi SignColumn' . s:fg_green . s:bg_background . s:ft_none + endif + end + if version >= 703 + exec 'hi ColorColumn' . s:bg_cursorcolumn . s:ft_none + end + + exec 'hi TabLine' . s:fg_tabline_inactive_fg . s:bg_tabline_inactive_bg . s:ft_none + exec 'hi TabLineFill' . s:fg_tabline_bg . s:bg_tabline_bg . s:ft_none + exec 'hi TabLineSel' . s:fg_tabline_active_fg . s:bg_tabline_active_bg . s:ft_none + + exec 'hi BufTabLineCurrent' . s:fg_buftabline_current_fg . s:bg_buftabline_current_bg . s:ft_none + exec 'hi BufTabLineActive' . s:fg_buftabline_active_fg . s:bg_buftabline_active_bg . s:ft_none + exec 'hi BufTabLineHidden' . s:fg_buftabline_inactive_fg . s:bg_buftabline_inactive_bg . s:ft_none + exec 'hi BufTabLineFill' . s:bg_buftabline_bg . s:ft_none + + " Standard Group Highlighting: + exec 'hi Comment' . s:fg_comment . s:ft_italic + + exec 'hi Constant' . s:fg_orange + exec 'hi String' . s:fg_olive + exec 'hi Character' . s:fg_olive + exec 'hi Number' . s:fg_orange + exec 'hi Boolean' . s:fg_green . s:ft_bold + exec 'hi Float' . s:fg_orange + + exec 'hi Identifier' . s:fg_navy + exec 'hi Function' . s:fg_foreground + + exec 'hi Statement' . s:fg_pink . s:ft_none + exec 'hi Conditional' . s:fg_purple . s:ft_bold + exec 'hi Repeat' . s:fg_purple . s:ft_bold + exec 'hi Label' . s:fg_blue + exec 'hi Operator' . s:fg_aqua . s:ft_none + exec 'hi Keyword' . s:fg_blue + exec 'hi Exception' . s:fg_red + + exec 'hi PreProc' . s:fg_blue + exec 'hi Include' . s:fg_red + exec 'hi Define' . s:fg_blue + exec 'hi Macro' . s:fg_blue + exec 'hi PreCondit' . s:fg_aqua + + exec 'hi Type' . s:fg_pink . s:ft_bold + exec 'hi StorageClass' . s:fg_navy . s:ft_bold + exec 'hi Structure' . s:fg_blue . s:ft_bold + exec 'hi Typedef' . s:fg_pink . s:ft_bold + + exec 'hi Special' . s:fg_foreground + exec 'hi SpecialChar' . s:fg_foreground + exec 'hi Tag' . s:fg_green + exec 'hi Delimiter' . s:fg_aqua + exec 'hi SpecialComment' . s:fg_comment . s:ft_bold + exec 'hi Debug' . s:fg_orange + + exec 'hi Error' . s:fg_error_fg . s:bg_error_bg + exec 'hi Todo' . s:fg_todo_fg . s:bg_todo_bg . s:ft_bold + + exec 'hi Title' . s:fg_comment + exec 'hi Global' . s:fg_blue + + + " Extension {{{ + " VimL Highlighting + exec 'hi vimCommand' . s:fg_pink + exec 'hi vimVar' . s:fg_navy + exec 'hi vimFuncKey' . s:fg_pink + exec 'hi vimFunction' . s:fg_blue . s:ft_bold + exec 'hi vimNotFunc' . s:fg_pink + exec 'hi vimMap' . s:fg_red + exec 'hi vimAutoEvent' . s:fg_aqua . s:ft_bold + exec 'hi vimMapModKey' . s:fg_aqua + exec 'hi vimFuncName' . s:fg_purple + exec 'hi vimIsCommand' . s:fg_foreground + exec 'hi vimFuncVar' . s:fg_aqua + exec 'hi vimLet' . s:fg_red + exec 'hi vimContinue' . s:fg_aqua + exec 'hi vimMapRhsExtend' . s:fg_foreground + exec 'hi vimCommentTitle' . s:fg_comment . s:ft_italic_bold + exec 'hi vimBracket' . s:fg_aqua + exec 'hi vimParenSep' . s:fg_aqua + exec 'hi vimNotation' . s:fg_aqua + exec 'hi vimOper' . s:fg_foreground + exec 'hi vimOperParen' . s:fg_foreground + exec 'hi vimSynType' . s:fg_purple + exec 'hi vimSynReg' . s:fg_pink . s:ft_none + exec 'hi vimSynRegion' . s:fg_foreground + exec 'hi vimSynMtchGrp' . s:fg_pink + exec 'hi vimSynNextgroup' . s:fg_pink + exec 'hi vimSynKeyRegion' . s:fg_green + exec 'hi vimSynRegOpt' . s:fg_blue + exec 'hi vimSynMtchOpt' . s:fg_blue + exec 'hi vimSynContains' . s:fg_pink + exec 'hi vimGroupName' . s:fg_foreground + exec 'hi vimGroupList' . s:fg_foreground + exec 'hi vimHiGroup' . s:fg_foreground + exec 'hi vimGroup' . s:fg_navy . s:ft_bold + exec 'hi vimOnlyOption' . s:fg_blue + + " Makefile Highlighting + exec 'hi makeIdent' . s:fg_blue + exec 'hi makeSpecTarget' . s:fg_olive + exec 'hi makeTarget' . s:fg_red + exec 'hi makeStatement' . s:fg_aqua . s:ft_bold + exec 'hi makeCommands' . s:fg_foreground + exec 'hi makeSpecial' . s:fg_orange . s:ft_bold + + " CMake Highlighting (Builtin) + exec 'hi cmakeStatement' . s:fg_blue + exec 'hi cmakeArguments' . s:fg_foreground + exec 'hi cmakeVariableValue' . s:fg_pink + + " CMake Highlighting (Plugin: https://github.com/pboettch/vim-cmake-syntax) + exec 'hi cmakeCommand' . s:fg_blue + exec 'hi cmakeCommandConditional' . s:fg_purple . s:ft_bold + exec 'hi cmakeKWset' . s:fg_orange + exec 'hi cmakeKWvariable_watch' . s:fg_orange + exec 'hi cmakeKWif' . s:fg_orange + exec 'hi cmakeArguments' . s:fg_foreground + exec 'hi cmakeKWproject' . s:fg_pink + exec 'hi cmakeGeneratorExpressions' . s:fg_orange + exec 'hi cmakeGeneratorExpression' . s:fg_aqua + exec 'hi cmakeVariable' . s:fg_pink + exec 'hi cmakeProperty' . s:fg_aqua + exec 'hi cmakeKWforeach' . s:fg_aqua + exec 'hi cmakeKWunset' . s:fg_aqua + exec 'hi cmakeKWmacro' . s:fg_aqua + exec 'hi cmakeKWget_property' . s:fg_aqua + exec 'hi cmakeKWset_tests_properties' . s:fg_aqua + exec 'hi cmakeKWmessage' . s:fg_aqua + exec 'hi cmakeKWinstall_targets' . s:fg_orange + exec 'hi cmakeKWsource_group' . s:fg_orange + exec 'hi cmakeKWfind_package' . s:fg_aqua + exec 'hi cmakeKWstring' . s:fg_olive + exec 'hi cmakeKWinstall' . s:fg_aqua + exec 'hi cmakeKWtarget_sources' . s:fg_orange + + " C Highlighting + exec 'hi cType' . s:fg_pink . s:ft_bold + exec 'hi cFormat' . s:fg_olive + exec 'hi cStorageClass' . s:fg_navy . s:ft_bold + + exec 'hi cBoolean' . s:fg_green . s:ft_bold + exec 'hi cCharacter' . s:fg_olive + exec 'hi cConstant' . s:fg_green . s:ft_bold + exec 'hi cConditional' . s:fg_purple . s:ft_bold + exec 'hi cSpecial' . s:fg_olive . s:ft_bold + exec 'hi cDefine' . s:fg_blue + exec 'hi cNumber' . s:fg_orange + exec 'hi cPreCondit' . s:fg_aqua + exec 'hi cRepeat' . s:fg_purple . s:ft_bold + exec 'hi cLabel' . s:fg_aqua + " exec 'hi cAnsiFunction' . s:fg_aqua . s:ft_bold + " exec 'hi cAnsiName' . s:fg_pink + exec 'hi cDelimiter' . s:fg_blue + " exec 'hi cBraces' . s:fg_foreground + " exec 'hi cIdentifier' . s:fg_blue . s:bg_pink + " exec 'hi cSemiColon' . s:bg_blue + exec 'hi cOperator' . s:fg_aqua + " exec 'hi cStatement' . s:fg_pink + " exec 'hi cTodo' . s:fg_comment . s:ft_bold + " exec 'hi cStructure' . s:fg_blue . s:ft_bold + exec 'hi cCustomParen' . s:fg_foreground + " exec 'hi cCustomFunc' . s:fg_foreground + " exec 'hi cUserFunction' . s:fg_blue . s:ft_bold + exec 'hi cOctalZero' . s:fg_purple . s:ft_bold + if s:langOpt_c__highlight_builtins == 1 + exec 'hi cFunction' . s:fg_blue + else + exec 'hi cFunction' . s:fg_foreground + endif + + " CPP highlighting + exec 'hi cppBoolean' . s:fg_green . s:ft_bold + exec 'hi cppSTLnamespace' . s:fg_purple + exec 'hi cppSTLexception' . s:fg_pink + exec 'hi cppSTLfunctional' . s:fg_foreground . s:ft_bold + exec 'hi cppSTLiterator' . s:fg_foreground . s:ft_bold + exec 'hi cppExceptions' . s:fg_red + exec 'hi cppStatement' . s:fg_blue + exec 'hi cppStorageClass' . s:fg_navy . s:ft_bold + exec 'hi cppAccess' . s:fg_orange . s:ft_bold + if s:langOpt_cpp__highlight_standard_library == 1 + exec 'hi cppSTLconstant' . s:fg_green . s:ft_bold + exec 'hi cppSTLtype' . s:fg_pink . s:ft_bold + exec 'hi cppSTLfunction' . s:fg_blue + exec 'hi cppSTLios' . s:fg_olive . s:ft_bold + else + exec 'hi cppSTLconstant' . s:fg_foreground + exec 'hi cppSTLtype' . s:fg_foreground + exec 'hi cppSTLfunction' . s:fg_foreground + exec 'hi cppSTLios' . s:fg_foreground + endif + " exec 'hi cppSTL' . s:fg_blue + + " Rust highlighting + exec 'hi rustKeyword' . s:fg_pink + exec 'hi rustModPath' . s:fg_blue + exec 'hi rustModPathSep' . s:fg_blue + exec 'hi rustLifetime' . s:fg_purple + exec 'hi rustStructure' . s:fg_aqua . s:ft_bold + exec 'hi rustAttribute' . s:fg_aqua . s:ft_bold + exec 'hi rustPanic' . s:fg_olive . s:ft_bold + exec 'hi rustTrait' . s:fg_blue . s:ft_bold + exec 'hi rustEnum' . s:fg_green . s:ft_bold + exec 'hi rustEnumVariant' . s:fg_green + exec 'hi rustSelf' . s:fg_orange + exec 'hi rustSigil' . s:fg_aqua . s:ft_bold + exec 'hi rustOperator' . s:fg_aqua . s:ft_bold + exec 'hi rustMacro' . s:fg_olive . s:ft_bold + exec 'hi rustMacroVariable' . s:fg_olive + exec 'hi rustAssert' . s:fg_olive . s:ft_bold + exec 'hi rustConditional' . s:fg_purple . s:ft_bold + + " Lex highlighting + exec 'hi lexCFunctions' . s:fg_foreground + exec 'hi lexAbbrv' . s:fg_purple + exec 'hi lexAbbrvRegExp' . s:fg_aqua + exec 'hi lexAbbrvComment' . s:fg_comment + exec 'hi lexBrace' . s:fg_navy + exec 'hi lexPat' . s:fg_aqua + exec 'hi lexPatComment' . s:fg_comment + exec 'hi lexPatTag' . s:fg_orange + " exec 'hi lexPatBlock' . s:fg_foreground . s:ft_bold + exec 'hi lexSlashQuote' . s:fg_foreground + exec 'hi lexSep' . s:fg_foreground + exec 'hi lexStartState' . s:fg_orange + exec 'hi lexPatTagZone' . s:fg_olive . s:ft_bold + exec 'hi lexMorePat' . s:fg_olive . s:ft_bold + exec 'hi lexOptions' . s:fg_olive . s:ft_bold + exec 'hi lexPatString' . s:fg_olive + + " Yacc highlighting + exec 'hi yaccNonterminal' . s:fg_navy + exec 'hi yaccDelim' . s:fg_orange + exec 'hi yaccInitKey' . s:fg_aqua + exec 'hi yaccInit' . s:fg_navy + exec 'hi yaccKey' . s:fg_purple + exec 'hi yaccVar' . s:fg_aqua + + " NASM highlighting + exec 'hi nasmStdInstruction' . s:fg_navy + exec 'hi nasmGen08Register' . s:fg_aqua + exec 'hi nasmGen16Register' . s:fg_aqua + exec 'hi nasmGen32Register' . s:fg_aqua + exec 'hi nasmGen64Register' . s:fg_aqua + exec 'hi nasmHexNumber' . s:fg_purple + exec 'hi nasmStorage' . s:fg_aqua . s:ft_bold + exec 'hi nasmLabel' . s:fg_pink + exec 'hi nasmDirective' . s:fg_blue . s:ft_bold + exec 'hi nasmLocalLabel' . s:fg_orange + + " GAS highlighting + exec 'hi gasSymbol' . s:fg_pink + exec 'hi gasDirective' . s:fg_blue . s:ft_bold + exec 'hi gasOpcode_386_Base' . s:fg_navy + exec 'hi gasDecimalNumber' . s:fg_purple + exec 'hi gasSymbolRef' . s:fg_pink + exec 'hi gasRegisterX86' . s:fg_blue + exec 'hi gasOpcode_P6_Base' . s:fg_navy + exec 'hi gasDirectiveStore' . s:fg_foreground . s:ft_bold + + " MIPS highlighting + exec 'hi mipsInstruction' . s:fg_pink + exec 'hi mipsRegister' . s:fg_navy + exec 'hi mipsLabel' . s:fg_aqua . s:ft_bold + exec 'hi mipsDirective' . s:fg_purple . s:ft_bold + + " Shell/Bash highlighting + exec 'hi bashStatement' . s:fg_foreground . s:ft_bold + exec 'hi shDerefVar' . s:fg_aqua . s:ft_bold + exec 'hi shDerefSimple' . s:fg_aqua + exec 'hi shFunction' . s:fg_orange . s:ft_bold + exec 'hi shStatement' . s:fg_foreground + exec 'hi shLoop' . s:fg_purple . s:ft_bold + exec 'hi shQuote' . s:fg_olive + exec 'hi shCaseEsac' . s:fg_aqua . s:ft_bold + exec 'hi shSnglCase' . s:fg_purple . s:ft_none + exec 'hi shFunctionOne' . s:fg_navy + exec 'hi shCase' . s:fg_navy + exec 'hi shSetList' . s:fg_navy + " @see Dockerfile Highlighting section for more sh* + + " PowerShell Highlighting + exec 'hi ps1Type' . s:fg_green . s:ft_bold + exec 'hi ps1Variable' . s:fg_navy + exec 'hi ps1Boolean' . s:fg_navy . s:ft_bold + exec 'hi ps1FunctionInvocation' . s:fg_pink + exec 'hi ps1FunctionDeclaration' . s:fg_pink + exec 'hi ps1Keyword' . s:fg_blue . s:ft_bold + exec 'hi ps1Exception' . s:fg_red + exec 'hi ps1Operator' . s:fg_aqua . s:ft_bold + exec 'hi ps1CommentDoc' . s:fg_purple + exec 'hi ps1CDocParam' . s:fg_orange + + " HTML Highlighting + exec 'hi htmlTitle' . s:fg_green . s:ft_bold + exec 'hi htmlH1' . s:fg_green . s:ft_bold + exec 'hi htmlH2' . s:fg_aqua . s:ft_bold + exec 'hi htmlH3' . s:fg_purple . s:ft_bold + exec 'hi htmlH4' . s:fg_orange . s:ft_bold + exec 'hi htmlTag' . s:fg_comment + exec 'hi htmlTagName' . s:fg_wine + exec 'hi htmlArg' . s:fg_pink + exec 'hi htmlEndTag' . s:fg_comment + exec 'hi htmlString' . s:fg_blue + exec 'hi htmlScriptTag' . s:fg_comment + exec 'hi htmlBold' . s:fg_foreground . s:ft_bold + exec 'hi htmlItalic' . s:fg_comment . s:ft_italic + exec 'hi htmlBoldItalic' . s:fg_navy . s:ft_italic_bold + " exec 'hi htmlLink' . s:fg_blue . s:ft_bold + exec 'hi htmlTagN' . s:fg_wine . s:ft_bold + exec 'hi htmlSpecialTagName' . s:fg_wine + exec 'hi htmlComment' . s:fg_comment . s:ft_italic + exec 'hi htmlCommentPart' . s:fg_comment . s:ft_italic + + " CSS Highlighting + exec 'hi cssIdentifier' . s:fg_pink + exec 'hi cssPositioningProp' . s:fg_foreground + exec 'hi cssNoise' . s:fg_foreground + exec 'hi cssBoxProp' . s:fg_foreground + exec 'hi cssTableAttr' . s:fg_purple + exec 'hi cssPositioningAttr' . s:fg_navy + exec 'hi cssValueLength' . s:fg_orange + exec 'hi cssFunctionName' . s:fg_blue + exec 'hi cssUnitDecorators' . s:fg_aqua + exec 'hi cssColor' . s:fg_blue . s:ft_bold + exec 'hi cssBraces' . s:fg_pink + exec 'hi cssBackgroundProp' . s:fg_foreground + exec 'hi cssTextProp' . s:fg_foreground + exec 'hi cssDimensionProp' . s:fg_foreground + exec 'hi cssClassName' . s:fg_pink + + " Markdown Highlighting + exec 'hi markdownHeadingRule' . s:fg_pink . s:ft_bold + exec 'hi markdownH1' . s:fg_pink . s:ft_bold + exec 'hi markdownH2' . s:fg_orange . s:ft_bold + exec 'hi markdownBlockquote' . s:fg_pink + exec 'hi markdownCodeBlock' . s:fg_olive + exec 'hi markdownCode' . s:fg_olive + exec 'hi markdownLink' . s:fg_blue . s:ft_bold + exec 'hi markdownUrl' . s:fg_blue + exec 'hi markdownLinkText' . s:fg_pink + exec 'hi markdownLinkTextDelimiter' . s:fg_purple + exec 'hi markdownLinkDelimiter' . s:fg_purple + exec 'hi markdownCodeDelimiter' . s:fg_blue + + exec 'hi mkdCode' . s:fg_olive + exec 'hi mkdLink' . s:fg_blue . s:ft_bold + exec 'hi mkdURL' . s:fg_comment + exec 'hi mkdString' . s:fg_foreground + exec 'hi mkdBlockQuote' . s:fg_pink + exec 'hi mkdLinkTitle' . s:fg_pink + exec 'hi mkdDelimiter' . s:fg_aqua + exec 'hi mkdRule' . s:fg_pink + + " reStructuredText Highlighting + exec 'hi rstSections' . s:fg_pink . s:ft_bold + exec 'hi rstDelimiter' . s:fg_pink . s:ft_bold + exec 'hi rstExplicitMarkup' . s:fg_pink . s:ft_bold + exec 'hi rstDirective' . s:fg_blue + exec 'hi rstHyperlinkTarget' . s:fg_green + exec 'hi rstExDirective' . s:fg_foreground + exec 'hi rstInlineLiteral' . s:fg_olive + exec 'hi rstInterpretedTextOrHyperlinkReference' . s:fg_blue + + " Python Highlighting + exec 'hi pythonImport' . s:fg_pink . s:ft_bold + exec 'hi pythonExceptions' . s:fg_red + exec 'hi pythonException' . s:fg_purple . s:ft_bold + exec 'hi pythonInclude' . s:fg_red + exec 'hi pythonStatement' . s:fg_pink + exec 'hi pythonConditional' . s:fg_purple . s:ft_bold + exec 'hi pythonRepeat' . s:fg_purple . s:ft_bold + exec 'hi pythonFunction' . s:fg_aqua . s:ft_bold + exec 'hi pythonPreCondit' . s:fg_purple + exec 'hi pythonExClass' . s:fg_orange + exec 'hi pythonOperator' . s:fg_purple . s:ft_bold + exec 'hi pythonBuiltin' . s:fg_foreground + exec 'hi pythonDecorator' . s:fg_orange + + exec 'hi pythonString' . s:fg_olive + exec 'hi pythonEscape' . s:fg_olive . s:ft_bold + exec 'hi pythonStrFormatting' . s:fg_olive . s:ft_bold + + exec 'hi pythonBoolean' . s:fg_green . s:ft_bold + exec 'hi pythonExClass' . s:fg_red + exec 'hi pythonBytesEscape' . s:fg_olive . s:ft_bold + exec 'hi pythonDottedName' . s:fg_purple + exec 'hi pythonStrFormat' . s:fg_foreground + + if s:langOpt_python__highlight_builtins == 1 + exec 'hi pythonBuiltinFunc' . s:fg_blue + exec 'hi pythonBuiltinObj' . s:fg_red + else + exec 'hi pythonBuiltinFunc' . s:fg_foreground + exec 'hi pythonBuiltinObj' . s:fg_foreground + endif + + " Java Highlighting + exec 'hi javaExternal' . s:fg_pink + exec 'hi javaAnnotation' . s:fg_orange + exec 'hi javaTypedef' . s:fg_aqua + exec 'hi javaClassDecl' . s:fg_aqua . s:ft_bold + exec 'hi javaScopeDecl' . s:fg_blue . s:ft_bold + exec 'hi javaStorageClass' . s:fg_navy . s:ft_bold + exec 'hi javaBoolean' . s:fg_green . s:ft_bold + exec 'hi javaConstant' . s:fg_blue + exec 'hi javaCommentTitle' . s:fg_wine + exec 'hi javaDocTags' . s:fg_aqua + exec 'hi javaDocComment' . s:fg_comment + exec 'hi javaDocParam' . s:fg_foreground + exec 'hi javaStatement' . s:fg_pink + + " JavaScript Highlighting + exec 'hi javaScriptBraces' . s:fg_blue + exec 'hi javaScriptParens' . s:fg_blue + exec 'hi javaScriptIdentifier' . s:fg_pink + exec 'hi javaScriptFunction' . s:fg_blue . s:ft_bold + exec 'hi javaScriptConditional' . s:fg_purple . s:ft_bold + exec 'hi javaScriptRepeat' . s:fg_purple . s:ft_bold + exec 'hi javaScriptBoolean' . s:fg_green . s:ft_bold + exec 'hi javaScriptNumber' . s:fg_orange + exec 'hi javaScriptMember' . s:fg_navy + exec 'hi javaScriptReserved' . s:fg_navy + exec 'hi javascriptNull' . s:fg_comment . s:ft_bold + exec 'hi javascriptGlobal' . s:fg_foreground + exec 'hi javascriptStatement' . s:fg_pink + exec 'hi javaScriptMessage' . s:fg_foreground + exec 'hi javaScriptMember' . s:fg_foreground + + " @target https://github.com/pangloss/vim-javascript + exec 'hi jsFuncParens' . s:fg_blue + exec 'hi jsFuncBraces' . s:fg_blue + exec 'hi jsParens' . s:fg_blue + exec 'hi jsBraces' . s:fg_blue + exec 'hi jsNoise' . s:fg_blue + + " Jsx Highlighting + " @target https://github.com/MaxMEllon/vim-jsx-pretty + exec 'hi jsxTagName' . s:fg_wine + exec 'hi jsxComponentName' . s:fg_wine + exec 'hi jsxAttrib' . s:fg_pink + exec 'hi jsxEqual' . s:fg_comment + exec 'hi jsxString' . s:fg_blue + exec 'hi jsxCloseTag' . s:fg_comment + exec 'hi jsxCloseString' . s:fg_comment + exec 'hi jsxDot' . s:fg_wine + exec 'hi jsxNamespace' . s:fg_wine + exec 'hi jsxPunct' . s:fg_comment + + " Json Highlighting + " @target https://github.com/elzr/vim-json + exec 'hi jsonKeyword' . s:fg_blue + exec 'hi jsonString' . s:fg_olive + exec 'hi jsonQuote' . s:fg_comment + exec 'hi jsonNoise' . s:fg_foreground + exec 'hi jsonKeywordMatch' . s:fg_foreground + exec 'hi jsonBraces' . s:fg_foreground + exec 'hi jsonNumber' . s:fg_orange + exec 'hi jsonNull' . s:fg_purple . s:ft_bold + exec 'hi jsonBoolean' . s:fg_green . s:ft_bold + exec 'hi jsonCommentError' . s:fg_pink . s:bg_background + + " Go Highlighting + exec 'hi goDirective' . s:fg_red + exec 'hi goDeclaration' . s:fg_blue . s:ft_bold + exec 'hi goStatement' . s:fg_pink + exec 'hi goConditional' . s:fg_purple . s:ft_bold + exec 'hi goConstants' . s:fg_orange + exec 'hi goFunction' . s:fg_orange + " exec 'hi goTodo' . s:fg_comment . s:ft_bold + exec 'hi goDeclType' . s:fg_blue + exec 'hi goBuiltins' . s:fg_purple + + " Systemtap Highlighting + " exec 'hi stapBlock' . s:fg_comment . s:ft_none + exec 'hi stapComment' . s:fg_comment . s:ft_none + exec 'hi stapProbe' . s:fg_aqua . s:ft_bold + exec 'hi stapStat' . s:fg_navy . s:ft_bold + exec 'hi stapFunc' . s:fg_foreground + exec 'hi stapString' . s:fg_olive + exec 'hi stapTarget' . s:fg_navy + exec 'hi stapStatement' . s:fg_pink + exec 'hi stapType' . s:fg_pink . s:ft_bold + exec 'hi stapSharpBang' . s:fg_comment + exec 'hi stapDeclaration' . s:fg_pink + exec 'hi stapCMacro' . s:fg_blue + + " DTrace Highlighting + exec 'hi dtraceProbe' . s:fg_blue + exec 'hi dtracePredicate' . s:fg_purple . s:ft_bold + exec 'hi dtraceComment' . s:fg_comment + exec 'hi dtraceFunction' . s:fg_foreground + exec 'hi dtraceAggregatingFunction' . s:fg_blue . s:ft_bold + exec 'hi dtraceStatement' . s:fg_navy . s:ft_bold + exec 'hi dtraceIdentifier' . s:fg_pink + exec 'hi dtraceOption' . s:fg_pink + exec 'hi dtraceConstant' . s:fg_orange + exec 'hi dtraceType' . s:fg_pink . s:ft_bold + + " PlantUML Highlighting + exec 'hi plantumlPreProc' . s:fg_orange . s:ft_bold + exec 'hi plantumlDirectedOrVerticalArrowRL' . s:fg_pink + exec 'hi plantumlDirectedOrVerticalArrowLR' . s:fg_pink + exec 'hi plantumlString' . s:fg_olive + exec 'hi plantumlActivityThing' . s:fg_purple + exec 'hi plantumlText' . s:fg_navy + exec 'hi plantumlClassPublic' . s:fg_olive . s:ft_bold + exec 'hi plantumlClassPrivate' . s:fg_red + exec 'hi plantumlColonLine' . s:fg_orange + exec 'hi plantumlClass' . s:fg_navy + exec 'hi plantumlHorizontalArrow' . s:fg_pink + exec 'hi plantumlTypeKeyword' . s:fg_blue . s:ft_bold + exec 'hi plantumlKeyword' . s:fg_pink . s:ft_bold + + exec 'hi plantumlType' . s:fg_blue . s:ft_bold + exec 'hi plantumlBlock' . s:fg_pink . s:ft_bold + exec 'hi plantumlPreposition' . s:fg_orange + exec 'hi plantumlLayout' . s:fg_blue . s:ft_bold + exec 'hi plantumlNote' . s:fg_orange + exec 'hi plantumlLifecycle' . s:fg_aqua + exec 'hi plantumlParticipant' . s:fg_foreground . s:ft_bold + + + " Haskell Highlighting + exec 'hi haskellType' . s:fg_aqua . s:ft_bold + exec 'hi haskellIdentifier' . s:fg_orange . s:ft_bold + exec 'hi haskellOperators' . s:fg_pink + exec 'hi haskellWhere' . s:fg_foreground . s:ft_bold + exec 'hi haskellDelimiter' . s:fg_aqua + exec 'hi haskellImportKeywords' . s:fg_pink + exec 'hi haskellStatement' . s:fg_purple . s:ft_bold + + + " SQL/MySQL Highlighting + exec 'hi sqlStatement' . s:fg_pink . s:ft_bold + exec 'hi sqlType' . s:fg_blue . s:ft_bold + exec 'hi sqlKeyword' . s:fg_pink + exec 'hi sqlOperator' . s:fg_aqua + exec 'hi sqlSpecial' . s:fg_green . s:ft_bold + + exec 'hi mysqlVariable' . s:fg_olive . s:ft_bold + exec 'hi mysqlType' . s:fg_blue . s:ft_bold + exec 'hi mysqlKeyword' . s:fg_pink + exec 'hi mysqlOperator' . s:fg_aqua + exec 'hi mysqlSpecial' . s:fg_green . s:ft_bold + + + " Octave/MATLAB Highlighting + exec 'hi octaveVariable' . s:fg_foreground + exec 'hi octaveDelimiter' . s:fg_pink + exec 'hi octaveQueryVar' . s:fg_foreground + exec 'hi octaveSemicolon' . s:fg_purple + exec 'hi octaveFunction' . s:fg_navy + exec 'hi octaveSetVar' . s:fg_blue + exec 'hi octaveUserVar' . s:fg_foreground + exec 'hi octaveArithmeticOperator' . s:fg_aqua + exec 'hi octaveBeginKeyword' . s:fg_purple . s:ft_bold + exec 'hi octaveElseKeyword' . s:fg_purple . s:ft_bold + exec 'hi octaveEndKeyword' . s:fg_purple . s:ft_bold + exec 'hi octaveStatement' . s:fg_pink + + " Ruby Highlighting + exec 'hi rubyModule' . s:fg_navy . s:ft_bold + exec 'hi rubyClass' . s:fg_pink . s:ft_bold + exec 'hi rubyPseudoVariable' . s:fg_comment . s:ft_bold + exec 'hi rubyKeyword' . s:fg_pink + exec 'hi rubyInstanceVariable' . s:fg_purple + exec 'hi rubyFunction' . s:fg_foreground . s:ft_bold + exec 'hi rubyDefine' . s:fg_pink + exec 'hi rubySymbol' . s:fg_aqua + exec 'hi rubyConstant' . s:fg_blue + exec 'hi rubyAccess' . s:fg_navy + exec 'hi rubyAttribute' . s:fg_green + exec 'hi rubyInclude' . s:fg_red + exec 'hi rubyLocalVariableOrMethod' . s:fg_orange + exec 'hi rubyCurlyBlock' . s:fg_foreground + exec 'hi rubyCurlyBlockDelimiter' . s:fg_aqua + exec 'hi rubyArrayDelimiter' . s:fg_aqua + exec 'hi rubyStringDelimiter' . s:fg_olive + exec 'hi rubyInterpolationDelimiter' . s:fg_orange + exec 'hi rubyConditional' . s:fg_purple . s:ft_bold + exec 'hi rubyRepeat' . s:fg_purple . s:ft_bold + exec 'hi rubyControl' . s:fg_purple . s:ft_bold + exec 'hi rubyException' . s:fg_purple . s:ft_bold + exec 'hi rubyExceptional' . s:fg_purple . s:ft_bold + exec 'hi rubyBoolean' . s:fg_green . s:ft_bold + + " Fortran Highlighting + exec 'hi fortranUnitHeader' . s:fg_blue . s:ft_bold + exec 'hi fortranIntrinsic' . s:fg_blue . s:bg_background . s:ft_none + exec 'hi fortranType' . s:fg_pink . s:ft_bold + exec 'hi fortranTypeOb' . s:fg_pink . s:ft_bold + exec 'hi fortranStructure' . s:fg_aqua + exec 'hi fortranStorageClass' . s:fg_navy . s:ft_bold + exec 'hi fortranStorageClassR' . s:fg_navy . s:ft_bold + exec 'hi fortranKeyword' . s:fg_pink + exec 'hi fortranReadWrite' . s:fg_aqua . s:ft_bold + exec 'hi fortranIO' . s:fg_navy + exec 'hi fortranOperator' . s:fg_aqua . s:ft_bold + exec 'hi fortranCall' . s:fg_aqua . s:ft_bold + exec 'hi fortranContinueMark' . s:fg_green + + " ALGOL Highlighting (Plugin: https://github.com/sterpe/vim-algol68) + exec 'hi algol68Statement' . s:fg_blue . s:ft_bold + exec 'hi algol68Operator' . s:fg_aqua . s:ft_bold + exec 'hi algol68PreProc' . s:fg_green + exec 'hi algol68Function' . s:fg_blue + + " R Highlighting + exec 'hi rType' . s:fg_blue + exec 'hi rArrow' . s:fg_pink + exec 'hi rDollar' . s:fg_blue + + " XXD Highlighting + exec 'hi xxdAddress' . s:fg_navy + exec 'hi xxdSep' . s:fg_pink + exec 'hi xxdAscii' . s:fg_pink + exec 'hi xxdDot' . s:fg_aqua + + " PHP Highlighting + exec 'hi phpIdentifier' . s:fg_foreground + exec 'hi phpVarSelector' . s:fg_pink + exec 'hi phpKeyword' . s:fg_blue + exec 'hi phpRepeat' . s:fg_purple . s:ft_bold + exec 'hi phpConditional' . s:fg_purple . s:ft_bold + exec 'hi phpStatement' . s:fg_pink + exec 'hi phpAssignByRef' . s:fg_aqua . s:ft_bold + exec 'hi phpSpecialFunction' . s:fg_blue + exec 'hi phpFunctions' . s:fg_blue + exec 'hi phpComparison' . s:fg_aqua + exec 'hi phpBackslashSequences' . s:fg_olive . s:ft_bold + exec 'hi phpMemberSelector' . s:fg_blue + exec 'hi phpStorageClass' . s:fg_purple . s:ft_bold + exec 'hi phpDefine' . s:fg_navy + exec 'hi phpIntVar' . s:fg_navy . s:ft_bold + + " Perl Highlighting + exec 'hi perlFiledescRead' . s:fg_green + exec 'hi perlMatchStartEnd' . s:fg_pink + exec 'hi perlStatementFlow' . s:fg_pink + exec 'hi perlStatementStorage' . s:fg_pink + exec 'hi perlFunction' . s:fg_pink . s:ft_bold + exec 'hi perlMethod' . s:fg_foreground + exec 'hi perlStatementFiledesc' . s:fg_orange + exec 'hi perlVarPlain' . s:fg_navy + exec 'hi perlSharpBang' . s:fg_comment + exec 'hi perlStatementInclude' . s:fg_aqua . s:ft_bold + exec 'hi perlStatementScalar' . s:fg_purple + exec 'hi perlSubName' . s:fg_aqua . s:ft_bold + exec 'hi perlSpecialString' . s:fg_olive . s:ft_bold + + " Pascal Highlighting + exec 'hi pascalType' . s:fg_pink . s:ft_bold + exec 'hi pascalStatement' . s:fg_blue . s:ft_bold + exec 'hi pascalPredefined' . s:fg_pink + exec 'hi pascalFunction' . s:fg_foreground + exec 'hi pascalStruct' . s:fg_navy . s:ft_bold + exec 'hi pascalOperator' . s:fg_aqua . s:ft_bold + exec 'hi pascalPreProc' . s:fg_green + exec 'hi pascalAcces' . s:fg_navy . s:ft_bold + + " Lua Highlighting + exec 'hi luaFunc' . s:fg_foreground + exec 'hi luaIn' . s:fg_blue . s:ft_bold + exec 'hi luaFunction' . s:fg_pink + exec 'hi luaStatement' . s:fg_blue + exec 'hi luaRepeat' . s:fg_blue . s:ft_bold + exec 'hi luaCondStart' . s:fg_purple . s:ft_bold + exec 'hi luaTable' . s:fg_aqua . s:ft_bold + exec 'hi luaConstant' . s:fg_green . s:ft_bold + exec 'hi luaElse' . s:fg_purple . s:ft_bold + exec 'hi luaCondElseif' . s:fg_purple . s:ft_bold + exec 'hi luaCond' . s:fg_purple . s:ft_bold + exec 'hi luaCondEnd' . s:fg_purple + + " Clojure highlighting: + exec 'hi clojureConstant' . s:fg_blue + exec 'hi clojureBoolean' . s:fg_orange + exec 'hi clojureCharacter' . s:fg_olive + exec 'hi clojureKeyword' . s:fg_pink + exec 'hi clojureNumber' . s:fg_orange + exec 'hi clojureString' . s:fg_olive + exec 'hi clojureRegexp' . s:fg_purple + exec 'hi clojureRegexpEscape' . s:fg_pink + exec 'hi clojureParen' . s:fg_aqua + exec 'hi clojureVariable' . s:fg_olive + exec 'hi clojureCond' . s:fg_blue + exec 'hi clojureDefine' . s:fg_blue . s:ft_bold + exec 'hi clojureException' . s:fg_red + exec 'hi clojureFunc' . s:fg_navy + exec 'hi clojureMacro' . s:fg_blue + exec 'hi clojureRepeat' . s:fg_blue + exec 'hi clojureSpecial' . s:fg_blue . s:ft_bold + exec 'hi clojureQuote' . s:fg_blue + exec 'hi clojureUnquote' . s:fg_blue + exec 'hi clojureMeta' . s:fg_blue + exec 'hi clojureDeref' . s:fg_blue + exec 'hi clojureAnonArg' . s:fg_blue + exec 'hi clojureRepeat' . s:fg_blue + exec 'hi clojureDispatch' . s:fg_aqua + + " Dockerfile Highlighting + " @target https://github.com/docker/docker/tree/master/contrib/syntax/vim + exec 'hi dockerfileKeyword' . s:fg_blue + exec 'hi shDerefVar' . s:fg_purple . s:ft_bold + exec 'hi shOperator' . s:fg_aqua + exec 'hi shOption' . s:fg_navy + exec 'hi shLine' . s:fg_foreground + exec 'hi shWrapLineOperator' . s:fg_pink + + " NGINX Highlighting + " @target https://github.com/evanmiller/nginx-vim-syntax + exec 'hi ngxDirectiveBlock' . s:fg_pink . s:ft_bold + exec 'hi ngxDirective' . s:fg_blue . s:ft_none + exec 'hi ngxDirectiveImportant' . s:fg_blue . s:ft_bold + exec 'hi ngxString' . s:fg_olive + exec 'hi ngxVariableString' . s:fg_purple + exec 'hi ngxVariable' . s:fg_purple . s:ft_none + + " Yaml Highlighting + exec 'hi yamlBlockMappingKey' . s:fg_blue + exec 'hi yamlKeyValueDelimiter' . s:fg_pink + exec 'hi yamlBlockCollectionItemStart' . s:fg_pink + + " Qt QML Highlighting + exec 'hi qmlObjectLiteralType' . s:fg_pink + exec 'hi qmlReserved' . s:fg_purple + exec 'hi qmlBindingProperty' . s:fg_navy + exec 'hi qmlType' . s:fg_navy + + " Dosini Highlighting + exec 'hi dosiniHeader' . s:fg_pink + exec 'hi dosiniLabel' . s:fg_blue + + " Mail highlighting + exec 'hi mailHeaderKey' . s:fg_blue + exec 'hi mailHeaderEmail' . s:fg_purple + exec 'hi mailSubject' . s:fg_pink + exec 'hi mailHeader' . s:fg_comment + exec 'hi mailURL' . s:fg_aqua + exec 'hi mailEmail' . s:fg_purple + exec 'hi mailQuoted1' . s:fg_olive + exec 'hi mailQuoted2' . s:fg_navy + + " XML Highlighting + exec 'hi xmlProcessingDelim' . s:fg_pink + exec 'hi xmlString' . s:fg_olive + exec 'hi xmlEqual' . s:fg_orange + exec 'hi xmlAttrib' . s:fg_navy + exec 'hi xmlAttribPunct' . s:fg_pink + exec 'hi xmlTag' . s:fg_blue + exec 'hi xmlTagName' . s:fg_blue + exec 'hi xmlEndTag' . s:fg_blue + exec 'hi xmlNamespace' . s:fg_orange + + " Exlixir Highlighting + " @target https://github.com/elixir-lang/vim-elixir + exec 'hi elixirAlias' . s:fg_blue . s:ft_bold + exec 'hi elixirAtom' . s:fg_navy + exec 'hi elixirVariable' . s:fg_navy + exec 'hi elixirUnusedVariable' . s:fg_foreground . s:ft_bold + exec 'hi elixirInclude' . s:fg_purple + exec 'hi elixirStringDelimiter' . s:fg_olive + exec 'hi elixirKeyword' . s:fg_purple . s:ft_bold + exec 'hi elixirFunctionDeclaration' . s:fg_aqua . s:ft_bold + exec 'hi elixirBlockDefinition' . s:fg_pink + exec 'hi elixirDefine' . s:fg_pink + exec 'hi elixirStructDefine' . s:fg_pink + exec 'hi elixirPrivateDefine' . s:fg_pink + exec 'hi elixirModuleDefine' . s:fg_pink + exec 'hi elixirProtocolDefine' . s:fg_pink + exec 'hi elixirImplDefine' . s:fg_pink + exec 'hi elixirModuleDeclaration' . s:fg_aqua . s:ft_bold + exec 'hi elixirDocString' . s:fg_olive + exec 'hi elixirDocTest' . s:fg_green . s:ft_bold + + " Erlang Highlighting + exec 'hi erlangBIF' . s:fg_purple . s:ft_bold + exec 'hi erlangBracket' . s:fg_pink + exec 'hi erlangLocalFuncCall' . s:fg_foreground + exec 'hi erlangVariable' . s:fg_foreground + exec 'hi erlangAtom' . s:fg_navy + exec 'hi erlangAttribute' . s:fg_blue . s:ft_bold + exec 'hi erlangRecordDef' . s:fg_blue . s:ft_bold + exec 'hi erlangRecord' . s:fg_blue + exec 'hi erlangRightArrow' . s:fg_blue . s:ft_bold + exec 'hi erlangStringModifier' . s:fg_olive . s:ft_bold + exec 'hi erlangInclude' . s:fg_blue . s:ft_bold + exec 'hi erlangKeyword' . s:fg_pink + exec 'hi erlangGlobalFuncCall' . s:fg_foreground + + " Cucumber Highlighting + exec 'hi cucumberFeature' . s:fg_blue . s:ft_bold + exec 'hi cucumberBackground' . s:fg_pink . s:ft_bold + exec 'hi cucumberScenario' . s:fg_pink . s:ft_bold + exec 'hi cucumberGiven' . s:fg_orange + exec 'hi cucumberGivenAnd' . s:fg_blue + exec 'hi cucumberThen' . s:fg_orange + exec 'hi cucumberThenAnd' . s:fg_blue + exec 'hi cucumberWhen' . s:fg_purple . s:ft_bold + exec 'hi cucumberScenarioOutline' . s:fg_pink . s:ft_bold + exec 'hi cucumberExamples' . s:fg_aqua + exec 'hi cucumberTags' . s:fg_aqua + exec 'hi cucumberPlaceholder' . s:fg_aqua + + " Ada Highlighting + exec 'hi adaInc' . s:fg_aqua . s:ft_bold + exec 'hi adaSpecial' . s:fg_aqua . s:ft_bold + exec 'hi adaKeyword' . s:fg_pink + exec 'hi adaBegin' . s:fg_pink + exec 'hi adaEnd' . s:fg_pink + exec 'hi adaTypedef' . s:fg_navy . s:ft_bold + exec 'hi adaAssignment' . s:fg_aqua . s:ft_bold + exec 'hi adaAttribute' . s:fg_green + + " COBOL Highlighting + exec 'hi cobolMarker' . s:fg_comment . s:bg_cursorline + exec 'hi cobolLine' . s:fg_foreground + exec 'hi cobolReserved' . s:fg_blue + exec 'hi cobolDivision' . s:fg_pink . s:ft_bold + exec 'hi cobolDivisionName' . s:fg_pink . s:ft_bold + exec 'hi cobolSection' . s:fg_navy . s:ft_bold + exec 'hi cobolSectionName' . s:fg_navy . s:ft_bold + exec 'hi cobolParagraph' . s:fg_purple + exec 'hi cobolParagraphName' . s:fg_purple + exec 'hi cobolDeclA' . s:fg_purple + exec 'hi cobolDecl' . s:fg_green + exec 'hi cobolCALLs' . s:fg_aqua . s:ft_bold + exec 'hi cobolEXECs' . s:fg_aqua . s:ft_bold + + " GNU sed highlighting + exec 'hi sedST' . s:fg_purple . s:ft_bold + exec 'hi sedFlag' . s:fg_purple . s:ft_bold + exec 'hi sedRegexp47' . s:fg_pink + exec 'hi sedRegexpMeta' . s:fg_blue . s:ft_bold + exec 'hi sedReplacement47' . s:fg_olive + exec 'hi sedReplaceMeta' . s:fg_orange . s:ft_bold + exec 'hi sedAddress' . s:fg_pink + exec 'hi sedFunction' . s:fg_aqua . s:ft_bold + exec 'hi sedBranch' . s:fg_green . s:ft_bold + exec 'hi sedLabel' . s:fg_green . s:ft_bold + + " GNU awk highlighting + exec 'hi awkPatterns' . s:fg_pink . s:ft_bold + exec 'hi awkSearch' . s:fg_pink + exec 'hi awkRegExp' . s:fg_blue . s:ft_bold + exec 'hi awkCharClass' . s:fg_blue . s:ft_bold + exec 'hi awkFieldVars' . s:fg_green . s:ft_bold + exec 'hi awkStatement' . s:fg_blue . s:ft_bold + exec 'hi awkFunction' . s:fg_blue + exec 'hi awkVariables' . s:fg_green . s:ft_bold + exec 'hi awkArrayElement' . s:fg_orange + exec 'hi awkOperator' . s:fg_foreground + exec 'hi awkBoolLogic' . s:fg_foreground + exec 'hi awkExpression' . s:fg_foreground + exec 'hi awkSpecialPrintf' . s:fg_olive . s:ft_bold + + " Elm highlighting + exec 'hi elmImport' . s:fg_navy + exec 'hi elmAlias' . s:fg_aqua + exec 'hi elmType' . s:fg_pink + exec 'hi elmOperator' . s:fg_aqua . s:ft_bold + exec 'hi elmBraces' . s:fg_aqua . s:ft_bold + exec 'hi elmTypedef' . s:fg_blue . s:ft_bold + exec 'hi elmTopLevelDecl' . s:fg_green . s:ft_bold + + " Purescript highlighting + exec 'hi purescriptModuleKeyword' . s:fg_navy + exec 'hi purescriptImportKeyword' . s:fg_navy + exec 'hi purescriptModuleName' . s:fg_pink + exec 'hi purescriptOperator' . s:fg_aqua . s:ft_bold + exec 'hi purescriptType' . s:fg_pink + exec 'hi purescriptTypeVar' . s:fg_navy + exec 'hi purescriptStructure' . s:fg_blue . s:ft_bold + exec 'hi purescriptLet' . s:fg_blue . s:ft_bold + exec 'hi purescriptFunction' . s:fg_green . s:ft_bold + exec 'hi purescriptDelimiter' . s:fg_aqua . s:ft_bold + exec 'hi purescriptStatement' . s:fg_purple . s:ft_bold + exec 'hi purescriptConstructor' . s:fg_pink + exec 'hi purescriptWhere' . s:fg_purple . s:ft_bold + + " F# highlighting + exec 'hi fsharpTypeName' . s:fg_pink + exec 'hi fsharpCoreClass' . s:fg_pink + exec 'hi fsharpType' . s:fg_pink + exec 'hi fsharpKeyword' . s:fg_blue . s:ft_bold + exec 'hi fsharpOperator' . s:fg_aqua . s:ft_bold + exec 'hi fsharpBoolean' . s:fg_green . s:ft_bold + exec 'hi fsharpFormat' . s:fg_foreground + exec 'hi fsharpLinq' . s:fg_blue + exec 'hi fsharpKeyChar' . s:fg_aqua . s:ft_bold + exec 'hi fsharpOption' . s:fg_orange + exec 'hi fsharpCoreMethod' . s:fg_purple + exec 'hi fsharpAttrib' . s:fg_orange + exec 'hi fsharpModifier' . s:fg_aqua + exec 'hi fsharpOpen' . s:fg_red + + " ASN.1 highlighting + exec 'hi asnExternal' . s:fg_green . s:ft_bold + exec 'hi asnTagModifier' . s:fg_purple + exec 'hi asnBraces' . s:fg_aqua . s:ft_bold + exec 'hi asnDefinition' . s:fg_foreground + exec 'hi asnStructure' . s:fg_blue + exec 'hi asnType' . s:fg_pink + exec 'hi asnTypeInfo' . s:fg_aqua . s:ft_bold + exec 'hi asnFieldOption' . s:fg_purple + + " }}} + + " Plugin: Netrw + exec 'hi netrwVersion' . s:fg_red + exec 'hi netrwList' . s:fg_pink + exec 'hi netrwHidePat' . s:fg_olive + exec 'hi netrwQuickHelp' . s:fg_blue + exec 'hi netrwHelpCmd' . s:fg_blue + exec 'hi netrwDir' . s:fg_aqua . s:ft_bold + exec 'hi netrwClassify' . s:fg_pink + exec 'hi netrwExe' . s:fg_green + exec 'hi netrwSuffixes' . s:fg_comment + exec 'hi netrwTreeBar' . s:fg_linenumber_fg + + " Plugin: NERDTree + exec 'hi NERDTreeUp' . s:fg_comment + exec 'hi NERDTreeHelpCommand' . s:fg_pink + exec 'hi NERDTreeHelpTitle' . s:fg_blue . s:ft_bold + exec 'hi NERDTreeHelpKey' . s:fg_pink + exec 'hi NERDTreeHelp' . s:fg_foreground + exec 'hi NERDTreeToggleOff' . s:fg_red + exec 'hi NERDTreeToggleOn' . s:fg_green + exec 'hi NERDTreeDir' . s:fg_blue . s:ft_bold + exec 'hi NERDTreeDirSlash' . s:fg_pink + exec 'hi NERDTreeFile' . s:fg_foreground + exec 'hi NERDTreeExecFile' . s:fg_green + exec 'hi NERDTreeOpenable' . s:fg_aqua . s:ft_bold + exec 'hi NERDTreeClosable' . s:fg_pink + + " Plugin: Tagbar + exec 'hi TagbarHelpTitle' . s:fg_blue . s:ft_bold + exec 'hi TagbarHelp' . s:fg_foreground + exec 'hi TagbarKind' . s:fg_pink + exec 'hi TagbarSignature' . s:fg_aqua + + " Plugin: Vimdiff + exec 'hi DiffAdd' . s:fg_diffadd_fg . s:bg_diffadd_bg . s:ft_none + exec 'hi DiffChange' . s:fg_diffchange_fg . s:bg_diffchange_bg . s:ft_none + exec 'hi DiffDelete' . s:fg_diffdelete_fg . s:bg_diffdelete_bg . s:ft_none + exec 'hi DiffText' . s:fg_difftext_fg . s:bg_difftext_bg . s:ft_none + + " Plugin: AGit + exec 'hi agitHead' . s:fg_green . s:ft_bold + exec 'hi agitHeader' . s:fg_olive + exec 'hi agitStatAdded' . s:fg_diffadd_fg + exec 'hi agitStatRemoved' . s:fg_diffdelete_fg + exec 'hi agitDiffAdd' . s:fg_diffadd_fg + exec 'hi agitDiffRemove' . s:fg_diffdelete_fg + exec 'hi agitDiffHeader' . s:fg_pink + exec 'hi agitDiff' . s:fg_foreground + exec 'hi agitDiffIndex' . s:fg_purple + exec 'hi agitDiffFileName' . s:fg_aqua + exec 'hi agitLog' . s:fg_foreground + exec 'hi agitAuthorMark' . s:fg_olive + exec 'hi agitDateMark' . s:fg_comment + exec 'hi agitHeaderLabel' . s:fg_aqua + exec 'hi agitDate' . s:fg_aqua + exec 'hi agitTree' . s:fg_pink + exec 'hi agitRef' . s:fg_blue . s:ft_bold + exec 'hi agitRemote' . s:fg_purple . s:ft_bold + exec 'hi agitTag' . s:fg_orange . s:ft_bold + + " Plugin: Spell Checking + exec 'hi SpellBad' . s:fg_foreground . s:bg_spellbad + exec 'hi SpellCap' . s:fg_foreground . s:bg_spellcap + exec 'hi SpellRare' . s:fg_foreground . s:bg_spellrare + exec 'hi SpellLocal' . s:fg_foreground . s:bg_spelllocal + + " Plugin: Indent Guides + exec 'hi IndentGuidesOdd' . s:bg_background + exec 'hi IndentGuidesEven' . s:bg_cursorline + + " Plugin: Startify + exec 'hi StartifyFile' . s:fg_blue . s:ft_bold + exec 'hi StartifyNumber' . s:fg_orange + exec 'hi StartifyHeader' . s:fg_comment + exec 'hi StartifySection' . s:fg_pink + exec 'hi StartifyPath' . s:fg_foreground + exec 'hi StartifySlash' . s:fg_navy + exec 'hi StartifyBracket' . s:fg_aqua + exec 'hi StartifySpecial' . s:fg_aqua + + " Git commit message + exec 'hi gitcommitSummary' . s:fg_blue + exec 'hi gitcommitHeader' . s:fg_green . s:ft_bold + exec 'hi gitcommitSelectedType' . s:fg_blue + exec 'hi gitcommitSelectedFile' . s:fg_pink + exec 'hi gitcommitUntrackedFile' . s:fg_diffdelete_fg + exec 'hi gitcommitBranch' . s:fg_aqua . s:ft_bold + exec 'hi gitcommitDiscardedType' . s:fg_diffdelete_fg + exec 'hi gitcommitDiff' . s:fg_comment + + exec 'hi diffFile' . s:fg_blue + exec 'hi diffSubname' . s:fg_comment + exec 'hi diffIndexLine' . s:fg_comment + exec 'hi diffAdded' . s:fg_diffadd_fg + exec 'hi diffRemoved' . s:fg_diffdelete_fg + exec 'hi diffLine' . s:fg_orange + exec 'hi diffBDiffer' . s:fg_orange + exec 'hi diffNewFile' . s:fg_comment + +endfun +" }}} + +" ================================== MISC ===================================== +" Command to show theme information {{{ +fun! g:PaperColor() + echom 'PaperColor Theme Framework' + echom ' version ' . s:version + echom ' by Nikyle Nguyen et al.' + echom ' at https://github.com/NLKNguyen/papercolor-theme/' + echom ' ' + echom 'Current theme: ' . s:theme_name + echom ' ' . s:selected_theme['description'] + echom ' by ' . s:selected_theme['maintainer'] + echom ' at ' . s:selected_theme['source'] + + " TODO: add diff display for theme color names between 'default' and current + " theme if it is a custom theme, i.e. child theme. +endfun + +" @brief command alias for g:PaperColor() +command! -nargs=0 PaperColor :call g:PaperColor() +" }}} + +" =============================== MAIN ======================================== + +hi clear +syntax reset +let g:colors_name = "PaperColor" + +call s:acquire_theme_data() +call s:identify_color_mode() + +call s:generate_theme_option_variables() +call s:generate_language_option_variables() + +call s:set_format_attributes() +call s:set_overriding_colors() + +call s:convert_colors() +call s:set_color_variables() + +call s:apply_syntax_highlightings() + +" ============================================================================= +" Cheers! +" vim: fdm=marker ff=unix \ No newline at end of file diff --git a/files/nvim/colors/ayu.vim b/files/nvim/colors/ayu.vim new file mode 100644 index 0000000..585a4db --- /dev/null +++ b/files/nvim/colors/ayu.vim @@ -0,0 +1,268 @@ +" Initialisation:"{{{ +" ---------------------------------------------------------------------------- +hi clear +if exists("syntax_on") + syntax reset +endif + +let s:style = get(g:, 'ayucolor', 'dark') +let g:colors_name = "ayu" +"}}} + +" Palettes:"{{{ +" ---------------------------------------------------------------------------- + +let s:palette = {} + +let s:palette.bg = {'dark': "#0F1419", 'light': "#FAFAFA", 'mirage': "#212733"} + +let s:palette.comment = {'dark': "#5C6773", 'light': "#ABB0B6", 'mirage': "#5C6773"} +let s:palette.markup = {'dark': "#F07178", 'light': "#F07178", 'mirage': "#F07178"} +let s:palette.constant = {'dark': "#FFEE99", 'light': "#A37ACC", 'mirage': "#D4BFFF"} +let s:palette.operator = {'dark': "#E7C547", 'light': "#E7C547", 'mirage': "#80D4FF"} +let s:palette.tag = {'dark': "#36A3D9", 'light': "#36A3D9", 'mirage': "#5CCFE6"} +let s:palette.regexp = {'dark': "#95E6CB", 'light': "#4CBF99", 'mirage': "#95E6CB"} +let s:palette.string = {'dark': "#B8CC52", 'light': "#86B300", 'mirage': "#BBE67E"} +let s:palette.function = {'dark': "#FFB454", 'light': "#F29718", 'mirage': "#FFD57F"} +let s:palette.special = {'dark': "#E6B673", 'light': "#E6B673", 'mirage': "#FFC44C"} +let s:palette.keyword = {'dark': "#FF7733", 'light': "#FF7733", 'mirage': "#FFAE57"} + +let s:palette.error = {'dark': "#FF3333", 'light': "#FF3333", 'mirage': "#FF3333"} +let s:palette.accent = {'dark': "#F29718", 'light': "#FF6A00", 'mirage': "#FFCC66"} +let s:palette.panel = {'dark': "#14191F", 'light': "#FFFFFF", 'mirage': "#272D38"} +let s:palette.guide = {'dark': "#2D3640", 'light': "#D9D8D7", 'mirage': "#3D4751"} +let s:palette.line = {'dark': "#151A1E", 'light': "#F3F3F3", 'mirage': "#242B38"} +let s:palette.selection = {'dark': "#253340", 'light': "#F0EEE4", 'mirage': "#343F4C"} +let s:palette.fg = {'dark': "#E6E1CF", 'light': "#5C6773", 'mirage': "#D9D7CE"} +let s:palette.fg_idle = {'dark': "#3E4B59", 'light': "#828C99", 'mirage': "#607080"} + +"}}} + +" Highlighting Primitives:"{{{ +" ---------------------------------------------------------------------------- + +function! s:build_prim(hi_elem, field) + let l:vname = "s:" . a:hi_elem . "_" . a:field " s:bg_gray + let l:gui_assign = "gui".a:hi_elem."=".s:palette[a:field][s:style] " guibg=... + exe "let " . l:vname . " = ' " . l:gui_assign . "'" +endfunction + +let s:bg_none = ' guibg=NONE ctermbg=NONE' +let s:fg_none = ' guifg=NONE ctermfg=NONE' +for [key_name, d_value] in items(s:palette) + call s:build_prim('bg', key_name) + call s:build_prim('fg', key_name) +endfor +" }}} + +" Formatting Options:"{{{ +" ---------------------------------------------------------------------------- +let s:none = "NONE" +let s:t_none = "NONE" +let s:n = "NONE" +let s:c = ",undercurl" +let s:r = ",reverse" +let s:s = ",standout" +let s:b = ",bold" +let s:u = ",underline" +let s:i = ",italic" + +exe "let s:fmt_none = ' gui=NONE". " cterm=NONE". " term=NONE" ."'" +exe "let s:fmt_bold = ' gui=NONE".s:b. " cterm=NONE".s:b. " term=NONE".s:b ."'" +exe "let s:fmt_bldi = ' gui=NONE".s:b. " cterm=NONE".s:b. " term=NONE".s:b ."'" +exe "let s:fmt_undr = ' gui=NONE".s:u. " cterm=NONE".s:u. " term=NONE".s:u ."'" +exe "let s:fmt_undb = ' gui=NONE".s:u.s:b. " cterm=NONE".s:u.s:b. " term=NONE".s:u.s:b."'" +exe "let s:fmt_undi = ' gui=NONE".s:u. " cterm=NONE".s:u. " term=NONE".s:u ."'" +exe "let s:fmt_curl = ' gui=NONE".s:c. " cterm=NONE".s:c. " term=NONE".s:c ."'" +exe "let s:fmt_ital = ' gui=NONE".s:i. " cterm=NONE".s:i. " term=NONE".s:i ."'" +exe "let s:fmt_stnd = ' gui=NONE".s:s. " cterm=NONE".s:s. " term=NONE".s:s ."'" +exe "let s:fmt_revr = ' gui=NONE".s:r. " cterm=NONE".s:r. " term=NONE".s:r ."'" +exe "let s:fmt_revb = ' gui=NONE".s:r.s:b. " cterm=NONE".s:r.s:b. " term=NONE".s:r.s:b."'" +"}}} + + +" Vim Highlighting: (see :help highlight-groups)"{{{ +" ---------------------------------------------------------------------------- +exe "hi! Normal" .s:fg_fg .s:bg_bg .s:fmt_none +exe "hi! ColorColumn" .s:fg_none .s:bg_line .s:fmt_none +" Conceal, Cursor, CursorIM +exe "hi! CursorColumn" .s:fg_none .s:bg_line .s:fmt_none +exe "hi! CursorLine" .s:fg_none .s:bg_line .s:fmt_none +exe "hi! CursorLineNr" .s:fg_accent .s:bg_line .s:fmt_none +exe "hi! LineNr" .s:fg_guide .s:bg_none .s:fmt_none + +exe "hi! Directory" .s:fg_fg_idle .s:bg_none .s:fmt_none +exe "hi! DiffAdd" .s:fg_string .s:bg_panel .s:fmt_none +exe "hi! DiffChange" .s:fg_tag .s:bg_panel .s:fmt_none +exe "hi! DiffText" .s:fg_fg .s:bg_panel .s:fmt_none +exe "hi! ErrorMsg" .s:fg_fg .s:bg_error .s:fmt_stnd +exe "hi! VertSplit" .s:fg_bg .s:bg_none .s:fmt_none +exe "hi! Folded" .s:fg_fg_idle .s:bg_panel .s:fmt_none +exe "hi! FoldColumn" .s:fg_none .s:bg_panel .s:fmt_none +exe "hi! SignColumn" .s:fg_none .s:bg_panel .s:fmt_none +" Incsearch" + +exe "hi! MatchParen" .s:fg_fg .s:bg_bg .s:fmt_undr +exe "hi! ModeMsg" .s:fg_string .s:bg_none .s:fmt_none +exe "hi! MoreMsg" .s:fg_string .s:bg_none .s:fmt_none +exe "hi! NonText" .s:fg_bg .s:bg_none .s:fmt_none +exe "hi! Pmenu" .s:fg_fg .s:bg_selection .s:fmt_none +exe "hi! PmenuSel" .s:fg_fg .s:bg_selection .s:fmt_revr +" PmenuSbar" +" PmenuThumb" +exe "hi! Question" .s:fg_string .s:bg_none .s:fmt_none +exe "hi! Search" .s:fg_bg .s:bg_constant .s:fmt_none +exe "hi! SpecialKey" .s:fg_selection .s:bg_none .s:fmt_none +exe "hi! SpellCap" .s:fg_tag .s:bg_none .s:fmt_undr +exe "hi! SpellLocal" .s:fg_keyword .s:bg_none .s:fmt_undr +exe "hi! SpellBad" .s:fg_error .s:bg_none .s:fmt_undr +exe "hi! SpellRare" .s:fg_regexp .s:bg_none .s:fmt_undr +exe "hi! StatusLine" .s:fg_fg .s:bg_panel .s:fmt_none +exe "hi! StatusLineNC" .s:fg_fg_idle .s:bg_panel .s:fmt_none +exe "hi! WildMenu" .s:fg_bg .s:bg_markup .s:fmt_none +exe "hi! TabLine" .s:fg_fg .s:bg_panel .s:fmt_revr +" TabLineFill" +" TabLineSel" +exe "hi! Title" .s:fg_keyword .s:bg_none .s:fmt_none +exe "hi! Visual" .s:fg_none .s:bg_selection .s:fmt_none +" VisualNos" +exe "hi! WarningMsg" .s:fg_error .s:bg_none .s:fmt_none + +" TODO LongLineWarning to use variables instead of hardcoding +hi LongLineWarning guifg=NONE guibg=#371F1C gui=underline ctermfg=NONE ctermbg=NONE cterm=underline +" WildMenu" + +"}}} + +" Generic Syntax Highlighting: (see :help group-name)"{{{ +" ---------------------------------------------------------------------------- +exe "hi! Comment" .s:fg_comment .s:bg_none .s:fmt_none + +exe "hi! Constant" .s:fg_constant .s:bg_none .s:fmt_none +exe "hi! String" .s:fg_string .s:bg_none .s:fmt_none +" Character" +" Number" +" Boolean" +" Float" + +exe "hi! Identifier" .s:fg_tag .s:bg_none .s:fmt_none +exe "hi! Function" .s:fg_function .s:bg_none .s:fmt_none + +exe "hi! Statement" .s:fg_keyword .s:bg_none .s:fmt_none +" Conditional" +" Repeat" +" Label" +exe "hi! Operator" .s:fg_operator .s:bg_none .s:fmt_none +" Keyword" +" Exception" + +exe "hi! PreProc" .s:fg_special .s:bg_none .s:fmt_none +" Include" +" Define" +" Macro" +" PreCondit" + +exe "hi! Type" .s:fg_tag .s:bg_none .s:fmt_none +" StorageClass" +exe "hi! Structure" .s:fg_special .s:bg_none .s:fmt_none +" Typedef" + +exe "hi! Special" .s:fg_special .s:bg_none .s:fmt_none +" SpecialChar" +" Tag" +" Delimiter" +" SpecialComment" +" Debug" +" +exe "hi! Underlined" .s:fg_tag .s:bg_none .s:fmt_undr + +exe "hi! Ignore" .s:fg_none .s:bg_none .s:fmt_none + +exe "hi! Error" .s:fg_fg .s:bg_error .s:fmt_none + +exe "hi! Todo" .s:fg_markup .s:bg_none .s:fmt_none + +" Quickfix window highlighting +exe "hi! qfLineNr" .s:fg_keyword .s:bg_none .s:fmt_none +" qfFileName" +" qfLineNr" +" qfError" + +exe "hi! Conceal" .s:fg_guide .s:bg_none .s:fmt_none +exe "hi! CursorLineConceal" .s:fg_guide .s:bg_line .s:fmt_none + + +" Terminal in NVIM +" --------- +if has("nvim") + let g:terminal_color_0 = s:palette.bg[s:style] + let g:terminal_color_1 = s:palette.markup[s:style] + let g:terminal_color_2 = s:palette.string[s:style] + let g:terminal_color_3 = s:palette.accent[s:style] + let g:terminal_color_4 = s:palette.tag[s:style] + let g:terminal_color_5 = s:palette.constant[s:style] + let g:terminal_color_6 = s:palette.regexp[s:style] + let g:terminal_color_7 = "#FFFFFF" + let g:terminal_color_8 = s:palette.fg_idle[s:style] + let g:terminal_color_9 = s:palette.error[s:style] + let g:terminal_color_10 = s:palette.string[s:style] + let g:terminal_color_11 = s:palette.accent[s:style] + let g:terminal_color_12 = s:palette.tag[s:style] + let g:terminal_color_13 = s:palette.constant[s:style] + let g:terminal_color_14 = s:palette.regexp[s:style] + let g:terminal_color_15 = s:palette.comment[s:style] + let g:terminal_color_background = g:terminal_color_0 + let g:terminal_color_foreground = s:palette.fg[s:style] +endif + + +" NerdTree +" --------- +exe "hi! NERDTreeOpenable" .s:fg_fg_idle .s:bg_none .s:fmt_none +exe "hi! NERDTreeClosable" .s:fg_accent .s:bg_none .s:fmt_none +" exe "hi! NERDTreeBookmarksHeader" .s:fg_pink .s:bg_none .s:fmt_none +" exe "hi! NERDTreeBookmarksLeader" .s:fg_bg .s:bg_none .s:fmt_none +" exe "hi! NERDTreeBookmarkName" .s:fg_keyword .s:bg_none .s:fmt_none +" exe "hi! NERDTreeCWD" .s:fg_pink .s:bg_none .s:fmt_none +exe "hi! NERDTreeUp" .s:fg_fg_idle .s:bg_none .s:fmt_none +exe "hi! NERDTreeDir" .s:fg_fg_idle .s:bg_none .s:fmt_none +exe "hi! NERDTreeFile" .s:fg_fg_idle .s:bg_none .s:fmt_none +exe "hi! NERDTreeDirSlash" .s:fg_guide .s:bg_none .s:fmt_none + + +" GitGutter +" --------- +exe "hi! GitGutterAdd" .s:fg_string .s:bg_none .s:fmt_none +exe "hi! GitGutterChange" .s:fg_tag .s:bg_none .s:fmt_none +exe "hi! GitGutterDelete" .s:fg_markup .s:bg_none .s:fmt_none +exe "hi! GitGutterChangeDelete" .s:fg_function .s:bg_none .s:fmt_none + +"}}} + +" Diff Syntax Highlighting:"{{{ +" ---------------------------------------------------------------------------- +" Diff +" diffOldFile +" diffNewFile +" diffFile +" diffOnly +" diffIdentical +" diffDiffer +" diffBDiffer +" diffIsA +" diffNoEOL +" diffCommon +hi! link diffRemoved Constant +" diffChanged +hi! link diffAdded String +" diffLine +" diffSubname +" diffComment + +"}}} +" +" This is needed for some reason: {{{ + +let &background = s:style + +" }}} diff --git a/files/nvim/colors/breezy.vim b/files/nvim/colors/breezy.vim new file mode 100644 index 0000000..18173a9 --- /dev/null +++ b/files/nvim/colors/breezy.vim @@ -0,0 +1,87 @@ +highlight clear +if exists('syntax_on') + syntax reset +endif + +let g:colors_name = 'breezy' + + + +" Background Font color +hi LineNr guibg=#31363b guifg=#7a7c7d gui=NONE +hi FoldColumn guibg=#31363b guifg=#7a7c7d gui=NONE +hi Folded guibg=#31363b guifg=#7a7c7d gui=NONE +hi MatchParen guibg=#8e44ad guifg=#cfcfc2 gui=NONE +hi signColumn guibg=#31363b guifg=#7a7c7d gui=NONE + +hi Comment guibg=NONE guifg=#7a7c7d gui=NONE +hi Conceal guibg=NONE guifg=#cfcfc2 gui=NONE +hi Constant guibg=NONE guifg=#f67400 gui=NONE +hi Boolean guibg=NONE guifg=#27aeae gui=NONE +hi Debug guibg=NONE guifg=#a5a6a8 gui=bold +hi Error guibg=#4d1f24 guifg=#95da4c gui=bold +hi Identifier guibg=NONE guifg=#9b44ad gui=NONE +hi Ignore guibg=NONE guifg=NONE gui=NONE +hi Operator guibg=NONE guifg=NONE gui=bold +hi PreProc guibg=NONE guifg=#27ae85 gui=NONE +hi Special guibg=NONE guifg=#3daee9 gui=NONE +hi SpecialComment guibg=NONE guifg=#a5a6a8 gui=NONE +hi Statement guibg=NONE guifg=#fdbc4b gui=bold +hi String guibg=NONE guifg=#27ae60 gui=NONE +hi Todo guibg=#451e1a guifg=#ca9219 gui=NONE +hi Type guibg=NONE guifg=#2980b9 gui=NONE +hi Underlined guibg=NONE guifg=#27ae60 gui=underline + +hi NonText guibg=NONE guifg=#7a7c7d gui=NONE + +hi Pmenu guibg=#31363b guifg=#cfcfc2 gui=NONE +hi PmenuSbar guibg=#606365 guifg=NONE gui=NONE +hi PmenuSel guibg=#2d5c76 guifg=#cfcfc2 gui=NONE +hi PmenuThumb guibg=#a8a9ab guifg=#a8a9ab gui=NONE + +hi ErrorMsg guibg=#4d1f24 guifg=#95da4c gui=bold +hi ModeMsg guibg=NONE guifg=NONE gui=bold +hi MoreMsg guibg=NONE guifg=#fdbc4b gui=bold +hi Question guibg=NONE guifg=#fdbc4b gui=bold +hi WarningMsg guibg=NONE guifg=#ffffff gui=NONE + +hi TabLine guibg=#31363b guifg=#7a7c7d gui=NONE +hi TabLineFill guibg=#31363b guifg=#31363b gui=NONE +hi TabLineSel guibg=#2d5c76 guifg=NONE gui=NONE + +hi Cursor guibg=NONE guifg=NONE gui=reverse +hi CursorColumn guibg=#2a2e32 guifg=NONE gui=NONE +hi CursorLineNr guibg=#31363b guifg=#a5a6a8 gui=NONE +hi CursorLine guibg=#2a2e32 guifg=NONE gui=NONE cterm=NONE + +hi helpLeadBlank guibg=NONE guifg=NONE gui=NONE +hi helpNormal guibg=NONE guifg=NONE gui=NONE + +hi StatusLine guibg=#7a7c7d guifg=#2a2e32 gui=NONE +hi StatusLineNC guibg=#7a7c7d guifg=#2a2e32 gui=NONE + +hi Visual guibg=#2d5c76 guifg=NONE gui=NONE +hi VisualNOS guibg=NONE guifg=NONE gui=underline + +hi VertSplit guibg=#2d5c76 guifg=#2d5c76 gui=NONE +hi WildMenu guibg=NONE guifg=NONE gui=NONE + +hi SpecialKey guibg=NONE guifg=#7a7c7d gui=NONE +hi Title guibg=NONE guifg=#ffffff gui=NONE + +hi DiffAdd guibg=#123723 guifg=NONE gui=NONE +hi DiffChange guibg=#424218 guifg=NONE gui=NONE +hi DiffDelete guibg=#4d1f24 guifg=NONE gui=NONE +hi DiffText guibg=NONE guifg=NONE gui=reverse + +hi IncSearch guibg=#808021 guifg=#cfcfc2 gui=NONE +hi Search guibg=#218058 guifg=#cfcfc2 gui=NONE + +hi Directory guibg=NONE guifg=#ffffff gui=NONE + +hi SpellBad guibg=NONE guifg=NONE gui=undercurl +hi SpellCap guibg=NONE guifg=NONE gui=undercurl +hi SpellLocal guibg=NONE guifg=NONE gui=undercurl +hi SpellRare guibg=NONE guifg=NONE gui=undercurl + +hi ColorColumn guibg=#2a2e32 guifg=NONE gui=NONE diff --git a/files/nvim/colors/solarized8_low.vim b/files/nvim/colors/solarized8_low.vim new file mode 100644 index 0000000..c369625 --- /dev/null +++ b/files/nvim/colors/solarized8_low.vim @@ -0,0 +1,3004 @@ +" Name: Solarized 8 Low Contrast +" Description: Precision colors for machines and people +" Author: Ethan Schoonover +" Maintainer: Lifepillar +" Website: https://github.com/lifepillar/vim-solarized8 +" License: OSI approved MIT license +" Last Updated: Wed Jun 26 19:26:06 2019 + +" Generated by Colortemplate v2.0.0b3 + +hi clear +if exists('syntax_on') + syntax reset +endif + +let g:colors_name = 'solarized8_low' + +let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co > 1 ? &t_Co : 2 +let s:italics = (((&t_ZH != '' && &t_ZH != '') || has('gui_running')) && !has('iOS')) || has('nvim') + +let s:t_Co = get(g:, 'solarized_use16', 0) ? 16 : s:t_Co +let s:italics = s:italics && get(g:, 'solarized_italics', 1) +let s:termtrans = get(g:, 'solarized_termtrans', 0) && !has('gui_running') +hi! link Boolean Constant +hi! link Character Constant +hi! link Conditional Statement +hi! link Debug Special +hi! link Define PreProc +hi! link Delimiter Special +hi! link Exception Statement +hi! link Float Constant +hi! link Function Identifier +hi! link Include PreProc +hi! link Keyword Statement +hi! link Label Statement +hi! link Macro PreProc +hi! link Number Constant +hi! link Operator Statement +hi! link PreCondit PreProc +hi! link QuickFixLine Search +hi! link Repeat Statement +hi! link SpecialChar Special +hi! link SpecialComment Special +hi! link StatusLineTerm StatusLine +hi! link StatusLineTermNC StatusLineNC +hi! link StorageClass Type +hi! link String Constant +hi! link Structure Type +hi! link Tag Special +hi! link Typedef Type +hi! link lCursor Cursor + +if (has('termguicolors') && &termguicolors) || has('gui_running') + if &background ==# 'dark' + let g:terminal_ansi_colors = ['#073642', '#dc322f', '#859900', '#b58900', + \ '#268bd2', '#d33682', '#2aa198', '#eee8d5', '#002b36', '#cb4b16', + \ '#586e75', '#657b83', '#839496', '#6c71c4', '#93a1a1', '#fdf6e3'] + if has('nvim') + let g:terminal_color_0 = '#073642' + let g:terminal_color_1 = '#dc322f' + let g:terminal_color_2 = '#859900' + let g:terminal_color_3 = '#b58900' + let g:terminal_color_4 = '#268bd2' + let g:terminal_color_5 = '#d33682' + let g:terminal_color_6 = '#2aa198' + let g:terminal_color_7 = '#eee8d5' + let g:terminal_color_8 = '#002b36' + let g:terminal_color_9 = '#cb4b16' + let g:terminal_color_10 = '#586e75' + let g:terminal_color_11 = '#657b83' + let g:terminal_color_12 = '#839496' + let g:terminal_color_13 = '#6c71c4' + let g:terminal_color_14 = '#93a1a1' + let g:terminal_color_15 = '#fdf6e3' + endif + if s:termtrans + hi Normal guifg=#839496 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi CursorLine guifg=NONE guibg=NONE guisp=#93a1a1 gui=underline ctermfg=NONE ctermbg=NONE cterm=underline + hi FoldColumn guifg=fg guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi Folded guifg=fg guibg=NONE guisp=#002b36 gui=bold cterm=bold + hi LineNr guifg=#586e75 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi Terminal guifg=fg guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi ToolbarButton guifg=#93a1a1 guibg=NONE guisp=NONE gui=bold cterm=bold + hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + else + hi Normal guifg=#839496 guibg=#073642 guisp=NONE gui=NONE cterm=NONE + hi CursorLine guifg=NONE guibg=#073642 guisp=NONE gui=NONE cterm=NONE + hi FoldColumn guifg=#839496 guibg=#073642 guisp=NONE gui=NONE cterm=NONE + hi Folded guifg=#839496 guibg=#073642 guisp=#002b36 gui=bold cterm=bold + hi LineNr guifg=#586e75 guibg=#073642 guisp=NONE gui=NONE cterm=NONE + hi Terminal guifg=fg guibg=#073642 guisp=NONE gui=NONE cterm=NONE + hi ToolbarButton guifg=#93a1a1 guibg=#073642 guisp=NONE gui=bold cterm=bold + hi ToolbarLine guifg=NONE guibg=#073642 guisp=NONE gui=NONE cterm=NONE + endif + if get(g:, 'solarized_visibility', '') ==# 'high' + hi CursorLineNr guifg=#cb4b16 guibg=#073642 guisp=NONE gui=bold cterm=bold + hi NonText guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold + hi SpecialKey guifg=#cb4b16 guibg=NONE guisp=NONE gui=reverse cterm=reverse + hi SpellBad guifg=#6c71c4 guibg=#eee8d5 guisp=#dc322f gui=reverse,undercurl cterm=reverse,undercurl + hi SpellCap guifg=#6c71c4 guibg=#eee8d5 guisp=#dc322f gui=reverse,undercurl cterm=reverse,undercurl + hi SpellLocal guifg=#b58900 guibg=#eee8d5 guisp=#dc322f gui=reverse,undercurl cterm=reverse,undercurl + hi SpellRare guifg=#2aa198 guibg=#eee8d5 guisp=#dc322f gui=reverse,undercurl cterm=reverse,undercurl + hi Title guifg=#b58900 guibg=NONE guisp=NONE gui=bold cterm=bold + elseif get(g:, 'solarized_visibility', '') ==# 'low' + hi CursorLineNr guifg=#586e75 guibg=#073642 guisp=NONE gui=bold cterm=bold + hi NonText guifg=#073642 guibg=NONE guisp=NONE gui=bold cterm=bold + hi SpecialKey guifg=#073642 guibg=NONE guisp=NONE gui=reverse cterm=reverse + hi SpellBad guifg=#6c71c4 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=undercurl + hi SpellCap guifg=#6c71c4 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=undercurl + hi SpellLocal guifg=#b58900 guibg=NONE guisp=#b58900 gui=undercurl cterm=undercurl + hi SpellRare guifg=#2aa198 guibg=NONE guisp=#2aa198 gui=undercurl cterm=undercurl + hi Title guifg=#586e75 guibg=NONE guisp=NONE gui=bold cterm=bold + else + hi CursorLineNr guifg=#839496 guibg=#073642 guisp=NONE gui=bold cterm=bold + hi NonText guifg=#657b83 guibg=NONE guisp=NONE gui=bold cterm=bold + hi SpecialKey guifg=#657b83 guibg=#073642 guisp=NONE gui=bold cterm=bold + hi SpellBad guifg=#6c71c4 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=undercurl + hi SpellCap guifg=#6c71c4 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=undercurl + hi SpellLocal guifg=#b58900 guibg=NONE guisp=#b58900 gui=undercurl cterm=undercurl + hi SpellRare guifg=#2aa198 guibg=NONE guisp=#2aa198 gui=undercurl cterm=undercurl + hi Title guifg=#b58900 guibg=NONE guisp=NONE gui=bold cterm=bold + endif + if s:termtrans + hi CursorLineNr guibg=NONE + endif + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor guifg=#002b36 guibg=#839496 guisp=NONE gui=NONE cterm=NONE + else + hi Cursor guifg=#fdf6e3 guibg=#268bd2 guisp=NONE gui=NONE cterm=NONE + endif + if get(g:, 'solarized_diffmode', '') ==# 'high' + hi DiffAdd guifg=#859900 guibg=NONE guisp=NONE gui=reverse cterm=reverse + hi DiffChange guifg=#b58900 guibg=NONE guisp=NONE gui=reverse cterm=reverse + hi DiffDelete guifg=#dc322f guibg=NONE guisp=NONE gui=reverse cterm=reverse + hi DiffText guifg=#268bd2 guibg=NONE guisp=NONE gui=reverse cterm=reverse + elseif get(g:, 'solarized_diffmode', '') ==# 'low' + hi DiffAdd guifg=#859900 guibg=NONE guisp=#859900 gui=NONE cterm=NONE + hi DiffChange guifg=#b58900 guibg=NONE guisp=#b58900 gui=NONE cterm=NONE + hi DiffDelete guifg=#dc322f guibg=NONE guisp=NONE gui=bold cterm=bold + hi DiffText guifg=#268bd2 guibg=NONE guisp=#268bd2 gui=NONE cterm=NONE + else " normal diffmode + hi DiffAdd guifg=#859900 guibg=#073642 guisp=#859900 gui=NONE cterm=NONE + hi DiffChange guifg=#b58900 guibg=#073642 guisp=#b58900 gui=NONE cterm=NONE + hi DiffDelete guifg=#dc322f guibg=#073642 guisp=NONE gui=bold cterm=bold + hi DiffText guifg=#268bd2 guibg=#073642 guisp=#268bd2 gui=NONE cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'low' + hi StatusLine guifg=#586e75 guibg=#eee8d5 guisp=NONE gui=reverse cterm=reverse + hi StatusLineNC guifg=#586e75 guibg=#93a1a1 guisp=NONE gui=reverse cterm=reverse + hi TabLine guifg=#586e75 guibg=#93a1a1 guisp=NONE gui=reverse cterm=reverse + hi TabLineFill guifg=#586e75 guibg=#93a1a1 guisp=NONE gui=reverse cterm=reverse + hi TabLineSel guifg=#586e75 guibg=#eee8d5 guisp=NONE gui=reverse cterm=reverse + hi VertSplit guifg=#93a1a1 guibg=#586e75 guisp=NONE gui=NONE cterm=NONE + elseif get(g:, 'solarized_statusline', '') ==# 'flat' + hi StatusLine guifg=#002b36 guibg=#eee8d5 guisp=NONE gui=reverse cterm=reverse + hi StatusLineNC guifg=#002b36 guibg=#93a1a1 guisp=NONE gui=reverse cterm=reverse + hi TabLineSel guifg=#eee8d5 guibg=#002b36 guisp=NONE gui=NONE cterm=NONE + hi TabLine guifg=#586e75 guibg=#002b36 guisp=NONE gui=NONE cterm=NONE + hi TabLineFill guifg=#586e75 guibg=#002b36 guisp=NONE gui=NONE cterm=NONE + hi VertSplit guifg=#586e75 guibg=#002b36 guisp=NONE gui=NONE cterm=NONE + else + hi StatusLine guifg=#839496 guibg=#073642 guisp=NONE gui=reverse cterm=reverse + hi StatusLineNC guifg=#586e75 guibg=#073642 guisp=NONE gui=reverse cterm=reverse + hi TabLine guifg=#586e75 guibg=#073642 guisp=NONE gui=reverse cterm=reverse + hi TabLineFill guifg=#586e75 guibg=#073642 guisp=NONE gui=reverse cterm=reverse + hi TabLineSel guifg=#839496 guibg=#073642 guisp=NONE gui=reverse cterm=reverse + hi VertSplit guifg=#93a1a1 guibg=#586e75 guisp=NONE gui=NONE cterm=NONE + endif + hi ColorColumn guifg=NONE guibg=#073642 guisp=NONE gui=NONE cterm=NONE + hi Conceal guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi CursorColumn guifg=NONE guibg=#073642 guisp=NONE gui=NONE cterm=NONE + hi Directory guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi EndOfBuffer guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi ErrorMsg guifg=#dc322f guibg=#fdf6e3 guisp=NONE gui=reverse cterm=reverse + hi IncSearch guifg=#cb4b16 guibg=NONE guisp=NONE gui=standout cterm=standout + hi MatchParen guifg=#fdf6e3 guibg=#073642 guisp=NONE gui=bold cterm=bold + hi ModeMsg guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi MoreMsg guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi Pmenu guifg=#657b83 guibg=#002b36 guisp=NONE gui=NONE cterm=NONE + hi PmenuSbar guifg=NONE guibg=#002b36 guisp=NONE gui=NONE cterm=NONE + hi PmenuSel guifg=#657b83 guibg=#073642 guisp=NONE gui=NONE cterm=NONE + hi PmenuThumb guifg=NONE guibg=#002b36 guisp=NONE gui=NONE cterm=NONE + hi Question guifg=#2aa198 guibg=NONE guisp=NONE gui=bold cterm=bold + hi Search guifg=#b58900 guibg=NONE guisp=NONE gui=reverse cterm=reverse + hi SignColumn guifg=#839496 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi Visual guifg=#586e75 guibg=#002b36 guisp=NONE gui=reverse cterm=reverse + hi VisualNOS guifg=NONE guibg=#073642 guisp=NONE gui=reverse cterm=reverse + hi WarningMsg guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold + hi WildMenu guifg=#eee8d5 guibg=#073642 guisp=NONE gui=reverse cterm=reverse + hi Comment guifg=#586e75 guibg=NONE guisp=NONE gui=italic cterm=italic + hi Constant guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi CursorIM guifg=NONE guibg=fg guisp=NONE gui=NONE cterm=NONE + hi Error guifg=#dc322f guibg=#fdf6e3 guisp=NONE gui=bold,reverse cterm=bold,reverse + hi Identifier guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi Ignore guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi PreProc guifg=#cb4b16 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi Special guifg=#cb4b16 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi Statement guifg=#859900 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi Todo guifg=#d33682 guibg=NONE guisp=NONE gui=bold cterm=bold + hi Type guifg=#b58900 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi Underlined guifg=#6c71c4 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi NormalMode guifg=#839496 guibg=#fdf6e3 guisp=NONE gui=reverse cterm=reverse + hi InsertMode guifg=#2aa198 guibg=#fdf6e3 guisp=NONE gui=reverse cterm=reverse + hi ReplaceMode guifg=#cb4b16 guibg=#fdf6e3 guisp=NONE gui=reverse cterm=reverse + hi VisualMode guifg=#d33682 guibg=#fdf6e3 guisp=NONE gui=reverse cterm=reverse + hi CommandMode guifg=#d33682 guibg=#fdf6e3 guisp=NONE gui=reverse cterm=reverse + if !s:italics + hi Comment gui=NONE cterm=NONE + endif + if !get(g:, 'solarized_extra_hi_groups', 0) + unlet s:t_Co s:italics s:termtrans + finish + endif + hi! link vimVar Identifier + hi! link vimFunc Function + hi! link vimUserFunc Function + hi! link helpSpecial Special + hi! link vimSet Normal + hi! link vimSetEqual Normal + hi vimCommentString guifg=#6c71c4 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi vimCommand guifg=#b58900 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi vimCmdSep guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold + hi helpExample guifg=#93a1a1 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi helpOption guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi helpNote guifg=#d33682 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi helpVim guifg=#d33682 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi helpHyperTextJump guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi helpHyperTextEntry guifg=#859900 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi vimIsCommand guifg=#657b83 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi vimSynMtchOpt guifg=#b58900 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi vimSynType guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi vimHiLink guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi vimHiGroup guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi vimGroup guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold + hi! link diffAdded Statement + hi! link diffLine Identifier + hi gitcommitComment guifg=#586e75 guibg=NONE guisp=NONE gui=italic cterm=italic + hi! link gitcommitUntracked gitcommitComment + hi! link gitcommitDiscarded gitcommitComment + hi! link gitcommitSelected gitcommitComment + hi gitcommitUnmerged guifg=#859900 guibg=NONE guisp=NONE gui=bold cterm=bold + hi gitcommitOnBranch guifg=#586e75 guibg=NONE guisp=NONE gui=bold cterm=bold + hi gitcommitBranch guifg=#d33682 guibg=NONE guisp=NONE gui=bold cterm=bold + hi! link gitcommitNoBranch gitcommitBranch + hi gitcommitdiscardedtype guifg=#dc322f guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi gitcommitselectedtype guifg=#859900 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi gitcommitHeader guifg=#586e75 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi gitcommitUntrackedFile guifg=#2aa198 guibg=NONE guisp=NONE gui=bold cterm=bold + hi gitcommitDiscardedFile guifg=#dc322f guibg=NONE guisp=NONE gui=bold cterm=bold + hi gitcommitSelectedFile guifg=#859900 guibg=NONE guisp=NONE gui=bold cterm=bold + hi gitcommitUnmergedFile guifg=#b58900 guibg=NONE guisp=NONE gui=bold cterm=bold + hi gitcommitFile guifg=#839496 guibg=NONE guisp=NONE gui=bold cterm=bold + hi! link gitcommitDiscardedArrow gitcommitDiscardedFile + hi! link gitcommitSelectedArrow gitcommitSelectedFile + hi! link gitcommitUnmergedArrow gitcommitUnmergedFile + hi htmlTag guifg=#586e75 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi htmlEndTag guifg=#586e75 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi htmlTagN guifg=#93a1a1 guibg=NONE guisp=NONE gui=bold cterm=bold + hi htmlTagName guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold + hi htmlSpecialTagName guifg=#268bd2 guibg=NONE guisp=NONE gui=italic cterm=italic + hi htmlArg guifg=#657b83 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi javaScript guifg=#b58900 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi! link jsFuncCall Function + hi perlHereDoc guifg=#93a1a1 guibg=#073642 guisp=NONE gui=NONE cterm=NONE + hi perlVarPlain guifg=#b58900 guibg=#073642 guisp=NONE gui=NONE cterm=NONE + hi perlStatementFileDesc guifg=#2aa198 guibg=#073642 guisp=NONE gui=NONE cterm=NONE + hi texstatement guifg=#2aa198 guibg=#073642 guisp=NONE gui=NONE cterm=NONE + hi texmathzonex guifg=#b58900 guibg=#073642 guisp=NONE gui=NONE cterm=NONE + hi texmathmatcher guifg=#b58900 guibg=#073642 guisp=NONE gui=NONE cterm=NONE + hi texreflabel guifg=#b58900 guibg=#073642 guisp=NONE gui=NONE cterm=NONE + hi rubyDefine guifg=#93a1a1 guibg=#073642 guisp=NONE gui=bold cterm=bold + hi! link rubySymbol Type + hi rubyBoolean guifg=#d33682 guibg=#073642 guisp=NONE gui=NONE cterm=NONE + hi cPreCondit guifg=#cb4b16 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi VarId guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi ConId guifg=#b58900 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi hsImport guifg=#d33682 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi hsString guifg=#657b83 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi hsStructure guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi hs_hlFunctionName guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi hsStatement guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi hsImportLabel guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi hs_OpFunctionName guifg=#b58900 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi hs_DeclareFunction guifg=#cb4b16 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi hsVarSym guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi hsType guifg=#b58900 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi hsTypedef guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi hsModuleName guifg=#859900 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi! link hsImportParams Delimiter + hi! link hsDelimTypeExport Delimiter + hi! link hsModuleStartLabel hsStructure + hi! link hsModuleWhereLabel hsModuleStartLabel + hi hsNiceOperator guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi hsniceoperator guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE + if !s:italics + hi gitcommitComment gui=NONE cterm=NONE + hi htmlSpecialTagName gui=NONE cterm=NONE + endif + let hs_highlight_boolean=1 + let hs_highlight_delimiters=1 + hi pandocTitleBlock guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocTitleBlockTitle guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocTitleComment guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocComment guifg=#586e75 guibg=NONE guisp=NONE gui=italic cterm=italic + hi pandocVerbatimBlock guifg=#b58900 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi! link pandocVerbatimBlockDeep pandocVerbatimBlock + hi! link pandocCodeBlock pandocVerbatimBlock + hi! link pandocCodeBlockDelim pandocVerbatimBlock + hi pandocBlockQuote guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader1 guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader2 guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader3 guifg=#b58900 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader4 guifg=#dc322f guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader5 guifg=#839496 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader6 guifg=#586e75 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocListMarker guifg=#d33682 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocListReference guifg=#d33682 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocDefinitionBlock guifg=#6c71c4 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocDefinitionTerm guifg=#6c71c4 guibg=NONE guisp=NONE gui=standout cterm=standout + hi pandocDefinitionIndctr guifg=#6c71c4 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocEmphasisDefinition guifg=#6c71c4 guibg=NONE guisp=NONE gui=italic cterm=italic + hi pandocEmphasisNestedDefinition guifg=#6c71c4 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocStrongEmphasisDefinition guifg=#6c71c4 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocStrongEmphasisNestedDefinition guifg=#6c71c4 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocStrongEmphasisEmphasisDefinition guifg=#6c71c4 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocStrikeoutDefinition guifg=#6c71c4 guibg=NONE guisp=NONE gui=reverse cterm=reverse + hi pandocVerbatimInlineDefinition guifg=#6c71c4 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocSuperscriptDefinition guifg=#6c71c4 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocSubscriptDefinition guifg=#6c71c4 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocTable guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocTableStructure guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi! link pandocTableStructureTop pandocTableStructre + hi! link pandocTableStructureEnd pandocTableStructre + hi pandocTableZebraLight guifg=#268bd2 guibg=#002b36 guisp=NONE gui=NONE cterm=NONE + hi pandocTableZebraDark guifg=#268bd2 guibg=#073642 guisp=NONE gui=NONE cterm=NONE + hi pandocEmphasisTable guifg=#268bd2 guibg=NONE guisp=NONE gui=italic cterm=italic + hi pandocEmphasisNestedTable guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocStrongEmphasisTable guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocStrongEmphasisNestedTable guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocStrongEmphasisEmphasisTable guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocStrikeoutTable guifg=#268bd2 guibg=NONE guisp=NONE gui=reverse cterm=reverse + hi pandocVerbatimInlineTable guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocSuperscriptTable guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocSubscriptTable guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocHeading guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocHeadingMarker guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocEmphasisHeading guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocEmphasisNestedHeading guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocStrongEmphasisHeading guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocStrongEmphasisNestedHeading guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocStrongEmphasisEmphasisHeading guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocStrikeoutHeading guifg=#cb4b16 guibg=NONE guisp=NONE gui=reverse cterm=reverse + hi pandocVerbatimInlineHeading guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocSuperscriptHeading guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocSubscriptHeading guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocLinkDelim guifg=#586e75 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocLinkLabel guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocLinkText guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocLinkURL guifg=#657b83 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocLinkTitle guifg=#657b83 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocLinkTitleDelim guifg=#586e75 guibg=NONE guisp=#657b83 gui=NONE cterm=NONE + hi pandocLinkDefinition guifg=#2aa198 guibg=NONE guisp=#657b83 gui=NONE cterm=NONE + hi pandocLinkDefinitionID guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocImageCaption guifg=#6c71c4 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocFootnoteLink guifg=#859900 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocFootnoteDefLink guifg=#859900 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocFootnoteInline guifg=#859900 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocFootnote guifg=#859900 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocCitationDelim guifg=#d33682 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocCitation guifg=#d33682 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocCitationID guifg=#d33682 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocCitationRef guifg=#d33682 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocStyleDelim guifg=#586e75 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocEmphasis guifg=#839496 guibg=NONE guisp=NONE gui=italic cterm=italic + hi pandocEmphasisNested guifg=#839496 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocStrongEmphasis guifg=#839496 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocStrongEmphasisNested guifg=#839496 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocStrongEmphasisEmphasis guifg=#839496 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocStrikeout guifg=#586e75 guibg=NONE guisp=NONE gui=reverse cterm=reverse + hi pandocVerbatimInline guifg=#b58900 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocSuperscript guifg=#6c71c4 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocSubscript guifg=#6c71c4 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocRule guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocRuleLine guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocEscapePair guifg=#dc322f guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocCitationRef guifg=#d33682 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocNonBreakingSpace guifg=#dc322f guibg=NONE guisp=NONE gui=reverse cterm=reverse + hi! link pandocEscapedCharacter pandocEscapePair + hi! link pandocLineBreak pandocEscapePair + hi pandocMetadataDelim guifg=#586e75 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocMetadata guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocMetadataKey guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocMetadata guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold + hi! link pandocMetadataTitle pandocMetadata + if !s:italics + hi pandocComment gui=NONE cterm=NONE + hi pandocEmphasisDefinition gui=NONE cterm=NONE + hi pandocEmphasisTable gui=NONE cterm=NONE + hi pandocEmphasis gui=NONE cterm=NONE + endif + unlet s:termtrans + unlet s:t_Co s:italics + finish + endif + " Light background + let g:terminal_ansi_colors = ['#073642', '#dc322f', '#859900', '#b58900', + \ '#268bd2', '#d33682', '#2aa198', '#eee8d5', '#002b36', '#cb4b16', + \ '#586e75', '#657b83', '#839496', '#6c71c4', '#93a1a1', '#fdf6e3'] + if has('nvim') + let g:terminal_color_0 = '#073642' + let g:terminal_color_1 = '#dc322f' + let g:terminal_color_2 = '#859900' + let g:terminal_color_3 = '#b58900' + let g:terminal_color_4 = '#268bd2' + let g:terminal_color_5 = '#d33682' + let g:terminal_color_6 = '#2aa198' + let g:terminal_color_7 = '#eee8d5' + let g:terminal_color_8 = '#002b36' + let g:terminal_color_9 = '#cb4b16' + let g:terminal_color_10 = '#586e75' + let g:terminal_color_11 = '#657b83' + let g:terminal_color_12 = '#839496' + let g:terminal_color_13 = '#6c71c4' + let g:terminal_color_14 = '#93a1a1' + let g:terminal_color_15 = '#fdf6e3' + endif + if s:termtrans + hi Normal guifg=#657b83 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi FoldColumn guifg=#657b83 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi Folded guifg=#657b83 guibg=NONE guisp=#fdf6e3 gui=bold cterm=bold + hi LineNr guifg=#93a1a1 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi Terminal guifg=fg guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi ToolbarButton guifg=#586e75 guibg=NONE guisp=NONE gui=bold cterm=bold + hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + else + hi Normal guifg=#657b83 guibg=#eee8d5 guisp=NONE gui=NONE cterm=NONE + hi FoldColumn guifg=#657b83 guibg=#eee8d5 guisp=NONE gui=NONE cterm=NONE + hi Folded guifg=#657b83 guibg=#eee8d5 guisp=#fdf6e3 gui=bold cterm=bold + hi LineNr guifg=#93a1a1 guibg=#eee8d5 guisp=NONE gui=NONE cterm=NONE + hi Terminal guifg=fg guibg=#eee8d5 guisp=NONE gui=NONE cterm=NONE + hi ToolbarButton guifg=#586e75 guibg=#eee8d5 guisp=NONE gui=bold cterm=bold + hi ToolbarLine guifg=NONE guibg=#eee8d5 guisp=NONE gui=NONE cterm=NONE + endif + if get(g:, 'solarized_visibility', '') ==# 'high' + hi CursorLineNr guifg=#dc322f guibg=#eee8d5 guisp=NONE gui=bold cterm=bold + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor guifg=#fdf6e3 guibg=#657b83 guisp=NONE gui=NONE cterm=NONE + else + hi Cursor guifg=#fdf6e3 guibg=#dc322f guisp=NONE gui=NONE cterm=NONE + endif + hi MatchParen guifg=#002b36 guibg=NONE guisp=NONE gui=bold,underline cterm=bold,underline + hi NonText guifg=#dc322f guibg=NONE guisp=NONE gui=bold cterm=bold + hi SpecialKey guifg=#dc322f guibg=NONE guisp=NONE gui=reverse cterm=reverse + hi SpellBad guifg=#d33682 guibg=#eee8d5 guisp=#6c71c4 gui=reverse,undercurl cterm=reverse,undercurl + hi SpellCap guifg=#d33682 guibg=#eee8d5 guisp=#6c71c4 gui=reverse,undercurl cterm=reverse,undercurl + hi SpellLocal guifg=#b58900 guibg=#eee8d5 guisp=#cb4b16 gui=reverse,undercurl cterm=reverse,undercurl + hi SpellRare guifg=#2aa198 guibg=#eee8d5 guisp=#cb4b16 gui=reverse,undercurl cterm=reverse,undercurl + hi Title guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold + elseif get(g:, 'solarized_visibility', '') ==# 'low' + hi CursorLineNr guifg=#93a1a1 guibg=#eee8d5 guisp=NONE gui=bold cterm=bold + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor guifg=#fdf6e3 guibg=#657b83 guisp=NONE gui=NONE cterm=NONE + else + hi Cursor guifg=#fdf6e3 guibg=#cb4b16 guisp=NONE gui=NONE cterm=NONE + endif + hi MatchParen guifg=#002b36 guibg=#eee8d5 guisp=NONE gui=bold cterm=bold + hi NonText guifg=#eee8d5 guibg=NONE guisp=NONE gui=bold cterm=bold + hi SpecialKey guifg=#eee8d5 guibg=NONE guisp=NONE gui=bold cterm=bold + hi SpellBad guifg=#d33682 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=undercurl + hi SpellCap guifg=#d33682 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=undercurl + hi SpellLocal guifg=#b58900 guibg=NONE guisp=#b58900 gui=undercurl cterm=undercurl + hi SpellRare guifg=#2aa198 guibg=NONE guisp=#2aa198 gui=undercurl cterm=undercurl + hi Title guifg=#93a1a1 guibg=NONE guisp=NONE gui=bold cterm=bold + else + hi CursorLineNr guifg=#657b83 guibg=#eee8d5 guisp=NONE gui=bold cterm=bold + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor guifg=#fdf6e3 guibg=#657b83 guisp=NONE gui=NONE cterm=NONE + else + hi Cursor guifg=#fdf6e3 guibg=#cb4b16 guisp=NONE gui=NONE cterm=NONE + endif + hi MatchParen guifg=#002b36 guibg=#eee8d5 guisp=NONE gui=bold cterm=bold + hi NonText guifg=#839496 guibg=NONE guisp=NONE gui=bold cterm=bold + hi SpecialKey guifg=#839496 guibg=#eee8d5 guisp=NONE gui=bold cterm=bold + hi SpellBad guifg=#d33682 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=undercurl + hi SpellCap guifg=#d33682 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=undercurl + hi SpellLocal guifg=#b58900 guibg=NONE guisp=#b58900 gui=undercurl cterm=undercurl + hi SpellRare guifg=#2aa198 guibg=NONE guisp=#2aa198 gui=undercurl cterm=undercurl + hi Title guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold + endif + if s:termtrans + hi CursorLineNr guibg=NONE + endif + if get(g:, 'solarized_diffmode', '') ==# 'high' + hi DiffAdd guifg=#859900 guibg=NONE guisp=NONE gui=reverse cterm=reverse + hi DiffChange guifg=#b58900 guibg=NONE guisp=NONE gui=reverse cterm=reverse + hi DiffDelete guifg=#dc322f guibg=NONE guisp=NONE gui=reverse cterm=reverse + hi DiffText guifg=#268bd2 guibg=NONE guisp=NONE gui=reverse cterm=reverse + elseif get(g:, 'solarized_diffmode', '') ==# 'low' + hi DiffAdd guifg=#859900 guibg=NONE guisp=#859900 gui=NONE cterm=NONE + hi DiffChange guifg=#b58900 guibg=NONE guisp=#b58900 gui=NONE cterm=NONE + hi DiffDelete guifg=#dc322f guibg=NONE guisp=NONE gui=bold cterm=bold + hi DiffText guifg=#268bd2 guibg=NONE guisp=#268bd2 gui=NONE cterm=NONE + else " normal diffmode + hi DiffAdd guifg=#859900 guibg=#eee8d5 guisp=#859900 gui=NONE cterm=NONE + hi DiffChange guifg=#b58900 guibg=#eee8d5 guisp=#b58900 gui=NONE cterm=NONE + hi DiffDelete guifg=#dc322f guibg=#eee8d5 guisp=NONE gui=bold cterm=bold + hi DiffText guifg=#268bd2 guibg=#eee8d5 guisp=#268bd2 gui=NONE cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'low' + hi StatusLine guifg=#93a1a1 guibg=#eee8d5 guisp=NONE gui=reverse cterm=reverse + hi StatusLineNC guifg=#93a1a1 guibg=#586e75 guisp=NONE gui=reverse cterm=reverse + hi TabLine guifg=#93a1a1 guibg=#586e75 guisp=NONE gui=reverse cterm=reverse + hi TabLineFill guifg=#93a1a1 guibg=#586e75 guisp=NONE gui=reverse cterm=reverse + hi TabLineSel guifg=#93a1a1 guibg=#eee8d5 guisp=NONE gui=reverse cterm=reverse + hi VertSplit guifg=#586e75 guibg=#93a1a1 guisp=NONE gui=NONE cterm=NONE + hi WildMenu guifg=#657b83 guibg=#eee8d5 guisp=NONE gui=reverse cterm=reverse + elseif get(g:, 'solarized_statusline', '') ==# 'flat' + hi StatusLine guifg=#fdf6e3 guibg=#073642 guisp=NONE gui=reverse cterm=reverse + hi StatusLineNC guifg=#fdf6e3 guibg=#586e75 guisp=NONE gui=reverse cterm=reverse + hi TabLineSel guifg=#073642 guibg=#fdf6e3 guisp=NONE gui=NONE cterm=NONE + hi TabLine guifg=#93a1a1 guibg=#fdf6e3 guisp=NONE gui=NONE cterm=NONE + hi TabLineFill guifg=#93a1a1 guibg=#fdf6e3 guisp=NONE gui=NONE cterm=NONE + hi VertSplit guifg=#93a1a1 guibg=#fdf6e3 guisp=NONE gui=NONE cterm=NONE + hi WildMenu guifg=#93a1a1 guibg=#fdf6e3 guisp=NONE gui=reverse cterm=reverse + else + hi StatusLine guifg=#586e75 guibg=#eee8d5 guisp=NONE gui=reverse cterm=reverse + hi StatusLineNC guifg=#839496 guibg=#eee8d5 guisp=NONE gui=reverse cterm=reverse + hi TabLine guifg=#839496 guibg=#eee8d5 guisp=NONE gui=reverse cterm=reverse + hi TabLineFill guifg=#839496 guibg=#eee8d5 guisp=NONE gui=reverse cterm=reverse + hi TabLineSel guifg=#586e75 guibg=#eee8d5 guisp=NONE gui=reverse cterm=reverse + hi VertSplit guifg=#586e75 guibg=#93a1a1 guisp=NONE gui=NONE cterm=NONE + hi WildMenu guifg=#839496 guibg=#eee8d5 guisp=NONE gui=reverse cterm=reverse + endif + hi ColorColumn guifg=NONE guibg=#eee8d5 guisp=NONE gui=NONE cterm=NONE + hi Conceal guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi CursorColumn guifg=NONE guibg=#eee8d5 guisp=NONE gui=NONE cterm=NONE + hi CursorLine guifg=NONE guibg=#eee8d5 guisp=#586e75 gui=underline cterm=underline + hi Directory guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi EndOfBuffer guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi ErrorMsg guifg=#dc322f guibg=#fdf6e3 guisp=NONE gui=reverse cterm=reverse + hi IncSearch guifg=#cb4b16 guibg=NONE guisp=NONE gui=standout cterm=standout + hi ModeMsg guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi MoreMsg guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi Pmenu guifg=#fdf6e3 guibg=#93a1a1 guisp=NONE gui=NONE cterm=NONE + hi PmenuSbar guifg=NONE guibg=#657b83 guisp=NONE gui=NONE cterm=NONE + hi PmenuSel guifg=#fdf6e3 guibg=#839496 guisp=NONE gui=NONE cterm=NONE + hi PmenuThumb guifg=NONE guibg=#839496 guisp=NONE gui=NONE cterm=NONE + hi Question guifg=#2aa198 guibg=NONE guisp=NONE gui=bold cterm=bold + hi Search guifg=#b58900 guibg=NONE guisp=NONE gui=reverse cterm=reverse + hi SignColumn guifg=#657b83 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi Visual guifg=#93a1a1 guibg=#fdf6e3 guisp=NONE gui=reverse cterm=reverse + hi VisualNOS guifg=NONE guibg=#eee8d5 guisp=NONE gui=reverse cterm=reverse + hi WarningMsg guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold + hi Comment guifg=#93a1a1 guibg=NONE guisp=NONE gui=italic cterm=italic + hi Constant guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi CursorIM guifg=NONE guibg=fg guisp=NONE gui=NONE cterm=NONE + hi Error guifg=#dc322f guibg=#fdf6e3 guisp=NONE gui=bold,reverse cterm=bold,reverse + hi Identifier guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi Ignore guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi PreProc guifg=#cb4b16 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi Special guifg=#cb4b16 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi Statement guifg=#859900 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi Todo guifg=#d33682 guibg=NONE guisp=NONE gui=bold cterm=bold + hi Type guifg=#b58900 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi Underlined guifg=#6c71c4 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi NormalMode guifg=#586e75 guibg=#fdf6e3 guisp=NONE gui=reverse cterm=reverse + hi InsertMode guifg=#2aa198 guibg=#fdf6e3 guisp=NONE gui=reverse cterm=reverse + hi ReplaceMode guifg=#cb4b16 guibg=#fdf6e3 guisp=NONE gui=reverse cterm=reverse + hi VisualMode guifg=#d33682 guibg=#fdf6e3 guisp=NONE gui=reverse cterm=reverse + hi CommandMode guifg=#d33682 guibg=#fdf6e3 guisp=NONE gui=reverse cterm=reverse + if !s:italics + hi Comment gui=NONE cterm=NONE + endif + if has('nvim') + hi! link TermCursor Cursor + hi TermCursorNC guifg=#fdf6e3 guibg=#93a1a1 guisp=NONE gui=NONE cterm=NONE + endif + if !get(g:, 'solarized_extra_hi_groups', 0) + unlet s:t_Co s:italics s:termtrans + finish + endif + hi! link vimVar Identifier + hi! link vimFunc Function + hi! link vimUserFunc Function + hi! link helpSpecial Special + hi! link vimSet Normal + hi! link vimSetEqual Normal + hi vimCommentString guifg=#6c71c4 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi vimCommand guifg=#b58900 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi vimCmdSep guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold + hi helpExample guifg=#586e75 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi helpOption guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi helpNote guifg=#d33682 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi helpVim guifg=#d33682 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi helpHyperTextJump guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi helpHyperTextEntry guifg=#859900 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi vimIsCommand guifg=#839496 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi vimSynMtchOpt guifg=#b58900 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi vimSynType guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi vimHiLink guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi vimHiGroup guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi vimGroup guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold + hi! link diffAdded Statement + hi! link diffLine Identifier + hi gitcommitComment guifg=#93a1a1 guibg=NONE guisp=NONE gui=italic cterm=italic + hi! link gitcommitUntracked gitcommitComment + hi! link gitcommitDiscarded gitcommitComment + hi! link gitcommitSelected gitcommitComment + hi gitcommitUnmerged guifg=#859900 guibg=NONE guisp=NONE gui=bold cterm=bold + hi gitcommitOnBranch guifg=#93a1a1 guibg=NONE guisp=NONE gui=bold cterm=bold + hi gitcommitBranch guifg=#d33682 guibg=NONE guisp=NONE gui=bold cterm=bold + hi! link gitcommitNoBranch gitcommitBranch + hi gitcommitdiscardedtype guifg=#dc322f guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi gitcommitselectedtype guifg=#859900 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi gitcommitHeader guifg=#93a1a1 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi gitcommitUntrackedFile guifg=#2aa198 guibg=NONE guisp=NONE gui=bold cterm=bold + hi gitcommitDiscardedFile guifg=#dc322f guibg=NONE guisp=NONE gui=bold cterm=bold + hi gitcommitSelectedFile guifg=#859900 guibg=NONE guisp=NONE gui=bold cterm=bold + hi gitcommitUnmergedFile guifg=#b58900 guibg=NONE guisp=NONE gui=bold cterm=bold + hi gitcommitFile guifg=#657b83 guibg=NONE guisp=NONE gui=bold cterm=bold + hi! link gitcommitDiscardedArrow gitcommitDiscardedFile + hi! link gitcommitSelectedArrow gitcommitSelectedFile + hi! link gitcommitUnmergedArrow gitcommitUnmergedFile + hi htmlTag guifg=#93a1a1 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi htmlEndTag guifg=#93a1a1 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi htmlTagN guifg=#586e75 guibg=NONE guisp=NONE gui=bold cterm=bold + hi htmlTagName guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold + hi htmlSpecialTagName guifg=#268bd2 guibg=NONE guisp=NONE gui=italic cterm=italic + hi htmlArg guifg=#839496 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi javaScript guifg=#b58900 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi! link jsFuncCall Function + hi perlHereDoc guifg=#586e75 guibg=#eee8d5 guisp=NONE gui=NONE cterm=NONE + hi perlVarPlain guifg=#b58900 guibg=#eee8d5 guisp=NONE gui=NONE cterm=NONE + hi perlStatementFileDesc guifg=#2aa198 guibg=#eee8d5 guisp=NONE gui=NONE cterm=NONE + hi texstatement guifg=#2aa198 guibg=#eee8d5 guisp=NONE gui=NONE cterm=NONE + hi texmathzonex guifg=#b58900 guibg=#eee8d5 guisp=NONE gui=NONE cterm=NONE + hi texmathmatcher guifg=#b58900 guibg=#eee8d5 guisp=NONE gui=NONE cterm=NONE + hi texreflabel guifg=#b58900 guibg=#eee8d5 guisp=NONE gui=NONE cterm=NONE + hi rubyDefine guifg=#586e75 guibg=#eee8d5 guisp=NONE gui=bold cterm=bold + hi! link rubySymbol Type + hi rubyBoolean guifg=#d33682 guibg=#eee8d5 guisp=NONE gui=NONE cterm=NONE + hi cPreCondit guifg=#cb4b16 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi VarId guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi ConId guifg=#b58900 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi hsImport guifg=#d33682 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi hsString guifg=#839496 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi hsStructure guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi hs_hlFunctionName guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi hsStatement guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi hsImportLabel guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi hs_OpFunctionName guifg=#b58900 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi hs_DeclareFunction guifg=#cb4b16 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi hsVarSym guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi hsType guifg=#b58900 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi hsTypedef guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi hsModuleName guifg=#859900 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi! link hsImportParams Delimiter + hi! link hsDelimTypeExport Delimiter + hi! link hsModuleStartLabel hsStructure + hi! link hsModuleWhereLabel hsModuleStartLabel + hi hsNiceOperator guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi hsniceoperator guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE + if !s:italics + hi gitcommitComment gui=NONE cterm=NONE + hi htmlSpecialTagName gui=NONE cterm=NONE + endif + let hs_highlight_boolean=1 + let hs_highlight_delimiters=1 + hi pandocTitleBlock guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocTitleBlockTitle guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocTitleComment guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocComment guifg=#93a1a1 guibg=NONE guisp=NONE gui=italic cterm=italic + hi pandocVerbatimBlock guifg=#b58900 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi! link pandocVerbatimBlockDeep pandocVerbatimBlock + hi! link pandocCodeBlock pandocVerbatimBlock + hi! link pandocCodeBlockDelim pandocVerbatimBlock + hi pandocBlockQuote guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader1 guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader2 guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader3 guifg=#b58900 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader4 guifg=#dc322f guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader5 guifg=#657b83 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocBlockQuoteLeader6 guifg=#93a1a1 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocListMarker guifg=#d33682 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocListReference guifg=#d33682 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocDefinitionBlock guifg=#6c71c4 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocDefinitionTerm guifg=#6c71c4 guibg=NONE guisp=NONE gui=standout cterm=standout + hi pandocDefinitionIndctr guifg=#6c71c4 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocEmphasisDefinition guifg=#6c71c4 guibg=NONE guisp=NONE gui=italic cterm=italic + hi pandocEmphasisNestedDefinition guifg=#6c71c4 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocStrongEmphasisDefinition guifg=#6c71c4 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocStrongEmphasisNestedDefinition guifg=#6c71c4 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocStrongEmphasisEmphasisDefinition guifg=#6c71c4 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocStrikeoutDefinition guifg=#6c71c4 guibg=NONE guisp=NONE gui=reverse cterm=reverse + hi pandocVerbatimInlineDefinition guifg=#6c71c4 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocSuperscriptDefinition guifg=#6c71c4 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocSubscriptDefinition guifg=#6c71c4 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocTable guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocTableStructure guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi! link pandocTableStructureTop pandocTableStructre + hi! link pandocTableStructureEnd pandocTableStructre + hi pandocTableZebraLight guifg=#268bd2 guibg=#fdf6e3 guisp=NONE gui=NONE cterm=NONE + hi pandocTableZebraDark guifg=#268bd2 guibg=#eee8d5 guisp=NONE gui=NONE cterm=NONE + hi pandocEmphasisTable guifg=#268bd2 guibg=NONE guisp=NONE gui=italic cterm=italic + hi pandocEmphasisNestedTable guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocStrongEmphasisTable guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocStrongEmphasisNestedTable guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocStrongEmphasisEmphasisTable guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocStrikeoutTable guifg=#268bd2 guibg=NONE guisp=NONE gui=reverse cterm=reverse + hi pandocVerbatimInlineTable guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocSuperscriptTable guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocSubscriptTable guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocHeading guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocHeadingMarker guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocEmphasisHeading guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocEmphasisNestedHeading guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocStrongEmphasisHeading guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocStrongEmphasisNestedHeading guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocStrongEmphasisEmphasisHeading guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocStrikeoutHeading guifg=#cb4b16 guibg=NONE guisp=NONE gui=reverse cterm=reverse + hi pandocVerbatimInlineHeading guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocSuperscriptHeading guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocSubscriptHeading guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocLinkDelim guifg=#93a1a1 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocLinkLabel guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocLinkText guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocLinkURL guifg=#839496 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocLinkTitle guifg=#839496 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocLinkTitleDelim guifg=#93a1a1 guibg=NONE guisp=#839496 gui=NONE cterm=NONE + hi pandocLinkDefinition guifg=#2aa198 guibg=NONE guisp=#839496 gui=NONE cterm=NONE + hi pandocLinkDefinitionID guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocImageCaption guifg=#6c71c4 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocFootnoteLink guifg=#859900 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocFootnoteDefLink guifg=#859900 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocFootnoteInline guifg=#859900 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocFootnote guifg=#859900 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocCitationDelim guifg=#d33682 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocCitation guifg=#d33682 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocCitationID guifg=#d33682 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocCitationRef guifg=#d33682 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocStyleDelim guifg=#93a1a1 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocEmphasis guifg=#657b83 guibg=NONE guisp=NONE gui=italic cterm=italic + hi pandocEmphasisNested guifg=#657b83 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocStrongEmphasis guifg=#657b83 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocStrongEmphasisNested guifg=#657b83 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocStrongEmphasisEmphasis guifg=#657b83 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocStrikeout guifg=#93a1a1 guibg=NONE guisp=NONE gui=reverse cterm=reverse + hi pandocVerbatimInline guifg=#b58900 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocSuperscript guifg=#6c71c4 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocSubscript guifg=#6c71c4 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocRule guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocRuleLine guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocEscapePair guifg=#dc322f guibg=NONE guisp=NONE gui=bold cterm=bold + hi pandocCitationRef guifg=#d33682 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocNonBreakingSpace guifg=#dc322f guibg=NONE guisp=NONE gui=reverse cterm=reverse + hi! link pandocEscapedCharacter pandocEscapePair + hi! link pandocLineBreak pandocEscapePair + hi pandocMetadataDelim guifg=#93a1a1 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocMetadata guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocMetadataKey guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE + hi pandocMetadata guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold + hi! link pandocMetadataTitle pandocMetadata + if !s:italics + hi pandocComment gui=NONE cterm=NONE + hi pandocEmphasisDefinition gui=NONE cterm=NONE + hi pandocEmphasisTable gui=NONE cterm=NONE + hi pandocEmphasis gui=NONE cterm=NONE + endif + unlet s:termtrans + unlet s:t_Co s:italics + finish +endif + +if s:t_Co >= 256 + if &background ==# 'dark' + if s:termtrans + hi Normal ctermfg=246 ctermbg=NONE cterm=NONE + hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline + hi FoldColumn ctermfg=fg ctermbg=NONE cterm=NONE + hi Folded ctermfg=fg ctermbg=NONE cterm=bold + hi LineNr ctermfg=242 ctermbg=NONE cterm=NONE + hi Terminal ctermfg=fg ctermbg=NONE cterm=NONE + hi ToolbarButton ctermfg=247 ctermbg=NONE cterm=bold + hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE + else + hi Normal ctermfg=246 ctermbg=236 cterm=NONE + if !has('patch-8.0.0616') && !has('nvim') " Fix for Vim bug + set background=dark + endif + hi CursorLine ctermfg=NONE ctermbg=239 cterm=NONE + hi FoldColumn ctermfg=246 ctermbg=239 cterm=NONE + hi Folded ctermfg=246 ctermbg=239 cterm=bold + hi LineNr ctermfg=242 ctermbg=239 cterm=NONE + hi Terminal ctermfg=fg ctermbg=236 cterm=NONE + hi ToolbarButton ctermfg=247 ctermbg=239 cterm=bold + hi ToolbarLine ctermfg=NONE ctermbg=239 cterm=NONE + endif + if get(g:, 'solarized_visibility', '') ==# 'high' + hi CursorLineNr ctermfg=166 ctermbg=239 cterm=bold + hi NonText ctermfg=166 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=166 ctermbg=NONE cterm=reverse + hi SpellBad ctermfg=61 ctermbg=254 cterm=reverse,underline + hi SpellCap ctermfg=61 ctermbg=254 cterm=reverse,underline + hi SpellLocal ctermfg=136 ctermbg=254 cterm=reverse,underline + hi SpellRare ctermfg=37 ctermbg=254 cterm=reverse,underline + hi Title ctermfg=136 ctermbg=NONE cterm=bold + elseif get(g:, 'solarized_visibility', '') ==# 'low' + hi CursorLineNr ctermfg=242 ctermbg=239 cterm=bold + hi NonText ctermfg=239 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=239 ctermbg=NONE cterm=reverse + hi SpellBad ctermfg=61 ctermbg=NONE cterm=underline + hi SpellCap ctermfg=61 ctermbg=NONE cterm=underline + hi SpellLocal ctermfg=136 ctermbg=NONE cterm=underline + hi SpellRare ctermfg=37 ctermbg=NONE cterm=underline + hi Title ctermfg=242 ctermbg=NONE cterm=bold + else + hi CursorLineNr ctermfg=246 ctermbg=239 cterm=bold + hi NonText ctermfg=66 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=66 ctermbg=239 cterm=bold + hi SpellBad ctermfg=61 ctermbg=NONE cterm=underline + hi SpellCap ctermfg=61 ctermbg=NONE cterm=underline + hi SpellLocal ctermfg=136 ctermbg=NONE cterm=underline + hi SpellRare ctermfg=37 ctermbg=NONE cterm=underline + hi Title ctermfg=136 ctermbg=NONE cterm=bold + endif + if s:termtrans + hi CursorLineNr ctermbg=NONE + endif + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor ctermfg=235 ctermbg=246 cterm=NONE + else + hi Cursor ctermfg=230 ctermbg=32 cterm=NONE + endif + if get(g:, 'solarized_diffmode', '') ==# 'high' + hi DiffAdd ctermfg=106 ctermbg=NONE cterm=reverse + hi DiffChange ctermfg=136 ctermbg=NONE cterm=reverse + hi DiffDelete ctermfg=160 ctermbg=NONE cterm=reverse + hi DiffText ctermfg=32 ctermbg=NONE cterm=reverse + elseif get(g:, 'solarized_diffmode', '') ==# 'low' + hi DiffAdd ctermfg=106 ctermbg=NONE cterm=NONE + hi DiffChange ctermfg=136 ctermbg=NONE cterm=NONE + hi DiffDelete ctermfg=160 ctermbg=NONE cterm=bold + hi DiffText ctermfg=32 ctermbg=NONE cterm=NONE + else " normal diffmode + hi DiffAdd ctermfg=106 ctermbg=239 cterm=NONE + hi DiffChange ctermfg=136 ctermbg=239 cterm=NONE + hi DiffDelete ctermfg=160 ctermbg=239 cterm=bold + hi DiffText ctermfg=32 ctermbg=239 cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'low' + hi StatusLine ctermfg=242 ctermbg=254 cterm=reverse + hi StatusLineNC ctermfg=242 ctermbg=247 cterm=reverse + hi TabLine ctermfg=242 ctermbg=247 cterm=reverse + hi TabLineFill ctermfg=242 ctermbg=247 cterm=reverse + hi TabLineSel ctermfg=242 ctermbg=254 cterm=reverse + hi VertSplit ctermfg=247 ctermbg=242 cterm=NONE + elseif get(g:, 'solarized_statusline', '') ==# 'flat' + hi StatusLine ctermfg=235 ctermbg=254 cterm=reverse + hi StatusLineNC ctermfg=235 ctermbg=247 cterm=reverse + hi TabLineSel ctermfg=254 ctermbg=235 cterm=NONE + hi TabLine ctermfg=242 ctermbg=235 cterm=NONE + hi TabLineFill ctermfg=242 ctermbg=235 cterm=NONE + hi VertSplit ctermfg=242 ctermbg=235 cterm=NONE + else + hi StatusLine ctermfg=246 ctermbg=239 cterm=reverse + hi StatusLineNC ctermfg=242 ctermbg=239 cterm=reverse + hi TabLine ctermfg=242 ctermbg=239 cterm=reverse + hi TabLineFill ctermfg=242 ctermbg=239 cterm=reverse + hi TabLineSel ctermfg=246 ctermbg=239 cterm=reverse + hi VertSplit ctermfg=247 ctermbg=242 cterm=NONE + endif + hi ColorColumn ctermfg=NONE ctermbg=239 cterm=NONE + hi Conceal ctermfg=32 ctermbg=NONE cterm=NONE + hi CursorColumn ctermfg=NONE ctermbg=239 cterm=NONE + hi Directory ctermfg=32 ctermbg=NONE cterm=NONE + hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE + hi ErrorMsg ctermfg=160 ctermbg=230 cterm=reverse + hi IncSearch ctermfg=166 ctermbg=NONE cterm=standout + hi MatchParen ctermfg=230 ctermbg=239 cterm=bold + hi ModeMsg ctermfg=32 ctermbg=NONE cterm=NONE + hi MoreMsg ctermfg=32 ctermbg=NONE cterm=NONE + hi Pmenu ctermfg=66 ctermbg=235 cterm=NONE + hi PmenuSbar ctermfg=NONE ctermbg=235 cterm=NONE + hi PmenuSel ctermfg=66 ctermbg=239 cterm=NONE + hi PmenuThumb ctermfg=NONE ctermbg=235 cterm=NONE + hi Question ctermfg=37 ctermbg=NONE cterm=bold + hi Search ctermfg=136 ctermbg=NONE cterm=reverse + hi SignColumn ctermfg=246 ctermbg=NONE cterm=NONE + hi Visual ctermfg=242 ctermbg=235 cterm=reverse + hi VisualNOS ctermfg=NONE ctermbg=239 cterm=reverse + hi WarningMsg ctermfg=166 ctermbg=NONE cterm=bold + hi WildMenu ctermfg=254 ctermbg=239 cterm=reverse + hi Comment ctermfg=242 ctermbg=NONE cterm=italic + hi Constant ctermfg=37 ctermbg=NONE cterm=NONE + hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE + hi Error ctermfg=160 ctermbg=230 cterm=bold,reverse + hi Identifier ctermfg=32 ctermbg=NONE cterm=NONE + hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE + hi PreProc ctermfg=166 ctermbg=NONE cterm=NONE + hi Special ctermfg=166 ctermbg=NONE cterm=NONE + hi Statement ctermfg=106 ctermbg=NONE cterm=NONE + hi Todo ctermfg=162 ctermbg=NONE cterm=bold + hi Type ctermfg=136 ctermbg=NONE cterm=NONE + hi Underlined ctermfg=61 ctermbg=NONE cterm=NONE + hi NormalMode ctermfg=246 ctermbg=230 cterm=reverse + hi InsertMode ctermfg=37 ctermbg=230 cterm=reverse + hi ReplaceMode ctermfg=166 ctermbg=230 cterm=reverse + hi VisualMode ctermfg=162 ctermbg=230 cterm=reverse + hi CommandMode ctermfg=162 ctermbg=230 cterm=reverse + if !s:italics + hi Comment cterm=NONE + endif + if !get(g:, 'solarized_extra_hi_groups', 0) + unlet s:t_Co s:italics s:termtrans + finish + endif + hi! link vimVar Identifier + hi! link vimFunc Function + hi! link vimUserFunc Function + hi! link helpSpecial Special + hi! link vimSet Normal + hi! link vimSetEqual Normal + hi vimCommentString ctermfg=61 ctermbg=NONE cterm=NONE + hi vimCommand ctermfg=136 ctermbg=NONE cterm=NONE + hi vimCmdSep ctermfg=32 ctermbg=NONE cterm=bold + hi helpExample ctermfg=247 ctermbg=NONE cterm=NONE + hi helpOption ctermfg=37 ctermbg=NONE cterm=NONE + hi helpNote ctermfg=162 ctermbg=NONE cterm=NONE + hi helpVim ctermfg=162 ctermbg=NONE cterm=NONE + hi helpHyperTextJump ctermfg=32 ctermbg=NONE cterm=NONE + hi helpHyperTextEntry ctermfg=106 ctermbg=NONE cterm=NONE + hi vimIsCommand ctermfg=66 ctermbg=NONE cterm=NONE + hi vimSynMtchOpt ctermfg=136 ctermbg=NONE cterm=NONE + hi vimSynType ctermfg=37 ctermbg=NONE cterm=NONE + hi vimHiLink ctermfg=32 ctermbg=NONE cterm=NONE + hi vimHiGroup ctermfg=32 ctermbg=NONE cterm=NONE + hi vimGroup ctermfg=32 ctermbg=NONE cterm=bold + hi! link diffAdded Statement + hi! link diffLine Identifier + hi gitcommitComment ctermfg=242 ctermbg=NONE cterm=italic + hi! link gitcommitUntracked gitcommitComment + hi! link gitcommitDiscarded gitcommitComment + hi! link gitcommitSelected gitcommitComment + hi gitcommitUnmerged ctermfg=106 ctermbg=NONE cterm=bold + hi gitcommitOnBranch ctermfg=242 ctermbg=NONE cterm=bold + hi gitcommitBranch ctermfg=162 ctermbg=NONE cterm=bold + hi! link gitcommitNoBranch gitcommitBranch + hi gitcommitdiscardedtype ctermfg=160 ctermbg=NONE cterm=NONE + hi gitcommitselectedtype ctermfg=106 ctermbg=NONE cterm=NONE + hi gitcommitHeader ctermfg=242 ctermbg=NONE cterm=NONE + hi gitcommitUntrackedFile ctermfg=37 ctermbg=NONE cterm=bold + hi gitcommitDiscardedFile ctermfg=160 ctermbg=NONE cterm=bold + hi gitcommitSelectedFile ctermfg=106 ctermbg=NONE cterm=bold + hi gitcommitUnmergedFile ctermfg=136 ctermbg=NONE cterm=bold + hi gitcommitFile ctermfg=246 ctermbg=NONE cterm=bold + hi! link gitcommitDiscardedArrow gitcommitDiscardedFile + hi! link gitcommitSelectedArrow gitcommitSelectedFile + hi! link gitcommitUnmergedArrow gitcommitUnmergedFile + hi htmlTag ctermfg=242 ctermbg=NONE cterm=NONE + hi htmlEndTag ctermfg=242 ctermbg=NONE cterm=NONE + hi htmlTagN ctermfg=247 ctermbg=NONE cterm=bold + hi htmlTagName ctermfg=32 ctermbg=NONE cterm=bold + hi htmlSpecialTagName ctermfg=32 ctermbg=NONE cterm=italic + hi htmlArg ctermfg=66 ctermbg=NONE cterm=NONE + hi javaScript ctermfg=136 ctermbg=NONE cterm=NONE + hi! link jsFuncCall Function + hi perlHereDoc ctermfg=247 ctermbg=236 cterm=NONE + hi perlVarPlain ctermfg=136 ctermbg=236 cterm=NONE + hi perlStatementFileDesc ctermfg=37 ctermbg=236 cterm=NONE + hi texstatement ctermfg=37 ctermbg=236 cterm=NONE + hi texmathzonex ctermfg=136 ctermbg=236 cterm=NONE + hi texmathmatcher ctermfg=136 ctermbg=236 cterm=NONE + hi texreflabel ctermfg=136 ctermbg=236 cterm=NONE + hi rubyDefine ctermfg=247 ctermbg=236 cterm=bold + hi! link rubySymbol Type + hi rubyBoolean ctermfg=162 ctermbg=236 cterm=NONE + hi cPreCondit ctermfg=166 ctermbg=NONE cterm=NONE + hi VarId ctermfg=32 ctermbg=NONE cterm=NONE + hi ConId ctermfg=136 ctermbg=NONE cterm=NONE + hi hsImport ctermfg=162 ctermbg=NONE cterm=NONE + hi hsString ctermfg=66 ctermbg=NONE cterm=NONE + hi hsStructure ctermfg=37 ctermbg=NONE cterm=NONE + hi hs_hlFunctionName ctermfg=32 ctermbg=NONE cterm=NONE + hi hsStatement ctermfg=37 ctermbg=NONE cterm=NONE + hi hsImportLabel ctermfg=37 ctermbg=NONE cterm=NONE + hi hs_OpFunctionName ctermfg=136 ctermbg=NONE cterm=NONE + hi hs_DeclareFunction ctermfg=166 ctermbg=NONE cterm=NONE + hi hsVarSym ctermfg=37 ctermbg=NONE cterm=NONE + hi hsType ctermfg=136 ctermbg=NONE cterm=NONE + hi hsTypedef ctermfg=37 ctermbg=NONE cterm=NONE + hi hsModuleName ctermfg=106 ctermbg=NONE cterm=NONE + hi! link hsImportParams Delimiter + hi! link hsDelimTypeExport Delimiter + hi! link hsModuleStartLabel hsStructure + hi! link hsModuleWhereLabel hsModuleStartLabel + hi hsNiceOperator ctermfg=37 ctermbg=NONE cterm=NONE + hi hsniceoperator ctermfg=37 ctermbg=NONE cterm=NONE + if !s:italics + hi gitcommitComment cterm=NONE + hi htmlSpecialTagName cterm=NONE + endif + let hs_highlight_boolean=1 + let hs_highlight_delimiters=1 + hi pandocTitleBlock ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocTitleBlockTitle ctermfg=32 ctermbg=NONE cterm=bold + hi pandocTitleComment ctermfg=32 ctermbg=NONE cterm=bold + hi pandocComment ctermfg=242 ctermbg=NONE cterm=italic + hi pandocVerbatimBlock ctermfg=136 ctermbg=NONE cterm=NONE + hi! link pandocVerbatimBlockDeep pandocVerbatimBlock + hi! link pandocCodeBlock pandocVerbatimBlock + hi! link pandocCodeBlockDelim pandocVerbatimBlock + hi pandocBlockQuote ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader1 ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader2 ctermfg=37 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader3 ctermfg=136 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader4 ctermfg=160 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader5 ctermfg=246 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader6 ctermfg=242 ctermbg=NONE cterm=NONE + hi pandocListMarker ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocListReference ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocDefinitionBlock ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocDefinitionTerm ctermfg=61 ctermbg=NONE cterm=standout + hi pandocDefinitionIndctr ctermfg=61 ctermbg=NONE cterm=bold + hi pandocEmphasisDefinition ctermfg=61 ctermbg=NONE cterm=italic + hi pandocEmphasisNestedDefinition ctermfg=61 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisDefinition ctermfg=61 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedDefinition ctermfg=61 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisDefinition ctermfg=61 ctermbg=NONE cterm=bold + hi pandocStrikeoutDefinition ctermfg=61 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineDefinition ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocSuperscriptDefinition ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocSubscriptDefinition ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocTable ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocTableStructure ctermfg=32 ctermbg=NONE cterm=NONE + hi! link pandocTableStructureTop pandocTableStructre + hi! link pandocTableStructureEnd pandocTableStructre + hi pandocTableZebraLight ctermfg=32 ctermbg=235 cterm=NONE + hi pandocTableZebraDark ctermfg=32 ctermbg=239 cterm=NONE + hi pandocEmphasisTable ctermfg=32 ctermbg=NONE cterm=italic + hi pandocEmphasisNestedTable ctermfg=32 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisTable ctermfg=32 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedTable ctermfg=32 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisTable ctermfg=32 ctermbg=NONE cterm=bold + hi pandocStrikeoutTable ctermfg=32 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineTable ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocSuperscriptTable ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocSubscriptTable ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocHeadingMarker ctermfg=166 ctermbg=NONE cterm=bold + hi pandocEmphasisHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocEmphasisNestedHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocStrikeoutHeading ctermfg=166 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocSuperscriptHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocSubscriptHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocLinkDelim ctermfg=242 ctermbg=NONE cterm=NONE + hi pandocLinkLabel ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocLinkText ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocLinkURL ctermfg=66 ctermbg=NONE cterm=NONE + hi pandocLinkTitle ctermfg=66 ctermbg=NONE cterm=NONE + hi pandocLinkTitleDelim ctermfg=242 ctermbg=NONE cterm=NONE + hi pandocLinkDefinition ctermfg=37 ctermbg=NONE cterm=NONE + hi pandocLinkDefinitionID ctermfg=32 ctermbg=NONE cterm=bold + hi pandocImageCaption ctermfg=61 ctermbg=NONE cterm=bold + hi pandocFootnoteLink ctermfg=106 ctermbg=NONE cterm=NONE + hi pandocFootnoteDefLink ctermfg=106 ctermbg=NONE cterm=bold + hi pandocFootnoteInline ctermfg=106 ctermbg=NONE cterm=bold + hi pandocFootnote ctermfg=106 ctermbg=NONE cterm=NONE + hi pandocCitationDelim ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocCitation ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocCitationID ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocCitationRef ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocStyleDelim ctermfg=242 ctermbg=NONE cterm=NONE + hi pandocEmphasis ctermfg=246 ctermbg=NONE cterm=italic + hi pandocEmphasisNested ctermfg=246 ctermbg=NONE cterm=bold + hi pandocStrongEmphasis ctermfg=246 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNested ctermfg=246 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasis ctermfg=246 ctermbg=NONE cterm=bold + hi pandocStrikeout ctermfg=242 ctermbg=NONE cterm=reverse + hi pandocVerbatimInline ctermfg=136 ctermbg=NONE cterm=NONE + hi pandocSuperscript ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocSubscript ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocRule ctermfg=32 ctermbg=NONE cterm=bold + hi pandocRuleLine ctermfg=32 ctermbg=NONE cterm=bold + hi pandocEscapePair ctermfg=160 ctermbg=NONE cterm=bold + hi pandocCitationRef ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocNonBreakingSpace ctermfg=160 ctermbg=NONE cterm=reverse + hi! link pandocEscapedCharacter pandocEscapePair + hi! link pandocLineBreak pandocEscapePair + hi pandocMetadataDelim ctermfg=242 ctermbg=NONE cterm=NONE + hi pandocMetadata ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocMetadataKey ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocMetadata ctermfg=32 ctermbg=NONE cterm=bold + hi! link pandocMetadataTitle pandocMetadata + if !s:italics + hi pandocComment cterm=NONE + hi pandocEmphasisDefinition cterm=NONE + hi pandocEmphasisTable cterm=NONE + hi pandocEmphasis cterm=NONE + endif + unlet s:termtrans + unlet s:t_Co s:italics + finish + endif + " Light background + if s:termtrans + hi Normal ctermfg=66 ctermbg=NONE cterm=NONE + hi FoldColumn ctermfg=66 ctermbg=NONE cterm=NONE + hi Folded ctermfg=66 ctermbg=NONE cterm=bold + hi LineNr ctermfg=247 ctermbg=NONE cterm=NONE + hi Terminal ctermfg=fg ctermbg=NONE cterm=NONE + hi ToolbarButton ctermfg=242 ctermbg=NONE cterm=bold + hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE + else + hi Normal ctermfg=66 ctermbg=254 cterm=NONE + hi FoldColumn ctermfg=66 ctermbg=254 cterm=NONE + hi Folded ctermfg=66 ctermbg=254 cterm=bold + hi LineNr ctermfg=247 ctermbg=254 cterm=NONE + hi Terminal ctermfg=fg ctermbg=254 cterm=NONE + hi ToolbarButton ctermfg=242 ctermbg=254 cterm=bold + hi ToolbarLine ctermfg=NONE ctermbg=254 cterm=NONE + endif + if get(g:, 'solarized_visibility', '') ==# 'high' + hi CursorLineNr ctermfg=160 ctermbg=254 cterm=bold + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor ctermfg=230 ctermbg=66 cterm=NONE + else + hi Cursor ctermfg=230 ctermbg=160 cterm=NONE + endif + hi MatchParen ctermfg=235 ctermbg=NONE cterm=bold,underline + hi NonText ctermfg=160 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=160 ctermbg=NONE cterm=reverse + hi SpellBad ctermfg=162 ctermbg=254 cterm=reverse,underline + hi SpellCap ctermfg=162 ctermbg=254 cterm=reverse,underline + hi SpellLocal ctermfg=136 ctermbg=254 cterm=reverse,underline + hi SpellRare ctermfg=37 ctermbg=254 cterm=reverse,underline + hi Title ctermfg=166 ctermbg=NONE cterm=bold + elseif get(g:, 'solarized_visibility', '') ==# 'low' + hi CursorLineNr ctermfg=247 ctermbg=254 cterm=bold + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor ctermfg=230 ctermbg=66 cterm=NONE + else + hi Cursor ctermfg=230 ctermbg=166 cterm=NONE + endif + hi MatchParen ctermfg=235 ctermbg=254 cterm=bold + hi NonText ctermfg=254 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=254 ctermbg=NONE cterm=bold + hi SpellBad ctermfg=162 ctermbg=NONE cterm=underline + hi SpellCap ctermfg=162 ctermbg=NONE cterm=underline + hi SpellLocal ctermfg=136 ctermbg=NONE cterm=underline + hi SpellRare ctermfg=37 ctermbg=NONE cterm=underline + hi Title ctermfg=247 ctermbg=NONE cterm=bold + else + hi CursorLineNr ctermfg=66 ctermbg=254 cterm=bold + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor ctermfg=230 ctermbg=66 cterm=NONE + else + hi Cursor ctermfg=230 ctermbg=166 cterm=NONE + endif + hi MatchParen ctermfg=235 ctermbg=254 cterm=bold + hi NonText ctermfg=246 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=246 ctermbg=254 cterm=bold + hi SpellBad ctermfg=162 ctermbg=NONE cterm=underline + hi SpellCap ctermfg=162 ctermbg=NONE cterm=underline + hi SpellLocal ctermfg=136 ctermbg=NONE cterm=underline + hi SpellRare ctermfg=37 ctermbg=NONE cterm=underline + hi Title ctermfg=166 ctermbg=NONE cterm=bold + endif + if s:termtrans + hi CursorLineNr ctermbg=NONE + endif + if get(g:, 'solarized_diffmode', '') ==# 'high' + hi DiffAdd ctermfg=106 ctermbg=NONE cterm=reverse + hi DiffChange ctermfg=136 ctermbg=NONE cterm=reverse + hi DiffDelete ctermfg=160 ctermbg=NONE cterm=reverse + hi DiffText ctermfg=32 ctermbg=NONE cterm=reverse + elseif get(g:, 'solarized_diffmode', '') ==# 'low' + hi DiffAdd ctermfg=106 ctermbg=NONE cterm=NONE + hi DiffChange ctermfg=136 ctermbg=NONE cterm=NONE + hi DiffDelete ctermfg=160 ctermbg=NONE cterm=bold + hi DiffText ctermfg=32 ctermbg=NONE cterm=NONE + else " normal diffmode + hi DiffAdd ctermfg=106 ctermbg=254 cterm=NONE + hi DiffChange ctermfg=136 ctermbg=254 cterm=NONE + hi DiffDelete ctermfg=160 ctermbg=254 cterm=bold + hi DiffText ctermfg=32 ctermbg=254 cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'low' + hi StatusLine ctermfg=247 ctermbg=254 cterm=reverse + hi StatusLineNC ctermfg=247 ctermbg=242 cterm=reverse + hi TabLine ctermfg=247 ctermbg=242 cterm=reverse + hi TabLineFill ctermfg=247 ctermbg=242 cterm=reverse + hi TabLineSel ctermfg=247 ctermbg=254 cterm=reverse + hi VertSplit ctermfg=242 ctermbg=247 cterm=NONE + hi WildMenu ctermfg=66 ctermbg=254 cterm=reverse + elseif get(g:, 'solarized_statusline', '') ==# 'flat' + hi StatusLine ctermfg=230 ctermbg=236 cterm=reverse + hi StatusLineNC ctermfg=230 ctermbg=242 cterm=reverse + hi TabLineSel ctermfg=236 ctermbg=230 cterm=NONE + hi TabLine ctermfg=247 ctermbg=230 cterm=NONE + hi TabLineFill ctermfg=247 ctermbg=230 cterm=NONE + hi VertSplit ctermfg=247 ctermbg=230 cterm=NONE + hi WildMenu ctermfg=247 ctermbg=230 cterm=reverse + else + hi StatusLine ctermfg=242 ctermbg=254 cterm=reverse + hi StatusLineNC ctermfg=246 ctermbg=254 cterm=reverse + hi TabLine ctermfg=246 ctermbg=254 cterm=reverse + hi TabLineFill ctermfg=246 ctermbg=254 cterm=reverse + hi TabLineSel ctermfg=242 ctermbg=254 cterm=reverse + hi VertSplit ctermfg=242 ctermbg=247 cterm=NONE + hi WildMenu ctermfg=246 ctermbg=254 cterm=reverse + endif + hi ColorColumn ctermfg=NONE ctermbg=254 cterm=NONE + hi Conceal ctermfg=32 ctermbg=NONE cterm=NONE + hi CursorColumn ctermfg=NONE ctermbg=254 cterm=NONE + hi CursorLine ctermfg=NONE ctermbg=254 cterm=underline + hi Directory ctermfg=32 ctermbg=NONE cterm=NONE + hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE + hi ErrorMsg ctermfg=160 ctermbg=230 cterm=reverse + hi IncSearch ctermfg=166 ctermbg=NONE cterm=standout + hi ModeMsg ctermfg=32 ctermbg=NONE cterm=NONE + hi MoreMsg ctermfg=32 ctermbg=NONE cterm=NONE + hi Pmenu ctermfg=230 ctermbg=247 cterm=NONE + hi PmenuSbar ctermfg=NONE ctermbg=66 cterm=NONE + hi PmenuSel ctermfg=230 ctermbg=246 cterm=NONE + hi PmenuThumb ctermfg=NONE ctermbg=246 cterm=NONE + hi Question ctermfg=37 ctermbg=NONE cterm=bold + hi Search ctermfg=136 ctermbg=NONE cterm=reverse + hi SignColumn ctermfg=66 ctermbg=NONE cterm=NONE + hi Visual ctermfg=247 ctermbg=230 cterm=reverse + hi VisualNOS ctermfg=NONE ctermbg=254 cterm=reverse + hi WarningMsg ctermfg=166 ctermbg=NONE cterm=bold + hi Comment ctermfg=247 ctermbg=NONE cterm=italic + hi Constant ctermfg=37 ctermbg=NONE cterm=NONE + hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE + hi Error ctermfg=160 ctermbg=230 cterm=bold,reverse + hi Identifier ctermfg=32 ctermbg=NONE cterm=NONE + hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE + hi PreProc ctermfg=166 ctermbg=NONE cterm=NONE + hi Special ctermfg=166 ctermbg=NONE cterm=NONE + hi Statement ctermfg=106 ctermbg=NONE cterm=NONE + hi Todo ctermfg=162 ctermbg=NONE cterm=bold + hi Type ctermfg=136 ctermbg=NONE cterm=NONE + hi Underlined ctermfg=61 ctermbg=NONE cterm=NONE + hi NormalMode ctermfg=242 ctermbg=230 cterm=reverse + hi InsertMode ctermfg=37 ctermbg=230 cterm=reverse + hi ReplaceMode ctermfg=166 ctermbg=230 cterm=reverse + hi VisualMode ctermfg=162 ctermbg=230 cterm=reverse + hi CommandMode ctermfg=162 ctermbg=230 cterm=reverse + if !s:italics + hi Comment cterm=NONE + endif + if has('nvim') + hi! link TermCursor Cursor + hi TermCursorNC ctermfg=230 ctermbg=247 cterm=NONE + endif + if !get(g:, 'solarized_extra_hi_groups', 0) + unlet s:t_Co s:italics s:termtrans + finish + endif + hi! link vimVar Identifier + hi! link vimFunc Function + hi! link vimUserFunc Function + hi! link helpSpecial Special + hi! link vimSet Normal + hi! link vimSetEqual Normal + hi vimCommentString ctermfg=61 ctermbg=NONE cterm=NONE + hi vimCommand ctermfg=136 ctermbg=NONE cterm=NONE + hi vimCmdSep ctermfg=32 ctermbg=NONE cterm=bold + hi helpExample ctermfg=242 ctermbg=NONE cterm=NONE + hi helpOption ctermfg=37 ctermbg=NONE cterm=NONE + hi helpNote ctermfg=162 ctermbg=NONE cterm=NONE + hi helpVim ctermfg=162 ctermbg=NONE cterm=NONE + hi helpHyperTextJump ctermfg=32 ctermbg=NONE cterm=NONE + hi helpHyperTextEntry ctermfg=106 ctermbg=NONE cterm=NONE + hi vimIsCommand ctermfg=246 ctermbg=NONE cterm=NONE + hi vimSynMtchOpt ctermfg=136 ctermbg=NONE cterm=NONE + hi vimSynType ctermfg=37 ctermbg=NONE cterm=NONE + hi vimHiLink ctermfg=32 ctermbg=NONE cterm=NONE + hi vimHiGroup ctermfg=32 ctermbg=NONE cterm=NONE + hi vimGroup ctermfg=32 ctermbg=NONE cterm=bold + hi! link diffAdded Statement + hi! link diffLine Identifier + hi gitcommitComment ctermfg=247 ctermbg=NONE cterm=italic + hi! link gitcommitUntracked gitcommitComment + hi! link gitcommitDiscarded gitcommitComment + hi! link gitcommitSelected gitcommitComment + hi gitcommitUnmerged ctermfg=106 ctermbg=NONE cterm=bold + hi gitcommitOnBranch ctermfg=247 ctermbg=NONE cterm=bold + hi gitcommitBranch ctermfg=162 ctermbg=NONE cterm=bold + hi! link gitcommitNoBranch gitcommitBranch + hi gitcommitdiscardedtype ctermfg=160 ctermbg=NONE cterm=NONE + hi gitcommitselectedtype ctermfg=106 ctermbg=NONE cterm=NONE + hi gitcommitHeader ctermfg=247 ctermbg=NONE cterm=NONE + hi gitcommitUntrackedFile ctermfg=37 ctermbg=NONE cterm=bold + hi gitcommitDiscardedFile ctermfg=160 ctermbg=NONE cterm=bold + hi gitcommitSelectedFile ctermfg=106 ctermbg=NONE cterm=bold + hi gitcommitUnmergedFile ctermfg=136 ctermbg=NONE cterm=bold + hi gitcommitFile ctermfg=66 ctermbg=NONE cterm=bold + hi! link gitcommitDiscardedArrow gitcommitDiscardedFile + hi! link gitcommitSelectedArrow gitcommitSelectedFile + hi! link gitcommitUnmergedArrow gitcommitUnmergedFile + hi htmlTag ctermfg=247 ctermbg=NONE cterm=NONE + hi htmlEndTag ctermfg=247 ctermbg=NONE cterm=NONE + hi htmlTagN ctermfg=242 ctermbg=NONE cterm=bold + hi htmlTagName ctermfg=32 ctermbg=NONE cterm=bold + hi htmlSpecialTagName ctermfg=32 ctermbg=NONE cterm=italic + hi htmlArg ctermfg=246 ctermbg=NONE cterm=NONE + hi javaScript ctermfg=136 ctermbg=NONE cterm=NONE + hi! link jsFuncCall Function + hi perlHereDoc ctermfg=242 ctermbg=254 cterm=NONE + hi perlVarPlain ctermfg=136 ctermbg=254 cterm=NONE + hi perlStatementFileDesc ctermfg=37 ctermbg=254 cterm=NONE + hi texstatement ctermfg=37 ctermbg=254 cterm=NONE + hi texmathzonex ctermfg=136 ctermbg=254 cterm=NONE + hi texmathmatcher ctermfg=136 ctermbg=254 cterm=NONE + hi texreflabel ctermfg=136 ctermbg=254 cterm=NONE + hi rubyDefine ctermfg=242 ctermbg=254 cterm=bold + hi! link rubySymbol Type + hi rubyBoolean ctermfg=162 ctermbg=254 cterm=NONE + hi cPreCondit ctermfg=166 ctermbg=NONE cterm=NONE + hi VarId ctermfg=32 ctermbg=NONE cterm=NONE + hi ConId ctermfg=136 ctermbg=NONE cterm=NONE + hi hsImport ctermfg=162 ctermbg=NONE cterm=NONE + hi hsString ctermfg=246 ctermbg=NONE cterm=NONE + hi hsStructure ctermfg=37 ctermbg=NONE cterm=NONE + hi hs_hlFunctionName ctermfg=32 ctermbg=NONE cterm=NONE + hi hsStatement ctermfg=37 ctermbg=NONE cterm=NONE + hi hsImportLabel ctermfg=37 ctermbg=NONE cterm=NONE + hi hs_OpFunctionName ctermfg=136 ctermbg=NONE cterm=NONE + hi hs_DeclareFunction ctermfg=166 ctermbg=NONE cterm=NONE + hi hsVarSym ctermfg=37 ctermbg=NONE cterm=NONE + hi hsType ctermfg=136 ctermbg=NONE cterm=NONE + hi hsTypedef ctermfg=37 ctermbg=NONE cterm=NONE + hi hsModuleName ctermfg=106 ctermbg=NONE cterm=NONE + hi! link hsImportParams Delimiter + hi! link hsDelimTypeExport Delimiter + hi! link hsModuleStartLabel hsStructure + hi! link hsModuleWhereLabel hsModuleStartLabel + hi hsNiceOperator ctermfg=37 ctermbg=NONE cterm=NONE + hi hsniceoperator ctermfg=37 ctermbg=NONE cterm=NONE + if !s:italics + hi gitcommitComment cterm=NONE + hi htmlSpecialTagName cterm=NONE + endif + let hs_highlight_boolean=1 + let hs_highlight_delimiters=1 + hi pandocTitleBlock ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocTitleBlockTitle ctermfg=32 ctermbg=NONE cterm=bold + hi pandocTitleComment ctermfg=32 ctermbg=NONE cterm=bold + hi pandocComment ctermfg=247 ctermbg=NONE cterm=italic + hi pandocVerbatimBlock ctermfg=136 ctermbg=NONE cterm=NONE + hi! link pandocVerbatimBlockDeep pandocVerbatimBlock + hi! link pandocCodeBlock pandocVerbatimBlock + hi! link pandocCodeBlockDelim pandocVerbatimBlock + hi pandocBlockQuote ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader1 ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader2 ctermfg=37 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader3 ctermfg=136 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader4 ctermfg=160 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader5 ctermfg=66 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader6 ctermfg=247 ctermbg=NONE cterm=NONE + hi pandocListMarker ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocListReference ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocDefinitionBlock ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocDefinitionTerm ctermfg=61 ctermbg=NONE cterm=standout + hi pandocDefinitionIndctr ctermfg=61 ctermbg=NONE cterm=bold + hi pandocEmphasisDefinition ctermfg=61 ctermbg=NONE cterm=italic + hi pandocEmphasisNestedDefinition ctermfg=61 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisDefinition ctermfg=61 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedDefinition ctermfg=61 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisDefinition ctermfg=61 ctermbg=NONE cterm=bold + hi pandocStrikeoutDefinition ctermfg=61 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineDefinition ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocSuperscriptDefinition ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocSubscriptDefinition ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocTable ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocTableStructure ctermfg=32 ctermbg=NONE cterm=NONE + hi! link pandocTableStructureTop pandocTableStructre + hi! link pandocTableStructureEnd pandocTableStructre + hi pandocTableZebraLight ctermfg=32 ctermbg=230 cterm=NONE + hi pandocTableZebraDark ctermfg=32 ctermbg=254 cterm=NONE + hi pandocEmphasisTable ctermfg=32 ctermbg=NONE cterm=italic + hi pandocEmphasisNestedTable ctermfg=32 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisTable ctermfg=32 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedTable ctermfg=32 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisTable ctermfg=32 ctermbg=NONE cterm=bold + hi pandocStrikeoutTable ctermfg=32 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineTable ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocSuperscriptTable ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocSubscriptTable ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocHeadingMarker ctermfg=166 ctermbg=NONE cterm=bold + hi pandocEmphasisHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocEmphasisNestedHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocStrikeoutHeading ctermfg=166 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocSuperscriptHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocSubscriptHeading ctermfg=166 ctermbg=NONE cterm=bold + hi pandocLinkDelim ctermfg=247 ctermbg=NONE cterm=NONE + hi pandocLinkLabel ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocLinkText ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocLinkURL ctermfg=246 ctermbg=NONE cterm=NONE + hi pandocLinkTitle ctermfg=246 ctermbg=NONE cterm=NONE + hi pandocLinkTitleDelim ctermfg=247 ctermbg=NONE cterm=NONE + hi pandocLinkDefinition ctermfg=37 ctermbg=NONE cterm=NONE + hi pandocLinkDefinitionID ctermfg=32 ctermbg=NONE cterm=bold + hi pandocImageCaption ctermfg=61 ctermbg=NONE cterm=bold + hi pandocFootnoteLink ctermfg=106 ctermbg=NONE cterm=NONE + hi pandocFootnoteDefLink ctermfg=106 ctermbg=NONE cterm=bold + hi pandocFootnoteInline ctermfg=106 ctermbg=NONE cterm=bold + hi pandocFootnote ctermfg=106 ctermbg=NONE cterm=NONE + hi pandocCitationDelim ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocCitation ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocCitationID ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocCitationRef ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocStyleDelim ctermfg=247 ctermbg=NONE cterm=NONE + hi pandocEmphasis ctermfg=66 ctermbg=NONE cterm=italic + hi pandocEmphasisNested ctermfg=66 ctermbg=NONE cterm=bold + hi pandocStrongEmphasis ctermfg=66 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNested ctermfg=66 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasis ctermfg=66 ctermbg=NONE cterm=bold + hi pandocStrikeout ctermfg=247 ctermbg=NONE cterm=reverse + hi pandocVerbatimInline ctermfg=136 ctermbg=NONE cterm=NONE + hi pandocSuperscript ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocSubscript ctermfg=61 ctermbg=NONE cterm=NONE + hi pandocRule ctermfg=32 ctermbg=NONE cterm=bold + hi pandocRuleLine ctermfg=32 ctermbg=NONE cterm=bold + hi pandocEscapePair ctermfg=160 ctermbg=NONE cterm=bold + hi pandocCitationRef ctermfg=162 ctermbg=NONE cterm=NONE + hi pandocNonBreakingSpace ctermfg=160 ctermbg=NONE cterm=reverse + hi! link pandocEscapedCharacter pandocEscapePair + hi! link pandocLineBreak pandocEscapePair + hi pandocMetadataDelim ctermfg=247 ctermbg=NONE cterm=NONE + hi pandocMetadata ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocMetadataKey ctermfg=32 ctermbg=NONE cterm=NONE + hi pandocMetadata ctermfg=32 ctermbg=NONE cterm=bold + hi! link pandocMetadataTitle pandocMetadata + if !s:italics + hi pandocComment cterm=NONE + hi pandocEmphasisDefinition cterm=NONE + hi pandocEmphasisTable cterm=NONE + hi pandocEmphasis cterm=NONE + endif + unlet s:termtrans + unlet s:t_Co s:italics + finish +endif + +if s:t_Co >= 16 + if &background ==# 'dark' + if s:termtrans + hi Normal ctermfg=12 ctermbg=NONE cterm=NONE + hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline + hi FoldColumn ctermfg=fg ctermbg=NONE cterm=NONE + hi Folded ctermfg=fg ctermbg=NONE cterm=bold + hi LineNr ctermfg=10 ctermbg=NONE cterm=NONE + hi Terminal ctermfg=fg ctermbg=NONE cterm=NONE + hi ToolbarButton ctermfg=14 ctermbg=NONE cterm=bold + hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE + else + hi Normal ctermfg=12 ctermbg=0 cterm=NONE + hi CursorLine ctermfg=NONE ctermbg=0 cterm=NONE + hi FoldColumn ctermfg=12 ctermbg=0 cterm=NONE + hi Folded ctermfg=12 ctermbg=0 cterm=bold + hi LineNr ctermfg=10 ctermbg=0 cterm=NONE + hi Terminal ctermfg=fg ctermbg=0 cterm=NONE + hi ToolbarButton ctermfg=14 ctermbg=0 cterm=bold + hi ToolbarLine ctermfg=NONE ctermbg=0 cterm=NONE + endif + if get(g:, 'solarized_visibility', '') ==# 'high' + hi CursorLineNr ctermfg=9 ctermbg=0 cterm=bold + hi NonText ctermfg=9 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=9 ctermbg=NONE cterm=reverse + hi SpellBad ctermfg=13 ctermbg=7 cterm=reverse,underline + hi SpellCap ctermfg=13 ctermbg=7 cterm=reverse,underline + hi SpellLocal ctermfg=3 ctermbg=7 cterm=reverse,underline + hi SpellRare ctermfg=6 ctermbg=7 cterm=reverse,underline + hi Title ctermfg=3 ctermbg=NONE cterm=bold + elseif get(g:, 'solarized_visibility', '') ==# 'low' + hi CursorLineNr ctermfg=10 ctermbg=0 cterm=bold + hi NonText ctermfg=0 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=0 ctermbg=NONE cterm=reverse + hi SpellBad ctermfg=13 ctermbg=NONE cterm=underline + hi SpellCap ctermfg=13 ctermbg=NONE cterm=underline + hi SpellLocal ctermfg=3 ctermbg=NONE cterm=underline + hi SpellRare ctermfg=6 ctermbg=NONE cterm=underline + hi Title ctermfg=10 ctermbg=NONE cterm=bold + else + hi CursorLineNr ctermfg=12 ctermbg=0 cterm=bold + hi NonText ctermfg=11 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=11 ctermbg=0 cterm=bold + hi SpellBad ctermfg=13 ctermbg=NONE cterm=underline + hi SpellCap ctermfg=13 ctermbg=NONE cterm=underline + hi SpellLocal ctermfg=3 ctermbg=NONE cterm=underline + hi SpellRare ctermfg=6 ctermbg=NONE cterm=underline + hi Title ctermfg=3 ctermbg=NONE cterm=bold + endif + if s:termtrans + hi CursorLineNr ctermbg=NONE + endif + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor ctermfg=8 ctermbg=12 cterm=NONE + else + hi Cursor ctermfg=15 ctermbg=4 cterm=NONE + endif + if get(g:, 'solarized_diffmode', '') ==# 'high' + hi DiffAdd ctermfg=2 ctermbg=NONE cterm=reverse + hi DiffChange ctermfg=3 ctermbg=NONE cterm=reverse + hi DiffDelete ctermfg=1 ctermbg=NONE cterm=reverse + hi DiffText ctermfg=4 ctermbg=NONE cterm=reverse + elseif get(g:, 'solarized_diffmode', '') ==# 'low' + hi DiffAdd ctermfg=2 ctermbg=NONE cterm=NONE + hi DiffChange ctermfg=3 ctermbg=NONE cterm=NONE + hi DiffDelete ctermfg=1 ctermbg=NONE cterm=bold + hi DiffText ctermfg=4 ctermbg=NONE cterm=NONE + else " normal diffmode + hi DiffAdd ctermfg=2 ctermbg=0 cterm=NONE + hi DiffChange ctermfg=3 ctermbg=0 cterm=NONE + hi DiffDelete ctermfg=1 ctermbg=0 cterm=bold + hi DiffText ctermfg=4 ctermbg=0 cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'low' + hi StatusLine ctermfg=10 ctermbg=7 cterm=reverse + hi StatusLineNC ctermfg=10 ctermbg=14 cterm=reverse + hi TabLine ctermfg=10 ctermbg=14 cterm=reverse + hi TabLineFill ctermfg=10 ctermbg=14 cterm=reverse + hi TabLineSel ctermfg=10 ctermbg=7 cterm=reverse + hi VertSplit ctermfg=14 ctermbg=10 cterm=NONE + elseif get(g:, 'solarized_statusline', '') ==# 'flat' + hi StatusLine ctermfg=8 ctermbg=7 cterm=reverse + hi StatusLineNC ctermfg=8 ctermbg=14 cterm=reverse + hi TabLineSel ctermfg=7 ctermbg=8 cterm=NONE + hi TabLine ctermfg=10 ctermbg=8 cterm=NONE + hi TabLineFill ctermfg=10 ctermbg=8 cterm=NONE + hi VertSplit ctermfg=10 ctermbg=8 cterm=NONE + else + hi StatusLine ctermfg=12 ctermbg=0 cterm=reverse + hi StatusLineNC ctermfg=10 ctermbg=0 cterm=reverse + hi TabLine ctermfg=10 ctermbg=0 cterm=reverse + hi TabLineFill ctermfg=10 ctermbg=0 cterm=reverse + hi TabLineSel ctermfg=12 ctermbg=0 cterm=reverse + hi VertSplit ctermfg=14 ctermbg=10 cterm=NONE + endif + hi ColorColumn ctermfg=NONE ctermbg=0 cterm=NONE + hi Conceal ctermfg=4 ctermbg=NONE cterm=NONE + hi CursorColumn ctermfg=NONE ctermbg=0 cterm=NONE + hi Directory ctermfg=4 ctermbg=NONE cterm=NONE + hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE + hi ErrorMsg ctermfg=1 ctermbg=15 cterm=reverse + hi IncSearch ctermfg=9 ctermbg=NONE cterm=standout + hi MatchParen ctermfg=15 ctermbg=0 cterm=bold + hi ModeMsg ctermfg=4 ctermbg=NONE cterm=NONE + hi MoreMsg ctermfg=4 ctermbg=NONE cterm=NONE + hi Pmenu ctermfg=11 ctermbg=8 cterm=NONE + hi PmenuSbar ctermfg=NONE ctermbg=8 cterm=NONE + hi PmenuSel ctermfg=11 ctermbg=0 cterm=NONE + hi PmenuThumb ctermfg=NONE ctermbg=8 cterm=NONE + hi Question ctermfg=6 ctermbg=NONE cterm=bold + hi Search ctermfg=3 ctermbg=NONE cterm=reverse + hi SignColumn ctermfg=12 ctermbg=NONE cterm=NONE + hi Visual ctermfg=10 ctermbg=8 cterm=reverse + hi VisualNOS ctermfg=NONE ctermbg=0 cterm=reverse + hi WarningMsg ctermfg=9 ctermbg=NONE cterm=bold + hi WildMenu ctermfg=7 ctermbg=0 cterm=reverse + hi Comment ctermfg=10 ctermbg=NONE cterm=italic + hi Constant ctermfg=6 ctermbg=NONE cterm=NONE + hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE + hi Error ctermfg=1 ctermbg=15 cterm=bold,reverse + hi Identifier ctermfg=4 ctermbg=NONE cterm=NONE + hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE + hi PreProc ctermfg=9 ctermbg=NONE cterm=NONE + hi Special ctermfg=9 ctermbg=NONE cterm=NONE + hi Statement ctermfg=2 ctermbg=NONE cterm=NONE + hi Todo ctermfg=5 ctermbg=NONE cterm=bold + hi Type ctermfg=3 ctermbg=NONE cterm=NONE + hi Underlined ctermfg=13 ctermbg=NONE cterm=NONE + hi NormalMode ctermfg=12 ctermbg=15 cterm=reverse + hi InsertMode ctermfg=6 ctermbg=15 cterm=reverse + hi ReplaceMode ctermfg=9 ctermbg=15 cterm=reverse + hi VisualMode ctermfg=5 ctermbg=15 cterm=reverse + hi CommandMode ctermfg=5 ctermbg=15 cterm=reverse + if !s:italics + hi Comment cterm=NONE + endif + if !get(g:, 'solarized_extra_hi_groups', 0) + unlet s:t_Co s:italics s:termtrans + finish + endif + hi! link vimVar Identifier + hi! link vimFunc Function + hi! link vimUserFunc Function + hi! link helpSpecial Special + hi! link vimSet Normal + hi! link vimSetEqual Normal + hi vimCommentString ctermfg=13 ctermbg=NONE cterm=NONE + hi vimCommand ctermfg=3 ctermbg=NONE cterm=NONE + hi vimCmdSep ctermfg=4 ctermbg=NONE cterm=bold + hi helpExample ctermfg=14 ctermbg=NONE cterm=NONE + hi helpOption ctermfg=6 ctermbg=NONE cterm=NONE + hi helpNote ctermfg=5 ctermbg=NONE cterm=NONE + hi helpVim ctermfg=5 ctermbg=NONE cterm=NONE + hi helpHyperTextJump ctermfg=4 ctermbg=NONE cterm=NONE + hi helpHyperTextEntry ctermfg=2 ctermbg=NONE cterm=NONE + hi vimIsCommand ctermfg=11 ctermbg=NONE cterm=NONE + hi vimSynMtchOpt ctermfg=3 ctermbg=NONE cterm=NONE + hi vimSynType ctermfg=6 ctermbg=NONE cterm=NONE + hi vimHiLink ctermfg=4 ctermbg=NONE cterm=NONE + hi vimHiGroup ctermfg=4 ctermbg=NONE cterm=NONE + hi vimGroup ctermfg=4 ctermbg=NONE cterm=bold + hi! link diffAdded Statement + hi! link diffLine Identifier + hi gitcommitComment ctermfg=10 ctermbg=NONE cterm=italic + hi! link gitcommitUntracked gitcommitComment + hi! link gitcommitDiscarded gitcommitComment + hi! link gitcommitSelected gitcommitComment + hi gitcommitUnmerged ctermfg=2 ctermbg=NONE cterm=bold + hi gitcommitOnBranch ctermfg=10 ctermbg=NONE cterm=bold + hi gitcommitBranch ctermfg=5 ctermbg=NONE cterm=bold + hi! link gitcommitNoBranch gitcommitBranch + hi gitcommitdiscardedtype ctermfg=1 ctermbg=NONE cterm=NONE + hi gitcommitselectedtype ctermfg=2 ctermbg=NONE cterm=NONE + hi gitcommitHeader ctermfg=10 ctermbg=NONE cterm=NONE + hi gitcommitUntrackedFile ctermfg=6 ctermbg=NONE cterm=bold + hi gitcommitDiscardedFile ctermfg=1 ctermbg=NONE cterm=bold + hi gitcommitSelectedFile ctermfg=2 ctermbg=NONE cterm=bold + hi gitcommitUnmergedFile ctermfg=3 ctermbg=NONE cterm=bold + hi gitcommitFile ctermfg=12 ctermbg=NONE cterm=bold + hi! link gitcommitDiscardedArrow gitcommitDiscardedFile + hi! link gitcommitSelectedArrow gitcommitSelectedFile + hi! link gitcommitUnmergedArrow gitcommitUnmergedFile + hi htmlTag ctermfg=10 ctermbg=NONE cterm=NONE + hi htmlEndTag ctermfg=10 ctermbg=NONE cterm=NONE + hi htmlTagN ctermfg=14 ctermbg=NONE cterm=bold + hi htmlTagName ctermfg=4 ctermbg=NONE cterm=bold + hi htmlSpecialTagName ctermfg=4 ctermbg=NONE cterm=italic + hi htmlArg ctermfg=11 ctermbg=NONE cterm=NONE + hi javaScript ctermfg=3 ctermbg=NONE cterm=NONE + hi! link jsFuncCall Function + hi perlHereDoc ctermfg=14 ctermbg=0 cterm=NONE + hi perlVarPlain ctermfg=3 ctermbg=0 cterm=NONE + hi perlStatementFileDesc ctermfg=6 ctermbg=0 cterm=NONE + hi texstatement ctermfg=6 ctermbg=0 cterm=NONE + hi texmathzonex ctermfg=3 ctermbg=0 cterm=NONE + hi texmathmatcher ctermfg=3 ctermbg=0 cterm=NONE + hi texreflabel ctermfg=3 ctermbg=0 cterm=NONE + hi rubyDefine ctermfg=14 ctermbg=0 cterm=bold + hi! link rubySymbol Type + hi rubyBoolean ctermfg=5 ctermbg=0 cterm=NONE + hi cPreCondit ctermfg=9 ctermbg=NONE cterm=NONE + hi VarId ctermfg=4 ctermbg=NONE cterm=NONE + hi ConId ctermfg=3 ctermbg=NONE cterm=NONE + hi hsImport ctermfg=5 ctermbg=NONE cterm=NONE + hi hsString ctermfg=11 ctermbg=NONE cterm=NONE + hi hsStructure ctermfg=6 ctermbg=NONE cterm=NONE + hi hs_hlFunctionName ctermfg=4 ctermbg=NONE cterm=NONE + hi hsStatement ctermfg=6 ctermbg=NONE cterm=NONE + hi hsImportLabel ctermfg=6 ctermbg=NONE cterm=NONE + hi hs_OpFunctionName ctermfg=3 ctermbg=NONE cterm=NONE + hi hs_DeclareFunction ctermfg=9 ctermbg=NONE cterm=NONE + hi hsVarSym ctermfg=6 ctermbg=NONE cterm=NONE + hi hsType ctermfg=3 ctermbg=NONE cterm=NONE + hi hsTypedef ctermfg=6 ctermbg=NONE cterm=NONE + hi hsModuleName ctermfg=2 ctermbg=NONE cterm=NONE + hi! link hsImportParams Delimiter + hi! link hsDelimTypeExport Delimiter + hi! link hsModuleStartLabel hsStructure + hi! link hsModuleWhereLabel hsModuleStartLabel + hi hsNiceOperator ctermfg=6 ctermbg=NONE cterm=NONE + hi hsniceoperator ctermfg=6 ctermbg=NONE cterm=NONE + if !s:italics + hi gitcommitComment cterm=NONE + hi htmlSpecialTagName cterm=NONE + endif + let hs_highlight_boolean=1 + let hs_highlight_delimiters=1 + hi pandocTitleBlock ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocTitleBlockTitle ctermfg=4 ctermbg=NONE cterm=bold + hi pandocTitleComment ctermfg=4 ctermbg=NONE cterm=bold + hi pandocComment ctermfg=10 ctermbg=NONE cterm=italic + hi pandocVerbatimBlock ctermfg=3 ctermbg=NONE cterm=NONE + hi! link pandocVerbatimBlockDeep pandocVerbatimBlock + hi! link pandocCodeBlock pandocVerbatimBlock + hi! link pandocCodeBlockDelim pandocVerbatimBlock + hi pandocBlockQuote ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader1 ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader2 ctermfg=6 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader3 ctermfg=3 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader4 ctermfg=1 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader5 ctermfg=12 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader6 ctermfg=10 ctermbg=NONE cterm=NONE + hi pandocListMarker ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocListReference ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocDefinitionBlock ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocDefinitionTerm ctermfg=13 ctermbg=NONE cterm=standout + hi pandocDefinitionIndctr ctermfg=13 ctermbg=NONE cterm=bold + hi pandocEmphasisDefinition ctermfg=13 ctermbg=NONE cterm=italic + hi pandocEmphasisNestedDefinition ctermfg=13 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisDefinition ctermfg=13 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedDefinition ctermfg=13 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisDefinition ctermfg=13 ctermbg=NONE cterm=bold + hi pandocStrikeoutDefinition ctermfg=13 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineDefinition ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocSuperscriptDefinition ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocSubscriptDefinition ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocTable ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocTableStructure ctermfg=4 ctermbg=NONE cterm=NONE + hi! link pandocTableStructureTop pandocTableStructre + hi! link pandocTableStructureEnd pandocTableStructre + hi pandocTableZebraLight ctermfg=4 ctermbg=8 cterm=NONE + hi pandocTableZebraDark ctermfg=4 ctermbg=0 cterm=NONE + hi pandocEmphasisTable ctermfg=4 ctermbg=NONE cterm=italic + hi pandocEmphasisNestedTable ctermfg=4 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisTable ctermfg=4 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedTable ctermfg=4 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisTable ctermfg=4 ctermbg=NONE cterm=bold + hi pandocStrikeoutTable ctermfg=4 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineTable ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocSuperscriptTable ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocSubscriptTable ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocHeadingMarker ctermfg=9 ctermbg=NONE cterm=bold + hi pandocEmphasisHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocEmphasisNestedHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocStrikeoutHeading ctermfg=9 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocSuperscriptHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocSubscriptHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocLinkDelim ctermfg=10 ctermbg=NONE cterm=NONE + hi pandocLinkLabel ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocLinkText ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocLinkURL ctermfg=11 ctermbg=NONE cterm=NONE + hi pandocLinkTitle ctermfg=11 ctermbg=NONE cterm=NONE + hi pandocLinkTitleDelim ctermfg=10 ctermbg=NONE cterm=NONE + hi pandocLinkDefinition ctermfg=6 ctermbg=NONE cterm=NONE + hi pandocLinkDefinitionID ctermfg=4 ctermbg=NONE cterm=bold + hi pandocImageCaption ctermfg=13 ctermbg=NONE cterm=bold + hi pandocFootnoteLink ctermfg=2 ctermbg=NONE cterm=NONE + hi pandocFootnoteDefLink ctermfg=2 ctermbg=NONE cterm=bold + hi pandocFootnoteInline ctermfg=2 ctermbg=NONE cterm=bold + hi pandocFootnote ctermfg=2 ctermbg=NONE cterm=NONE + hi pandocCitationDelim ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocCitation ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocCitationID ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocCitationRef ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocStyleDelim ctermfg=10 ctermbg=NONE cterm=NONE + hi pandocEmphasis ctermfg=12 ctermbg=NONE cterm=italic + hi pandocEmphasisNested ctermfg=12 ctermbg=NONE cterm=bold + hi pandocStrongEmphasis ctermfg=12 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNested ctermfg=12 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasis ctermfg=12 ctermbg=NONE cterm=bold + hi pandocStrikeout ctermfg=10 ctermbg=NONE cterm=reverse + hi pandocVerbatimInline ctermfg=3 ctermbg=NONE cterm=NONE + hi pandocSuperscript ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocSubscript ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocRule ctermfg=4 ctermbg=NONE cterm=bold + hi pandocRuleLine ctermfg=4 ctermbg=NONE cterm=bold + hi pandocEscapePair ctermfg=1 ctermbg=NONE cterm=bold + hi pandocCitationRef ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocNonBreakingSpace ctermfg=1 ctermbg=NONE cterm=reverse + hi! link pandocEscapedCharacter pandocEscapePair + hi! link pandocLineBreak pandocEscapePair + hi pandocMetadataDelim ctermfg=10 ctermbg=NONE cterm=NONE + hi pandocMetadata ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocMetadataKey ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocMetadata ctermfg=4 ctermbg=NONE cterm=bold + hi! link pandocMetadataTitle pandocMetadata + if !s:italics + hi pandocComment cterm=NONE + hi pandocEmphasisDefinition cterm=NONE + hi pandocEmphasisTable cterm=NONE + hi pandocEmphasis cterm=NONE + endif + unlet s:termtrans + unlet s:t_Co s:italics + finish + endif + " Light background + if s:termtrans + hi Normal ctermfg=11 ctermbg=NONE cterm=NONE + hi FoldColumn ctermfg=11 ctermbg=NONE cterm=NONE + hi Folded ctermfg=11 ctermbg=NONE cterm=bold + hi LineNr ctermfg=14 ctermbg=NONE cterm=NONE + hi Terminal ctermfg=fg ctermbg=NONE cterm=NONE + hi ToolbarButton ctermfg=10 ctermbg=NONE cterm=bold + hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE + else + hi Normal ctermfg=11 ctermbg=7 cterm=NONE + hi FoldColumn ctermfg=11 ctermbg=7 cterm=NONE + hi Folded ctermfg=11 ctermbg=7 cterm=bold + hi LineNr ctermfg=14 ctermbg=7 cterm=NONE + hi Terminal ctermfg=fg ctermbg=7 cterm=NONE + hi ToolbarButton ctermfg=10 ctermbg=7 cterm=bold + hi ToolbarLine ctermfg=NONE ctermbg=7 cterm=NONE + endif + if get(g:, 'solarized_visibility', '') ==# 'high' + hi CursorLineNr ctermfg=1 ctermbg=7 cterm=bold + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor ctermfg=15 ctermbg=11 cterm=NONE + else + hi Cursor ctermfg=15 ctermbg=1 cterm=NONE + endif + hi MatchParen ctermfg=8 ctermbg=NONE cterm=bold,underline + hi NonText ctermfg=1 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=1 ctermbg=NONE cterm=reverse + hi SpellBad ctermfg=5 ctermbg=7 cterm=reverse,underline + hi SpellCap ctermfg=5 ctermbg=7 cterm=reverse,underline + hi SpellLocal ctermfg=3 ctermbg=7 cterm=reverse,underline + hi SpellRare ctermfg=6 ctermbg=7 cterm=reverse,underline + hi Title ctermfg=9 ctermbg=NONE cterm=bold + elseif get(g:, 'solarized_visibility', '') ==# 'low' + hi CursorLineNr ctermfg=14 ctermbg=7 cterm=bold + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor ctermfg=15 ctermbg=11 cterm=NONE + else + hi Cursor ctermfg=15 ctermbg=9 cterm=NONE + endif + hi MatchParen ctermfg=8 ctermbg=7 cterm=bold + hi NonText ctermfg=7 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=7 ctermbg=NONE cterm=bold + hi SpellBad ctermfg=5 ctermbg=NONE cterm=underline + hi SpellCap ctermfg=5 ctermbg=NONE cterm=underline + hi SpellLocal ctermfg=3 ctermbg=NONE cterm=underline + hi SpellRare ctermfg=6 ctermbg=NONE cterm=underline + hi Title ctermfg=14 ctermbg=NONE cterm=bold + else + hi CursorLineNr ctermfg=11 ctermbg=7 cterm=bold + if get(g:, 'solarized_old_cursor_style', 0) + hi Cursor ctermfg=15 ctermbg=11 cterm=NONE + else + hi Cursor ctermfg=15 ctermbg=9 cterm=NONE + endif + hi MatchParen ctermfg=8 ctermbg=7 cterm=bold + hi NonText ctermfg=12 ctermbg=NONE cterm=bold + hi SpecialKey ctermfg=12 ctermbg=7 cterm=bold + hi SpellBad ctermfg=5 ctermbg=NONE cterm=underline + hi SpellCap ctermfg=5 ctermbg=NONE cterm=underline + hi SpellLocal ctermfg=3 ctermbg=NONE cterm=underline + hi SpellRare ctermfg=6 ctermbg=NONE cterm=underline + hi Title ctermfg=9 ctermbg=NONE cterm=bold + endif + if s:termtrans + hi CursorLineNr ctermbg=NONE + endif + if get(g:, 'solarized_diffmode', '') ==# 'high' + hi DiffAdd ctermfg=2 ctermbg=NONE cterm=reverse + hi DiffChange ctermfg=3 ctermbg=NONE cterm=reverse + hi DiffDelete ctermfg=1 ctermbg=NONE cterm=reverse + hi DiffText ctermfg=4 ctermbg=NONE cterm=reverse + elseif get(g:, 'solarized_diffmode', '') ==# 'low' + hi DiffAdd ctermfg=2 ctermbg=NONE cterm=NONE + hi DiffChange ctermfg=3 ctermbg=NONE cterm=NONE + hi DiffDelete ctermfg=1 ctermbg=NONE cterm=bold + hi DiffText ctermfg=4 ctermbg=NONE cterm=NONE + else " normal diffmode + hi DiffAdd ctermfg=2 ctermbg=7 cterm=NONE + hi DiffChange ctermfg=3 ctermbg=7 cterm=NONE + hi DiffDelete ctermfg=1 ctermbg=7 cterm=bold + hi DiffText ctermfg=4 ctermbg=7 cterm=NONE + endif + if get(g:, 'solarized_statusline', '') ==# 'low' + hi StatusLine ctermfg=14 ctermbg=7 cterm=reverse + hi StatusLineNC ctermfg=14 ctermbg=10 cterm=reverse + hi TabLine ctermfg=14 ctermbg=10 cterm=reverse + hi TabLineFill ctermfg=14 ctermbg=10 cterm=reverse + hi TabLineSel ctermfg=14 ctermbg=7 cterm=reverse + hi VertSplit ctermfg=10 ctermbg=14 cterm=NONE + hi WildMenu ctermfg=11 ctermbg=7 cterm=reverse + elseif get(g:, 'solarized_statusline', '') ==# 'flat' + hi StatusLine ctermfg=15 ctermbg=0 cterm=reverse + hi StatusLineNC ctermfg=15 ctermbg=10 cterm=reverse + hi TabLineSel ctermfg=0 ctermbg=15 cterm=NONE + hi TabLine ctermfg=14 ctermbg=15 cterm=NONE + hi TabLineFill ctermfg=14 ctermbg=15 cterm=NONE + hi VertSplit ctermfg=14 ctermbg=15 cterm=NONE + hi WildMenu ctermfg=14 ctermbg=15 cterm=reverse + else + hi StatusLine ctermfg=10 ctermbg=7 cterm=reverse + hi StatusLineNC ctermfg=12 ctermbg=7 cterm=reverse + hi TabLine ctermfg=12 ctermbg=7 cterm=reverse + hi TabLineFill ctermfg=12 ctermbg=7 cterm=reverse + hi TabLineSel ctermfg=10 ctermbg=7 cterm=reverse + hi VertSplit ctermfg=10 ctermbg=14 cterm=NONE + hi WildMenu ctermfg=12 ctermbg=7 cterm=reverse + endif + hi ColorColumn ctermfg=NONE ctermbg=7 cterm=NONE + hi Conceal ctermfg=4 ctermbg=NONE cterm=NONE + hi CursorColumn ctermfg=NONE ctermbg=7 cterm=NONE + hi CursorLine ctermfg=NONE ctermbg=7 cterm=underline + hi Directory ctermfg=4 ctermbg=NONE cterm=NONE + hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE + hi ErrorMsg ctermfg=1 ctermbg=15 cterm=reverse + hi IncSearch ctermfg=9 ctermbg=NONE cterm=standout + hi ModeMsg ctermfg=4 ctermbg=NONE cterm=NONE + hi MoreMsg ctermfg=4 ctermbg=NONE cterm=NONE + hi Pmenu ctermfg=15 ctermbg=14 cterm=NONE + hi PmenuSbar ctermfg=NONE ctermbg=11 cterm=NONE + hi PmenuSel ctermfg=15 ctermbg=12 cterm=NONE + hi PmenuThumb ctermfg=NONE ctermbg=12 cterm=NONE + hi Question ctermfg=6 ctermbg=NONE cterm=bold + hi Search ctermfg=3 ctermbg=NONE cterm=reverse + hi SignColumn ctermfg=11 ctermbg=NONE cterm=NONE + hi Visual ctermfg=14 ctermbg=15 cterm=reverse + hi VisualNOS ctermfg=NONE ctermbg=7 cterm=reverse + hi WarningMsg ctermfg=9 ctermbg=NONE cterm=bold + hi Comment ctermfg=14 ctermbg=NONE cterm=italic + hi Constant ctermfg=6 ctermbg=NONE cterm=NONE + hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE + hi Error ctermfg=1 ctermbg=15 cterm=bold,reverse + hi Identifier ctermfg=4 ctermbg=NONE cterm=NONE + hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE + hi PreProc ctermfg=9 ctermbg=NONE cterm=NONE + hi Special ctermfg=9 ctermbg=NONE cterm=NONE + hi Statement ctermfg=2 ctermbg=NONE cterm=NONE + hi Todo ctermfg=5 ctermbg=NONE cterm=bold + hi Type ctermfg=3 ctermbg=NONE cterm=NONE + hi Underlined ctermfg=13 ctermbg=NONE cterm=NONE + hi NormalMode ctermfg=10 ctermbg=15 cterm=reverse + hi InsertMode ctermfg=6 ctermbg=15 cterm=reverse + hi ReplaceMode ctermfg=9 ctermbg=15 cterm=reverse + hi VisualMode ctermfg=5 ctermbg=15 cterm=reverse + hi CommandMode ctermfg=5 ctermbg=15 cterm=reverse + if !s:italics + hi Comment cterm=NONE + endif + if has('nvim') + hi! link TermCursor Cursor + hi TermCursorNC ctermfg=15 ctermbg=14 cterm=NONE + endif + if !get(g:, 'solarized_extra_hi_groups', 0) + unlet s:t_Co s:italics s:termtrans + finish + endif + hi! link vimVar Identifier + hi! link vimFunc Function + hi! link vimUserFunc Function + hi! link helpSpecial Special + hi! link vimSet Normal + hi! link vimSetEqual Normal + hi vimCommentString ctermfg=13 ctermbg=NONE cterm=NONE + hi vimCommand ctermfg=3 ctermbg=NONE cterm=NONE + hi vimCmdSep ctermfg=4 ctermbg=NONE cterm=bold + hi helpExample ctermfg=10 ctermbg=NONE cterm=NONE + hi helpOption ctermfg=6 ctermbg=NONE cterm=NONE + hi helpNote ctermfg=5 ctermbg=NONE cterm=NONE + hi helpVim ctermfg=5 ctermbg=NONE cterm=NONE + hi helpHyperTextJump ctermfg=4 ctermbg=NONE cterm=NONE + hi helpHyperTextEntry ctermfg=2 ctermbg=NONE cterm=NONE + hi vimIsCommand ctermfg=12 ctermbg=NONE cterm=NONE + hi vimSynMtchOpt ctermfg=3 ctermbg=NONE cterm=NONE + hi vimSynType ctermfg=6 ctermbg=NONE cterm=NONE + hi vimHiLink ctermfg=4 ctermbg=NONE cterm=NONE + hi vimHiGroup ctermfg=4 ctermbg=NONE cterm=NONE + hi vimGroup ctermfg=4 ctermbg=NONE cterm=bold + hi! link diffAdded Statement + hi! link diffLine Identifier + hi gitcommitComment ctermfg=14 ctermbg=NONE cterm=italic + hi! link gitcommitUntracked gitcommitComment + hi! link gitcommitDiscarded gitcommitComment + hi! link gitcommitSelected gitcommitComment + hi gitcommitUnmerged ctermfg=2 ctermbg=NONE cterm=bold + hi gitcommitOnBranch ctermfg=14 ctermbg=NONE cterm=bold + hi gitcommitBranch ctermfg=5 ctermbg=NONE cterm=bold + hi! link gitcommitNoBranch gitcommitBranch + hi gitcommitdiscardedtype ctermfg=1 ctermbg=NONE cterm=NONE + hi gitcommitselectedtype ctermfg=2 ctermbg=NONE cterm=NONE + hi gitcommitHeader ctermfg=14 ctermbg=NONE cterm=NONE + hi gitcommitUntrackedFile ctermfg=6 ctermbg=NONE cterm=bold + hi gitcommitDiscardedFile ctermfg=1 ctermbg=NONE cterm=bold + hi gitcommitSelectedFile ctermfg=2 ctermbg=NONE cterm=bold + hi gitcommitUnmergedFile ctermfg=3 ctermbg=NONE cterm=bold + hi gitcommitFile ctermfg=11 ctermbg=NONE cterm=bold + hi! link gitcommitDiscardedArrow gitcommitDiscardedFile + hi! link gitcommitSelectedArrow gitcommitSelectedFile + hi! link gitcommitUnmergedArrow gitcommitUnmergedFile + hi htmlTag ctermfg=14 ctermbg=NONE cterm=NONE + hi htmlEndTag ctermfg=14 ctermbg=NONE cterm=NONE + hi htmlTagN ctermfg=10 ctermbg=NONE cterm=bold + hi htmlTagName ctermfg=4 ctermbg=NONE cterm=bold + hi htmlSpecialTagName ctermfg=4 ctermbg=NONE cterm=italic + hi htmlArg ctermfg=12 ctermbg=NONE cterm=NONE + hi javaScript ctermfg=3 ctermbg=NONE cterm=NONE + hi! link jsFuncCall Function + hi perlHereDoc ctermfg=10 ctermbg=7 cterm=NONE + hi perlVarPlain ctermfg=3 ctermbg=7 cterm=NONE + hi perlStatementFileDesc ctermfg=6 ctermbg=7 cterm=NONE + hi texstatement ctermfg=6 ctermbg=7 cterm=NONE + hi texmathzonex ctermfg=3 ctermbg=7 cterm=NONE + hi texmathmatcher ctermfg=3 ctermbg=7 cterm=NONE + hi texreflabel ctermfg=3 ctermbg=7 cterm=NONE + hi rubyDefine ctermfg=10 ctermbg=7 cterm=bold + hi! link rubySymbol Type + hi rubyBoolean ctermfg=5 ctermbg=7 cterm=NONE + hi cPreCondit ctermfg=9 ctermbg=NONE cterm=NONE + hi VarId ctermfg=4 ctermbg=NONE cterm=NONE + hi ConId ctermfg=3 ctermbg=NONE cterm=NONE + hi hsImport ctermfg=5 ctermbg=NONE cterm=NONE + hi hsString ctermfg=12 ctermbg=NONE cterm=NONE + hi hsStructure ctermfg=6 ctermbg=NONE cterm=NONE + hi hs_hlFunctionName ctermfg=4 ctermbg=NONE cterm=NONE + hi hsStatement ctermfg=6 ctermbg=NONE cterm=NONE + hi hsImportLabel ctermfg=6 ctermbg=NONE cterm=NONE + hi hs_OpFunctionName ctermfg=3 ctermbg=NONE cterm=NONE + hi hs_DeclareFunction ctermfg=9 ctermbg=NONE cterm=NONE + hi hsVarSym ctermfg=6 ctermbg=NONE cterm=NONE + hi hsType ctermfg=3 ctermbg=NONE cterm=NONE + hi hsTypedef ctermfg=6 ctermbg=NONE cterm=NONE + hi hsModuleName ctermfg=2 ctermbg=NONE cterm=NONE + hi! link hsImportParams Delimiter + hi! link hsDelimTypeExport Delimiter + hi! link hsModuleStartLabel hsStructure + hi! link hsModuleWhereLabel hsModuleStartLabel + hi hsNiceOperator ctermfg=6 ctermbg=NONE cterm=NONE + hi hsniceoperator ctermfg=6 ctermbg=NONE cterm=NONE + if !s:italics + hi gitcommitComment cterm=NONE + hi htmlSpecialTagName cterm=NONE + endif + let hs_highlight_boolean=1 + let hs_highlight_delimiters=1 + hi pandocTitleBlock ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocTitleBlockTitle ctermfg=4 ctermbg=NONE cterm=bold + hi pandocTitleComment ctermfg=4 ctermbg=NONE cterm=bold + hi pandocComment ctermfg=14 ctermbg=NONE cterm=italic + hi pandocVerbatimBlock ctermfg=3 ctermbg=NONE cterm=NONE + hi! link pandocVerbatimBlockDeep pandocVerbatimBlock + hi! link pandocCodeBlock pandocVerbatimBlock + hi! link pandocCodeBlockDelim pandocVerbatimBlock + hi pandocBlockQuote ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader1 ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader2 ctermfg=6 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader3 ctermfg=3 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader4 ctermfg=1 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader5 ctermfg=11 ctermbg=NONE cterm=NONE + hi pandocBlockQuoteLeader6 ctermfg=14 ctermbg=NONE cterm=NONE + hi pandocListMarker ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocListReference ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocDefinitionBlock ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocDefinitionTerm ctermfg=13 ctermbg=NONE cterm=standout + hi pandocDefinitionIndctr ctermfg=13 ctermbg=NONE cterm=bold + hi pandocEmphasisDefinition ctermfg=13 ctermbg=NONE cterm=italic + hi pandocEmphasisNestedDefinition ctermfg=13 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisDefinition ctermfg=13 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedDefinition ctermfg=13 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisDefinition ctermfg=13 ctermbg=NONE cterm=bold + hi pandocStrikeoutDefinition ctermfg=13 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineDefinition ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocSuperscriptDefinition ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocSubscriptDefinition ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocTable ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocTableStructure ctermfg=4 ctermbg=NONE cterm=NONE + hi! link pandocTableStructureTop pandocTableStructre + hi! link pandocTableStructureEnd pandocTableStructre + hi pandocTableZebraLight ctermfg=4 ctermbg=15 cterm=NONE + hi pandocTableZebraDark ctermfg=4 ctermbg=7 cterm=NONE + hi pandocEmphasisTable ctermfg=4 ctermbg=NONE cterm=italic + hi pandocEmphasisNestedTable ctermfg=4 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisTable ctermfg=4 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedTable ctermfg=4 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisTable ctermfg=4 ctermbg=NONE cterm=bold + hi pandocStrikeoutTable ctermfg=4 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineTable ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocSuperscriptTable ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocSubscriptTable ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocHeadingMarker ctermfg=9 ctermbg=NONE cterm=bold + hi pandocEmphasisHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocEmphasisNestedHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNestedHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasisHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocStrikeoutHeading ctermfg=9 ctermbg=NONE cterm=reverse + hi pandocVerbatimInlineHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocSuperscriptHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocSubscriptHeading ctermfg=9 ctermbg=NONE cterm=bold + hi pandocLinkDelim ctermfg=14 ctermbg=NONE cterm=NONE + hi pandocLinkLabel ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocLinkText ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocLinkURL ctermfg=12 ctermbg=NONE cterm=NONE + hi pandocLinkTitle ctermfg=12 ctermbg=NONE cterm=NONE + hi pandocLinkTitleDelim ctermfg=14 ctermbg=NONE cterm=NONE + hi pandocLinkDefinition ctermfg=6 ctermbg=NONE cterm=NONE + hi pandocLinkDefinitionID ctermfg=4 ctermbg=NONE cterm=bold + hi pandocImageCaption ctermfg=13 ctermbg=NONE cterm=bold + hi pandocFootnoteLink ctermfg=2 ctermbg=NONE cterm=NONE + hi pandocFootnoteDefLink ctermfg=2 ctermbg=NONE cterm=bold + hi pandocFootnoteInline ctermfg=2 ctermbg=NONE cterm=bold + hi pandocFootnote ctermfg=2 ctermbg=NONE cterm=NONE + hi pandocCitationDelim ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocCitation ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocCitationID ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocCitationRef ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocStyleDelim ctermfg=14 ctermbg=NONE cterm=NONE + hi pandocEmphasis ctermfg=11 ctermbg=NONE cterm=italic + hi pandocEmphasisNested ctermfg=11 ctermbg=NONE cterm=bold + hi pandocStrongEmphasis ctermfg=11 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisNested ctermfg=11 ctermbg=NONE cterm=bold + hi pandocStrongEmphasisEmphasis ctermfg=11 ctermbg=NONE cterm=bold + hi pandocStrikeout ctermfg=14 ctermbg=NONE cterm=reverse + hi pandocVerbatimInline ctermfg=3 ctermbg=NONE cterm=NONE + hi pandocSuperscript ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocSubscript ctermfg=13 ctermbg=NONE cterm=NONE + hi pandocRule ctermfg=4 ctermbg=NONE cterm=bold + hi pandocRuleLine ctermfg=4 ctermbg=NONE cterm=bold + hi pandocEscapePair ctermfg=1 ctermbg=NONE cterm=bold + hi pandocCitationRef ctermfg=5 ctermbg=NONE cterm=NONE + hi pandocNonBreakingSpace ctermfg=1 ctermbg=NONE cterm=reverse + hi! link pandocEscapedCharacter pandocEscapePair + hi! link pandocLineBreak pandocEscapePair + hi pandocMetadataDelim ctermfg=14 ctermbg=NONE cterm=NONE + hi pandocMetadata ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocMetadataKey ctermfg=4 ctermbg=NONE cterm=NONE + hi pandocMetadata ctermfg=4 ctermbg=NONE cterm=bold + hi! link pandocMetadataTitle pandocMetadata + if !s:italics + hi pandocComment cterm=NONE + hi pandocEmphasisDefinition cterm=NONE + hi pandocEmphasisTable cterm=NONE + hi pandocEmphasis cterm=NONE + endif + unlet s:termtrans + unlet s:t_Co s:italics + finish +endif + +if s:t_Co >= 2 + hi Normal term=NONE + hi ColorColumn term=reverse + hi Conceal term=NONE + hi Cursor term=NONE + hi CursorColumn term=reverse + hi CursorLine term=underline + hi CursorLineNr term=bold,italic,reverse,underline + hi DiffAdd term=reverse,underline + hi DiffChange term=reverse,underline + hi DiffDelete term=reverse,underline + hi DiffText term=bold,reverse,underline + hi Directory term=NONE + hi EndOfBuffer term=NONE + hi ErrorMsg term=bold,italic,reverse + hi FoldColumn term=reverse + hi Folded term=italic,reverse,underline + hi IncSearch term=bold,italic,reverse + hi LineNr term=reverse + hi MatchParen term=bold,underline + hi ModeMsg term=NONE + hi MoreMsg term=NONE + hi NonText term=NONE + hi Pmenu term=reverse + hi PmenuSbar term=NONE + hi PmenuSel term=NONE + hi PmenuThumb term=NONE + hi Question term=standout + hi Search term=italic,underline + hi SignColumn term=reverse + hi SpecialKey term=bold + hi SpellBad term=italic,underline + hi SpellCap term=italic,underline + hi SpellLocal term=italic,underline + hi SpellRare term=italic,underline + hi StatusLine term=bold,reverse + hi StatusLineNC term=reverse + hi TabLine term=italic,reverse,underline + hi TabLineFill term=reverse,underline + hi TabLineSel term=bold + hi Title term=bold + hi VertSplit term=reverse + hi Visual term=reverse + hi VisualNOS term=NONE + hi WarningMsg term=standout + hi WildMenu term=bold + hi Comment term=italic + hi Constant term=bold,italic + hi Error term=reverse + hi Identifier term=italic + hi Ignore term=NONE + hi PreProc term=italic + hi Special term=bold,italic + hi Statement term=bold + hi Todo term=bold,underline + hi Type term=bold + hi Underlined term=underline + hi CursorIM term=NONE + hi ToolbarLine term=reverse + hi ToolbarButton term=bold,reverse + if !s:italics + hi CursorLineNr term=bold,reverse,underline + hi ErrorMsg term=bold,reverse + hi Folded term=reverse,underline + hi IncSearch term=bold,reverse + hi Search term=underline + hi SpellBad term=underline + hi SpellCap term=underline + hi SpellLocal term=underline + hi SpellRare term=underline + hi TabLine term=reverse,underline + hi Comment term=NONE + hi Constant term=bold + hi Identifier term=NONE + hi PreProc term=NONE + hi Special term=bold + endif + unlet s:termtrans + unlet s:t_Co s:italics + finish +endif + +" let s:t_Co = get(g:, '@optionprefix_use16', 0) ? 16 : s:t_Co +" let s:italics = s:italics && get(g:, '@optionprefix_italics', 1) +" let s:termtrans = get(g:, '@optionprefix_termtrans', 0) && !has('gui_running') +" Boolean -> Constant +" Character -> Constant +" Conditional -> Statement +" Debug -> Special +" Define -> PreProc +" Delimiter -> Special +" Exception -> Statement +" Float -> Constant +" Function -> Identifier +" Include -> PreProc +" Keyword -> Statement +" Label -> Statement +" Macro -> PreProc +" Number -> Constant +" Operator -> Statement +" PreCondit -> PreProc +" QuickFixLine -> Search +" Repeat -> Statement +" SpecialChar -> Special +" SpecialComment -> Special +" StatusLineTerm -> StatusLine +" StatusLineTermNC -> StatusLineNC +" StorageClass -> Type +" String -> Constant +" Structure -> Type +" Tag -> Special +" Typedef -> Type +" lCursor -> Cursor +" Variant: gui 256 16 +" Background: dark +" Color: base02 #073642 239 0 +" Color: back #073642 236 0 +" Color: red #dc322f 160 1 +" Color: green #859900 106 2 +" Color: yellow #b58900 136 3 +" Color: blue #268bd2 32 4 +" Color: magenta #d33682 162 5 +" Color: cyan #2aa198 37 6 +" Color: base2 #eee8d5 254 7 +" Color: base03 #002b36 235 8 +" Color: orange #cb4b16 166 9 +" Color: base01 #586e75 242 10 +" Color: base00 #657b83 66 11 +" Color: base0 #839496 246 12 +" Color: violet #6c71c4 61 13 +" Color: base1 #93a1a1 247 14 +" Color: base3 #fdf6e3 230 15 +" Term Colors: base02 red green yellow blue magenta cyan base2 +" Term Colors: base03 orange base01 base00 base0 violet base1 base3 +" if s:termtrans +" Normal base0 none +" CursorLine none none underline s=base1 +" FoldColumn fg none +" Folded fg none bold s=base03 +" LineNr base01 none +" Terminal fg none +" ToolbarButton base1 none bold +" ToolbarLine none none +" else +" Normal base0 back +" CursorLine none base02 +" FoldColumn base0 base02 +" Folded base0 base02 bold s=base03 +" LineNr base01 base02 +" Terminal fg back +" ToolbarButton base1 base02 bold +" ToolbarLine none base02 +" endif +" if get(g:, '@optionprefix_visibility', '') ==# 'high' +" CursorLineNr orange base02 bold +" NonText orange none bold +" SpecialKey orange none reverse +" SpellBad violet base2 t=underline,reverse g=undercurl,reverse s=red +" SpellCap violet base2 t=underline,reverse g=undercurl,reverse s=red +" SpellLocal yellow base2 t=underline,reverse g=undercurl,reverse s=red +" SpellRare cyan base2 t=underline,reverse g=undercurl,reverse s=red +" Title yellow none bold +" elseif get(g:, '@optionprefix_visibility', '') ==# 'low' +" CursorLineNr base01 base02 bold +" NonText base02 none bold +" SpecialKey base02 none reverse +" SpellBad violet none t=underline g=undercurl s=violet +" SpellCap violet none t=underline g=undercurl s=violet +" SpellLocal yellow none t=underline g=undercurl s=yellow +" SpellRare cyan none t=underline g=undercurl s=cyan +" Title base01 none bold +" else +" CursorLineNr base0 base02 bold +" NonText base00 none bold +" SpecialKey base00 base02 bold +" SpellBad violet none t=underline g=undercurl s=violet +" SpellCap violet none t=underline g=undercurl s=violet +" SpellLocal yellow none t=underline g=undercurl s=yellow +" SpellRare cyan none t=underline g=undercurl s=cyan +" Title yellow none bold +" endif +" Variant: gui +" if s:termtrans +" hi CursorLineNr guibg=NONE +" endif +" Variant: 256 16 +" if s:termtrans +" hi CursorLineNr ctermbg=NONE +" endif +" Variant: gui 256 16 +" if get(g:, '@optionprefix_old_cursor_style', 0) +" Cursor base03 base0 +" else +" Cursor base3 blue +" endif +" if get(g:, '@optionprefix_diffmode', '') ==# 'high' +" DiffAdd green none reverse +" DiffChange yellow none reverse +" DiffDelete red none reverse +" DiffText blue none reverse +" elseif get(g:, '@optionprefix_diffmode', '') ==# 'low' +" DiffAdd green none s=green +" DiffChange yellow none s=yellow +" DiffDelete red none bold +" DiffText blue none s=blue +" else " normal diffmode +" DiffAdd green base02 s=green +" DiffChange yellow base02 s=yellow +" DiffDelete red base02 bold +" DiffText blue base02 s=blue +" endif +" if get(g:, '@optionprefix_statusline', '') ==# 'low' +" StatusLine base01 base2 reverse +" StatusLineNC base01 base1 reverse +" TabLine base01 base1 reverse +" TabLineFill base01 base1 reverse +" TabLineSel base01 base2 reverse +" VertSplit base1 base01 +" elseif get(g:, '@optionprefix_statusline', '') ==# 'flat' +" StatusLine base03 base2 reverse +" StatusLineNC base03 base1 reverse +" TabLineSel base2 base03 +" TabLine base01 base03 +" TabLineFill base01 base03 +" VertSplit base01 base03 +" else +" StatusLine base0 base02 reverse +" StatusLineNC base01 base02 reverse +" TabLine base01 base02 reverse +" TabLineFill base01 base02 reverse +" TabLineSel base0 base02 reverse +" VertSplit base1 base01 +" endif +" ColorColumn none base02 +" Conceal blue none +" CursorColumn none base02 +" Directory blue none +" EndOfBuffer none none +" ErrorMsg red base3 reverse +" IncSearch orange none standout +" MatchParen base3 base02 bold +" ModeMsg blue none +" MoreMsg blue none +" Pmenu base00 base03 +" PmenuSbar none base03 +" PmenuSel base00 base02 +" PmenuThumb none base03 +" Question cyan none bold +" Search yellow none reverse +" SignColumn base0 none +" Visual base01 base03 reverse +" VisualNOS none base02 reverse +" WarningMsg orange none bold +" WildMenu base2 base02 reverse +" Comment base01 none italic +" Constant cyan none +" CursorIM none fg +" Error red base3 bold,reverse +" Identifier blue none +" Ignore none none +" PreProc orange none +" Special orange none +" Statement green none +" Todo magenta none bold +" Type yellow none +" Underlined violet none +" NormalMode base0 base3 reverse +" InsertMode cyan base3 reverse +" ReplaceMode orange base3 reverse +" VisualMode magenta base3 reverse +" CommandMode magenta base3 reverse +" if !get(g:, '@optionprefix_extra_hi_groups', 0) +" unlet s:t_Co s:italics s:termtrans +" finish +" endif +" vimVar -> Identifier +" vimFunc -> Function +" vimUserFunc -> Function +" helpSpecial -> Special +" vimSet -> Normal +" vimSetEqual -> Normal +" vimCommentString violet none +" vimCommand yellow none +" vimCmdSep blue none bold +" helpExample base1 none +" helpOption cyan none +" helpNote magenta none +" helpVim magenta none +" helpHyperTextJump blue none +" helpHyperTextEntry green none +" vimIsCommand base00 none +" vimSynMtchOpt yellow none +" vimSynType cyan none +" vimHiLink blue none +" vimHiGroup blue none +" vimGroup blue none bold +" diffAdded -> Statement +" diffLine -> Identifier +" gitcommitComment base01 none italic +" gitcommitUntracked -> gitcommitComment +" gitcommitDiscarded -> gitcommitComment +" gitcommitSelected -> gitcommitComment +" gitcommitUnmerged green none bold +" gitcommitOnBranch base01 none bold +" gitcommitBranch magenta none bold +" gitcommitNoBranch -> gitcommitBranch +" gitcommitdiscardedtype red none +" gitcommitselectedtype green none +" gitcommitHeader base01 none +" gitcommitUntrackedFile cyan none bold +" gitcommitDiscardedFile red none bold +" gitcommitSelectedFile green none bold +" gitcommitUnmergedFile yellow none bold +" gitcommitFile base0 none bold +" gitcommitDiscardedArrow -> gitcommitDiscardedFile +" gitcommitSelectedArrow -> gitcommitSelectedFile +" gitcommitUnmergedArrow -> gitcommitUnmergedFile +" htmlTag base01 none +" htmlEndTag base01 none +" htmlTagN base1 none bold +" htmlTagName blue none bold +" htmlSpecialTagName blue none italic +" htmlArg base00 none +" javaScript yellow none +" jsFuncCall -> Function +" perlHereDoc base1 back +" perlVarPlain yellow back +" perlStatementFileDesc cyan back +" texstatement cyan back +" texmathzonex yellow back +" texmathmatcher yellow back +" texreflabel yellow back +" rubyDefine base1 back bold +" rubySymbol -> Type +" rubyBoolean magenta back +" cPreCondit orange none +" VarId blue none +" ConId yellow none +" hsImport magenta none +" hsString base00 none +" hsStructure cyan none +" hs_hlFunctionName blue none +" hsStatement cyan none +" hsImportLabel cyan none +" hs_OpFunctionName yellow none +" hs_DeclareFunction orange none +" hsVarSym cyan none +" hsType yellow none +" hsTypedef cyan none +" hsModuleName green none +" hsImportParams -> Delimiter +" hsDelimTypeExport -> Delimiter +" hsModuleStartLabel -> hsStructure +" hsModuleWhereLabel -> hsModuleStartLabel +" hsNiceOperator cyan none +" hsniceoperator cyan none +" let hs_highlight_boolean=1 +" let hs_highlight_delimiters=1 +" pandocTitleBlock blue none +" pandocTitleBlockTitle blue none bold +" pandocTitleComment blue none bold +" pandocComment base01 none italic +" pandocVerbatimBlock yellow none +" pandocVerbatimBlockDeep -> pandocVerbatimBlock +" pandocCodeBlock -> pandocVerbatimBlock +" pandocCodeBlockDelim -> pandocVerbatimBlock +" pandocBlockQuote blue none +" pandocBlockQuoteLeader1 blue none +" pandocBlockQuoteLeader2 cyan none +" pandocBlockQuoteLeader3 yellow none +" pandocBlockQuoteLeader4 red none +" pandocBlockQuoteLeader5 base0 none +" pandocBlockQuoteLeader6 base01 none +" pandocListMarker magenta none +" pandocListReference magenta none +" pandocDefinitionBlock violet none +" pandocDefinitionTerm violet none standout +" pandocDefinitionIndctr violet none bold +" pandocEmphasisDefinition violet none italic +" pandocEmphasisNestedDefinition violet none bold +" pandocStrongEmphasisDefinition violet none bold +" pandocStrongEmphasisNestedDefinition violet none bold +" pandocStrongEmphasisEmphasisDefinition violet none bold +" pandocStrikeoutDefinition violet none reverse +" pandocVerbatimInlineDefinition violet none +" pandocSuperscriptDefinition violet none +" pandocSubscriptDefinition violet none +" pandocTable blue none +" pandocTableStructure blue none +" pandocTableStructureTop -> pandocTableStructre +" pandocTableStructureEnd -> pandocTableStructre +" pandocTableZebraLight blue base03 +" pandocTableZebraDark blue base02 +" pandocEmphasisTable blue none italic +" pandocEmphasisNestedTable blue none bold +" pandocStrongEmphasisTable blue none bold +" pandocStrongEmphasisNestedTable blue none bold +" pandocStrongEmphasisEmphasisTable blue none bold +" pandocStrikeoutTable blue none reverse +" pandocVerbatimInlineTable blue none +" pandocSuperscriptTable blue none +" pandocSubscriptTable blue none +" pandocHeading orange none bold +" pandocHeadingMarker orange none bold +" pandocEmphasisHeading orange none bold +" pandocEmphasisNestedHeading orange none bold +" pandocStrongEmphasisHeading orange none bold +" pandocStrongEmphasisNestedHeading orange none bold +" pandocStrongEmphasisEmphasisHeading orange none bold +" pandocStrikeoutHeading orange none reverse +" pandocVerbatimInlineHeading orange none bold +" pandocSuperscriptHeading orange none bold +" pandocSubscriptHeading orange none bold +" pandocLinkDelim base01 none +" pandocLinkLabel blue none +" pandocLinkText blue none +" pandocLinkURL base00 none +" pandocLinkTitle base00 none +" pandocLinkTitleDelim base01 none s=base00 +" pandocLinkDefinition cyan none s=base00 +" pandocLinkDefinitionID blue none bold +" pandocImageCaption violet none bold +" pandocFootnoteLink green none +" pandocFootnoteDefLink green none bold +" pandocFootnoteInline green none bold +" pandocFootnote green none +" pandocCitationDelim magenta none +" pandocCitation magenta none +" pandocCitationID magenta none +" pandocCitationRef magenta none +" pandocStyleDelim base01 none +" pandocEmphasis base0 none italic +" pandocEmphasisNested base0 none bold +" pandocStrongEmphasis base0 none bold +" pandocStrongEmphasisNested base0 none bold +" pandocStrongEmphasisEmphasis base0 none bold +" pandocStrikeout base01 none reverse +" pandocVerbatimInline yellow none +" pandocSuperscript violet none +" pandocSubscript violet none +" pandocRule blue none bold +" pandocRuleLine blue none bold +" pandocEscapePair red none bold +" pandocCitationRef magenta none +" pandocNonBreakingSpace red none reverse +" pandocEscapedCharacter -> pandocEscapePair +" pandocLineBreak -> pandocEscapePair +" pandocMetadataDelim base01 none +" pandocMetadata blue none +" pandocMetadataKey blue none +" pandocMetadata blue none bold +" pandocMetadataTitle -> pandocMetadata +" unlet s:termtrans +" Background: light +" Color: base2 #073642 236 0 +" Color: red #dc322f 160 1 +" Color: green #859900 106 2 +" Color: yellow #b58900 136 3 +" Color: blue #268bd2 32 4 +" Color: magenta #d33682 162 5 +" Color: cyan #2aa198 37 6 +" Color: base02 #eee8d5 254 7 +" Color: back #eee8d5 254 7 +" Color: base3 #002b36 235 8 +" Color: orange #cb4b16 166 9 +" Color: base1 #586e75 242 10 +" Color: base0 #657b83 66 11 +" Color: base00 #839496 246 12 +" Color: violet #6c71c4 61 13 +" Color: base01 #93a1a1 247 14 +" Color: base03 #fdf6e3 230 15 +" Term Colors: base2 red green yellow blue magenta cyan base02 +" Term Colors: base3 orange base1 base0 base00 violet base01 base03 +" if s:termtrans +" Normal base0 none +" FoldColumn base0 none +" Folded base0 none bold s=base03 +" LineNr base01 none +" Terminal fg none +" ToolbarButton base1 none bold +" ToolbarLine none none +" else +" Normal base0 back +" FoldColumn base0 base02 +" Folded base0 base02 bold s=base03 +" LineNr base01 base02 +" Terminal fg back +" ToolbarButton base1 base02 bold +" ToolbarLine none base02 +" endif +" if get(g:, '@optionprefix_visibility', '') ==# 'high' +" CursorLineNr red base02 bold +" if get(g:, '@optionprefix_old_cursor_style', 0) +" Cursor base03 base0 +" else +" Cursor base03 red +" endif +" MatchParen base3 none bold,underline +" NonText red none bold +" SpecialKey red none reverse +" SpellBad magenta base02 t=underline,reverse g=undercurl,reverse s=violet +" SpellCap magenta base02 t=underline,reverse g=undercurl,reverse s=violet +" SpellLocal yellow base02 t=underline,reverse g=undercurl,reverse s=orange +" SpellRare cyan base02 t=underline,reverse g=undercurl,reverse s=orange +" Title orange none bold +" elseif get(g:, '@optionprefix_visibility', '') ==# 'low' +" CursorLineNr base01 base02 bold +" if get(g:, '@optionprefix_old_cursor_style', 0) +" Cursor base03 base0 +" else +" Cursor base03 orange +" endif +" MatchParen base3 base02 bold +" NonText base02 none bold +" SpecialKey base02 none bold +" SpellBad magenta none t=underline g=undercurl s=violet +" SpellCap magenta none t=underline g=undercurl s=violet +" SpellLocal yellow none t=underline g=undercurl s=yellow +" SpellRare cyan none t=underline g=undercurl s=cyan +" Title base01 none bold +" else +" CursorLineNr base0 base02 bold +" if get(g:, 'solarized_old_cursor_style', 0) +" Cursor base03 base0 +" else +" Cursor base03 orange +" endif +" MatchParen base3 base02 bold +" NonText base00 none bold +" SpecialKey base00 base02 bold +" SpellBad magenta none t=underline g=undercurl s=violet +" SpellCap magenta none t=underline g=undercurl s=violet +" SpellLocal yellow none t=underline g=undercurl s=yellow +" SpellRare cyan none t=underline g=undercurl s=cyan +" Title orange none bold +" endif +" Variant: gui +" if s:termtrans +" hi CursorLineNr guibg=NONE +" endif +" Variant: 256 16 +" if s:termtrans +" hi CursorLineNr ctermbg=NONE +" endif +" Variant: gui 256 16 +" if get(g:, '@optionprefix_diffmode', '') ==# 'high' +" DiffAdd green none reverse +" DiffChange yellow none reverse +" DiffDelete red none reverse +" DiffText blue none reverse +" elseif get(g:, '@optionprefix_diffmode', '') ==# 'low' +" DiffAdd green none s=green +" DiffChange yellow none s=yellow +" DiffDelete red none bold +" DiffText blue none s=blue +" else " normal diffmode +" DiffAdd green base02 s=green +" DiffChange yellow base02 s=yellow +" DiffDelete red base02 bold +" DiffText blue base02 s=blue +" endif +" if get(g:, '@optionprefix_statusline', '') ==# 'low' +" StatusLine base01 base02 reverse +" StatusLineNC base01 base1 reverse +" TabLine base01 base1 reverse +" TabLineFill base01 base1 reverse +" TabLineSel base01 base02 reverse +" VertSplit base1 base01 +" WildMenu base0 base02 reverse +" elseif get(g:, '@optionprefix_statusline', '') ==# 'flat' +" StatusLine base03 base2 reverse +" StatusLineNC base03 base1 reverse +" TabLineSel base2 base03 +" TabLine base01 base03 +" TabLineFill base01 base03 +" VertSplit base01 base03 +" WildMenu base01 base03 reverse +" else +" StatusLine base1 base02 reverse +" StatusLineNC base00 base02 reverse +" TabLine base00 base02 reverse +" TabLineFill base00 base02 reverse +" TabLineSel base1 base02 reverse +" VertSplit base1 base01 +" WildMenu base00 base02 reverse +" endif +" ColorColumn none base02 +" Conceal blue none +" CursorColumn none base02 +" CursorLine none base02 underline s=base1 +" Directory blue none +" EndOfBuffer none none +" ErrorMsg red base03 reverse +" IncSearch orange none standout +" ModeMsg blue none +" MoreMsg blue none +" Pmenu base03 base01 +" PmenuSbar none base0 +" PmenuSel base03 base00 +" PmenuThumb none base00 +" Question cyan none bold +" Search yellow none reverse +" SignColumn base0 none +" Visual base01 base03 reverse +" VisualNOS none base02 reverse +" WarningMsg orange none bold +" Comment base01 none italic +" Constant cyan none +" CursorIM none fg +" Error red base03 bold,reverse +" Identifier blue none +" Ignore none none +" PreProc orange none +" Special orange none +" Statement green none +" Todo magenta none bold +" Type yellow none +" Underlined violet none +" NormalMode base1 base03 reverse +" InsertMode cyan base03 reverse +" ReplaceMode orange base03 reverse +" VisualMode magenta base03 reverse +" CommandMode magenta base03 reverse +" TermCursor -> Cursor +" TermCursorNC base03 base01 +" if !get(g:, '@optionprefix_extra_hi_groups', 0) +" unlet s:t_Co s:italics s:termtrans +" finish +" endif +" vimVar -> Identifier +" vimFunc -> Function +" vimUserFunc -> Function +" helpSpecial -> Special +" vimSet -> Normal +" vimSetEqual -> Normal +" vimCommentString violet none +" vimCommand yellow none +" vimCmdSep blue none bold +" helpExample base1 none +" helpOption cyan none +" helpNote magenta none +" helpVim magenta none +" helpHyperTextJump blue none +" helpHyperTextEntry green none +" vimIsCommand base00 none +" vimSynMtchOpt yellow none +" vimSynType cyan none +" vimHiLink blue none +" vimHiGroup blue none +" vimGroup blue none bold +" diffAdded -> Statement +" diffLine -> Identifier +" gitcommitComment base01 none italic +" gitcommitUntracked -> gitcommitComment +" gitcommitDiscarded -> gitcommitComment +" gitcommitSelected -> gitcommitComment +" gitcommitUnmerged green none bold +" gitcommitOnBranch base01 none bold +" gitcommitBranch magenta none bold +" gitcommitNoBranch -> gitcommitBranch +" gitcommitdiscardedtype red none +" gitcommitselectedtype green none +" gitcommitHeader base01 none +" gitcommitUntrackedFile cyan none bold +" gitcommitDiscardedFile red none bold +" gitcommitSelectedFile green none bold +" gitcommitUnmergedFile yellow none bold +" gitcommitFile base0 none bold +" gitcommitDiscardedArrow -> gitcommitDiscardedFile +" gitcommitSelectedArrow -> gitcommitSelectedFile +" gitcommitUnmergedArrow -> gitcommitUnmergedFile +" htmlTag base01 none +" htmlEndTag base01 none +" htmlTagN base1 none bold +" htmlTagName blue none bold +" htmlSpecialTagName blue none italic +" htmlArg base00 none +" javaScript yellow none +" jsFuncCall -> Function +" perlHereDoc base1 back +" perlVarPlain yellow back +" perlStatementFileDesc cyan back +" texstatement cyan back +" texmathzonex yellow back +" texmathmatcher yellow back +" texreflabel yellow back +" rubyDefine base1 back bold +" rubySymbol -> Type +" rubyBoolean magenta back +" cPreCondit orange none +" VarId blue none +" ConId yellow none +" hsImport magenta none +" hsString base00 none +" hsStructure cyan none +" hs_hlFunctionName blue none +" hsStatement cyan none +" hsImportLabel cyan none +" hs_OpFunctionName yellow none +" hs_DeclareFunction orange none +" hsVarSym cyan none +" hsType yellow none +" hsTypedef cyan none +" hsModuleName green none +" hsImportParams -> Delimiter +" hsDelimTypeExport -> Delimiter +" hsModuleStartLabel -> hsStructure +" hsModuleWhereLabel -> hsModuleStartLabel +" hsNiceOperator cyan none +" hsniceoperator cyan none +" let hs_highlight_boolean=1 +" let hs_highlight_delimiters=1 +" pandocTitleBlock blue none +" pandocTitleBlockTitle blue none bold +" pandocTitleComment blue none bold +" pandocComment base01 none italic +" pandocVerbatimBlock yellow none +" pandocVerbatimBlockDeep -> pandocVerbatimBlock +" pandocCodeBlock -> pandocVerbatimBlock +" pandocCodeBlockDelim -> pandocVerbatimBlock +" pandocBlockQuote blue none +" pandocBlockQuoteLeader1 blue none +" pandocBlockQuoteLeader2 cyan none +" pandocBlockQuoteLeader3 yellow none +" pandocBlockQuoteLeader4 red none +" pandocBlockQuoteLeader5 base0 none +" pandocBlockQuoteLeader6 base01 none +" pandocListMarker magenta none +" pandocListReference magenta none +" pandocDefinitionBlock violet none +" pandocDefinitionTerm violet none standout +" pandocDefinitionIndctr violet none bold +" pandocEmphasisDefinition violet none italic +" pandocEmphasisNestedDefinition violet none bold +" pandocStrongEmphasisDefinition violet none bold +" pandocStrongEmphasisNestedDefinition violet none bold +" pandocStrongEmphasisEmphasisDefinition violet none bold +" pandocStrikeoutDefinition violet none reverse +" pandocVerbatimInlineDefinition violet none +" pandocSuperscriptDefinition violet none +" pandocSubscriptDefinition violet none +" pandocTable blue none +" pandocTableStructure blue none +" pandocTableStructureTop -> pandocTableStructre +" pandocTableStructureEnd -> pandocTableStructre +" pandocTableZebraLight blue base03 +" pandocTableZebraDark blue base02 +" pandocEmphasisTable blue none italic +" pandocEmphasisNestedTable blue none bold +" pandocStrongEmphasisTable blue none bold +" pandocStrongEmphasisNestedTable blue none bold +" pandocStrongEmphasisEmphasisTable blue none bold +" pandocStrikeoutTable blue none reverse +" pandocVerbatimInlineTable blue none +" pandocSuperscriptTable blue none +" pandocSubscriptTable blue none +" pandocHeading orange none bold +" pandocHeadingMarker orange none bold +" pandocEmphasisHeading orange none bold +" pandocEmphasisNestedHeading orange none bold +" pandocStrongEmphasisHeading orange none bold +" pandocStrongEmphasisNestedHeading orange none bold +" pandocStrongEmphasisEmphasisHeading orange none bold +" pandocStrikeoutHeading orange none reverse +" pandocVerbatimInlineHeading orange none bold +" pandocSuperscriptHeading orange none bold +" pandocSubscriptHeading orange none bold +" pandocLinkDelim base01 none +" pandocLinkLabel blue none +" pandocLinkText blue none +" pandocLinkURL base00 none +" pandocLinkTitle base00 none +" pandocLinkTitleDelim base01 none s=base00 +" pandocLinkDefinition cyan none s=base00 +" pandocLinkDefinitionID blue none bold +" pandocImageCaption violet none bold +" pandocFootnoteLink green none +" pandocFootnoteDefLink green none bold +" pandocFootnoteInline green none bold +" pandocFootnote green none +" pandocCitationDelim magenta none +" pandocCitation magenta none +" pandocCitationID magenta none +" pandocCitationRef magenta none +" pandocStyleDelim base01 none +" pandocEmphasis base0 none italic +" pandocEmphasisNested base0 none bold +" pandocStrongEmphasis base0 none bold +" pandocStrongEmphasisNested base0 none bold +" pandocStrongEmphasisEmphasis base0 none bold +" pandocStrikeout base01 none reverse +" pandocVerbatimInline yellow none +" pandocSuperscript violet none +" pandocSubscript violet none +" pandocRule blue none bold +" pandocRuleLine blue none bold +" pandocEscapePair red none bold +" pandocCitationRef magenta none +" pandocNonBreakingSpace red none reverse +" pandocEscapedCharacter -> pandocEscapePair +" pandocLineBreak -> pandocEscapePair +" pandocMetadataDelim base01 none +" pandocMetadata blue none +" pandocMetadataKey blue none +" pandocMetadata blue none bold +" pandocMetadataTitle -> pandocMetadata +" unlet s:termtrans +" Background: any +" Variant: 2 +" Color: unused #000000 0 0 +" Normal unused unused +" ColorColumn unused unused reverse +" Conceal unused unused +" Cursor unused unused +" CursorColumn unused unused reverse +" CursorLine unused unused underline +" CursorLineNr unused unused reverse,italic,bold,underline +" DiffAdd unused unused reverse,underline +" DiffChange unused unused reverse,underline +" DiffDelete unused unused reverse,underline +" DiffText unused unused bold,reverse,underline +" Directory unused unused +" EndOfBuffer unused unused +" ErrorMsg unused unused bold,reverse,italic +" FoldColumn unused unused reverse +" Folded unused unused italic,reverse,underline +" IncSearch unused unused reverse,bold,italic +" LineNr unused unused reverse +" MatchParen unused unused bold,underline +" ModeMsg unused unused +" MoreMsg unused unused +" NonText unused unused +" Pmenu unused unused reverse +" PmenuSbar unused unused +" PmenuSel unused unused +" PmenuThumb unused unused +" Question unused unused standout +" Search unused unused underline,italic +" SignColumn unused unused reverse +" SpecialKey unused unused bold +" SpellBad unused unused underline,italic +" SpellCap unused unused underline,italic +" SpellLocal unused unused underline,italic +" SpellRare unused unused underline,italic +" StatusLine unused unused reverse,bold +" StatusLineNC unused unused reverse +" TabLine unused unused reverse,underline,italic +" TabLineFill unused unused reverse,underline +" TabLineSel unused unused bold +" Title unused unused bold +" VertSplit unused unused reverse +" Visual unused unused reverse +" VisualNOS unused unused +" WarningMsg unused unused standout +" WildMenu unused unused bold +" Comment unused unused italic +" Constant unused unused bold,italic +" Error unused unused reverse +" Identifier unused unused italic +" Ignore unused unused +" PreProc unused unused italic +" Special unused unused bold,italic +" Statement unused unused bold +" Todo unused unused bold,underline +" Type unused unused bold +" Underlined unused unused underline +" CursorIM unused unused +" ToolbarLine unused unused reverse +" ToolbarButton unused unused bold,reverse +" unlet s:termtrans diff --git a/files/nvim/colors/space_vim_theme.vim b/files/nvim/colors/space_vim_theme.vim new file mode 100644 index 0000000..5606e56 --- /dev/null +++ b/files/nvim/colors/space_vim_theme.vim @@ -0,0 +1,2402 @@ +" Name: Space-vim theme +" Description: Light and dark theme inspired by spacemacs-theme +" Author: Liu-Cheng Xu +" Maintainer: Liu-Cheng Xu +" Website: https://github.com/liuchengxu/space-vim-theme +" License: Vim License (see `:help license`) +" Last Updated: Mon 25 Mar 2019 05:22:40 PM CST + +if !(has('termguicolors') && &termguicolors) && !has('gui_running') + \ && (!exists('&t_Co') || &t_Co < 256) + echoerr '[Space-vim theme] There are not enough colors.' + finish +endif + +hi clear +if exists('syntax_on') + syntax reset +endif + +let g:colors_name = 'space_vim_theme' + +if &background ==# 'dark' + let g:terminal_ansi_colors = [ + \ '#292b2e', '#d26487', '#35a8a5', '#b89f33', '#6981c5', '#a15ea7', '#288668', '#727272', + \ '#34323e', '#f2241f', '#67b11d', '#b1951d', '#4f97d7', '#bc6ec5', '#2d9574', '#b2b2b2'] + if !has('gui_running') && get(g:, 'space_vim_transp_bg', 0) + hi Normal ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi CursorLineNr ctermfg=170 ctermbg=NONE guifg=#bc6ec5 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi FoldColumn ctermfg=170 ctermbg=NONE guifg=#bc6ec5 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi SignColumn ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi VertSplit ctermfg=234 ctermbg=NONE guifg=#212026 guibg=NONE guisp=NONE cterm=NONE gui=NONE + else + hi Normal ctermfg=249 ctermbg=235 guifg=#b2b2b2 guibg=#292b2e guisp=NONE cterm=NONE gui=NONE + hi CursorLineNr ctermfg=170 ctermbg=234 guifg=#bc6ec5 guibg=#212026 guisp=NONE cterm=NONE gui=NONE + hi FoldColumn ctermfg=170 ctermbg=234 guifg=#bc6ec5 guibg=#212026 guisp=NONE cterm=NONE gui=NONE + hi SignColumn ctermfg=249 ctermbg=235 guifg=#b2b2b2 guibg=#292b2e guisp=NONE cterm=NONE gui=NONE + hi VertSplit ctermfg=234 ctermbg=235 guifg=#212026 guibg=#292b2e guisp=NONE cterm=NONE gui=NONE + endif + hi ColorColumn ctermfg=NONE ctermbg=234 guifg=NONE guibg=#212026 guisp=NONE cterm=NONE gui=NONE + hi Conceal ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Cursor ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE,bold,reverse gui=NONE,bold,reverse + hi! link CursorColumn CursorLine + hi CursorLine ctermfg=NONE ctermbg=234 guifg=NONE guibg=#212026 guisp=NONE cterm=NONE gui=NONE + hi DiffAdd ctermfg=70 ctermbg=235 guifg=#67b11d guibg=#292b2e guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi DiffChange ctermfg=173 ctermbg=235 guifg=#e18254 guibg=#292b2e guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi DiffDelete ctermfg=196 ctermbg=235 guifg=#f2241f guibg=#292b2e guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi DiffText ctermfg=136 ctermbg=235 guifg=#b1951d guibg=#292b2e guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi Directory ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi EndOfBuffer ctermfg=235 ctermbg=NONE guifg=#292b2e guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Error ctermfg=196 ctermbg=235 guifg=#f2241f guibg=#292b2e guisp=NONE cterm=NONE,bold,reverse gui=NONE,bold,reverse + hi ErrorMsg ctermfg=235 ctermbg=196 guifg=#292b2e guibg=#f2241f guisp=NONE cterm=NONE gui=NONE + hi Folded ctermfg=133 ctermbg=234 guifg=#a45bad guibg=#212026 guisp=NONE cterm=NONE gui=NONE,italic + hi IncSearch ctermfg=173 ctermbg=235 guifg=#e18254 guibg=#292b2e guisp=NONE cterm=NONE,bold,reverse gui=NONE,bold,reverse + hi LineNr ctermfg=239 ctermbg=NONE guifg=#44505c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi MatchParen ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE,bold,underline gui=NONE,bold,underline + hi ModeMsg ctermfg=184 ctermbg=NONE guifg=#e5d11c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi! link MoreMsg ModeMsg + hi NonText ctermfg=239 ctermbg=NONE guifg=#44505c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Pmenu ctermfg=103 ctermbg=236 guifg=#9a9aba guibg=#34323e guisp=NONE cterm=NONE gui=NONE + hi PmenuSbar ctermfg=NONE ctermbg=234 guifg=NONE guibg=#212026 guisp=NONE cterm=NONE gui=NONE + hi PmenuSel ctermfg=NONE ctermbg=60 guifg=NONE guibg=#5e5079 guisp=NONE cterm=NONE gui=NONE + hi PmenuThumb ctermfg=NONE ctermbg=60 guifg=NONE guibg=#5d4d7a guisp=NONE cterm=NONE gui=NONE + hi Question ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi! link QuickFixLine Search + hi! link qfLineNr Type + hi Search ctermfg=70 ctermbg=235 guifg=#67b11d guibg=#292b2e guisp=NONE cterm=NONE,bold,reverse gui=NONE,bold,reverse + hi SpecialKey ctermfg=170 ctermbg=NONE guifg=#bc6ec5 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi SpellBad ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=#f2241f cterm=NONE,underline gui=NONE,italic,undercurl + hi SpellCap ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=#4f97d7 cterm=NONE,underline gui=NONE,italic,undercurl + hi SpellLocal ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=#2d9574 cterm=NONE,underline gui=NONE,italic,undercurl + hi SpellRare ctermfg=170 ctermbg=NONE guifg=#bc6ec5 guibg=NONE guisp=#bc6ec5 cterm=NONE,underline gui=NONE,italic,undercurl + hi StatusLine ctermfg=249 ctermbg=60 guifg=#b2b2b2 guibg=#5d4d7a guisp=NONE cterm=NONE gui=NONE + hi StatusLineNC ctermfg=60 ctermbg=236 guifg=#5d4d7a guibg=#34323e guisp=NONE cterm=NONE gui=NONE + hi! link StatusLineTerm StatusLine + hi! link StatusLineTermNC StatusLineNC + hi TabLineFill ctermfg=60 ctermbg=234 guifg=#544a65 guibg=#212026 guisp=NONE cterm=NONE gui=NONE + hi TabLineSel ctermfg=70 ctermbg=234 guifg=#67b11d guibg=#212026 guisp=NONE cterm=NONE gui=NONE + hi! link TabLine TabLineFill + hi Title ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi Visual ctermfg=NONE ctermbg=60 guifg=NONE guibg=#544a65 guisp=NONE cterm=NONE gui=NONE + hi! link VisualNOS Visual + hi WarningMsg ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi WildMenu ctermfg=173 ctermbg=234 guifg=#e18254 guibg=#212026 guisp=NONE cterm=NONE,bold gui=NONE,bold + hi Boolean ctermfg=166 ctermbg=NONE guifg=#dc752f guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Character ctermfg=170 ctermbg=NONE guifg=#bc6ec5 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Comment ctermfg=37 ctermbg=NONE guifg=#2aa1ae guibg=NONE guisp=NONE cterm=NONE,none gui=NONE,italic,none + hi Conditional ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi Constant ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Define ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Debug ctermfg=196 ctermbg=NONE guifg=#f54e3c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Delimiter ctermfg=73 ctermbg=NONE guifg=#74baac guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Error ctermfg=196 ctermbg=235 guifg=#f2241f guibg=#292b2e guisp=NONE cterm=NONE,bold,reverse gui=NONE,bold,reverse + hi Exception ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Float ctermfg=147 ctermbg=NONE guifg=#b7b7ff guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Function ctermfg=170 ctermbg=NONE guifg=#bc6ec5 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi Identifier ctermfg=68 ctermbg=NONE guifg=#7590db guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Ignore ctermfg=fg ctermbg=NONE guifg=fg guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Include ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Keyword ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi Label ctermfg=168 ctermbg=NONE guifg=#ce537a guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Macro ctermfg=68 ctermbg=NONE guifg=#7590db guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi Number ctermfg=176 ctermbg=NONE guifg=#e697e6 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Operator ctermfg=74 ctermbg=NONE guifg=#58b0d9 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi PreCondit ctermfg=133 ctermbg=NONE guifg=#a45bad guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi PreProc ctermfg=177 ctermbg=NONE guifg=#d698fe guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Repeat ctermfg=168 ctermbg=NONE guifg=#ce537a guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi SpecialChar ctermfg=80 ctermbg=NONE guifg=#28def0 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi SpecialComment ctermfg=67 ctermbg=NONE guifg=#768294 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Statement ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi StorageClass ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi Special ctermfg=172 ctermbg=NONE guifg=#d79650 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi String ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Structure ctermfg=31 ctermbg=NONE guifg=#4495b4 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi Tag ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Todo ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold,italic + hi Type ctermfg=168 ctermbg=NONE guifg=#ce537a guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Typedef ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi Underlined ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE,underline gui=NONE,underline + hi! link lCursor Cursor + hi CursorIM ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi ToolbarLine ctermfg=NONE ctermbg=232 guifg=NONE guibg=#0a0814 guisp=NONE cterm=NONE gui=NONE + hi ToolbarButton ctermfg=252 ctermbg=232 guifg=#cdcdcd guibg=#0a0814 guisp=NONE cterm=NONE,bold gui=NONE,bold + if get(g:, "space_vim_italic", 0) + hi Comment cterm=italic + hi Folded cterm=italic + hi SpellBad cterm=italic,underline + hi SpellCap cterm=italic,underline + hi SpellLocal cterm=italic,underline + hi SpellRare cterm=italic,underline + hi Todo cterm=italic + endif + if get(g:, "space_vim_italicize_strings", 0) + hi Special cterm=italic gui=italic + hi String cterm=italic gui=italic + endif + hi! link iCursor Cursor + hi! link vCursor Cursor + hi NormalMode ctermfg=240 ctermbg=235 guifg=#5b5b5b guibg=#292b2e guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi InsertMode ctermfg=32 ctermbg=235 guifg=#4f97d7 guibg=#292b2e guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi ReplaceMode ctermfg=29 ctermbg=235 guifg=#2d9574 guibg=#292b2e guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi VisualMode ctermfg=173 ctermbg=235 guifg=#e18254 guibg=#292b2e guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi CommandMode ctermfg=170 ctermbg=235 guifg=#bc6ec5 guibg=#292b2e guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi Warnings ctermfg=173 ctermbg=235 guifg=#e18254 guibg=#292b2e guisp=NONE cterm=NONE,reverse gui=NONE,reverse + if has('nvim') + let g:terminal_color_0 = '#292b2e' + let g:terminal_color_8 = '#44505c' + let g:terminal_color_1 = '#d26487' + let g:terminal_color_9 = '#f2241f' + let g:terminal_color_2 = '#35a8a5' + let g:terminal_color_10 = '#67b11d' + let g:terminal_color_3 = '#b89f33' + let g:terminal_color_11 = '#b1951d' + let g:terminal_color_4 = '#6981c5' + let g:terminal_color_12 = '#4f97d7' + let g:terminal_color_5 = '#a15ea7' + let g:terminal_color_13 = '#bc6ec5' + let g:terminal_color_6 = '#288668' + let g:terminal_color_14 = '#2d9574' + let g:terminal_color_7 = '#5b5b5b' + let g:terminal_color_15 = '#b2b2b2' + hi! link TermCursor Cursor + hi TermCursorNC ctermfg=234 ctermbg=249 guifg=#212026 guibg=#b2b2b2 guisp=NONE cterm=NONE gui=NONE + endif + if !(get(g:, "space_vim_plugin_hi_groups", 1) || get(g:, "space_vim_filetype_hi_groups", 1)) + finish + endif + if get(g:, "space_vim_plugin_hi_groups", 1) + hi ALEError ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=#f2241f cterm=NONE,underline gui=NONE,undercurl + hi ALEWarning ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=#f2241f cterm=NONE,underline gui=NONE,undercurl + hi ALEInfo ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=#4f97d7 cterm=NONE,underline gui=NONE,undercurl + hi ALEErrorSign ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi ALEWarningSign ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi ALEInfoSign ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi BufTabLineCurrent ctermfg=235 ctermbg=240 guifg=#292b2e guibg=#5b5b5b guisp=NONE cterm=NONE gui=NONE + hi BufTabLineActive ctermfg=240 ctermbg=232 guifg=#5b5b5b guibg=#100a14 guisp=NONE cterm=NONE gui=NONE + hi BufTabLineHidden ctermfg=236 ctermbg=234 guifg=#34323e guibg=#212026 guisp=NONE cterm=NONE gui=NONE + hi BufTabLineFill ctermfg=235 ctermbg=235 guifg=#292b2e guibg=#292b2e guisp=NONE cterm=NONE gui=NONE + hi CtrlPMatch ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi CtrlPNoEntries ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi CtrlPPrtBase ctermfg=232 ctermbg=NONE guifg=#100a14 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi CtrlPPrtCursor ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi CtrlPLinePre ctermfg=232 ctermbg=NONE guifg=#100a14 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi CtrlPMode1 ctermfg=32 ctermbg=232 guifg=#4f97d7 guibg=#100a14 guisp=NONE cterm=NONE,bold gui=NONE,bold + hi CtrlPMode2 ctermfg=235 ctermbg=32 guifg=#292b2e guibg=#4f97d7 guisp=NONE cterm=NONE,bold gui=NONE,bold + hi CtrlPStats ctermfg=240 ctermbg=232 guifg=#5b5b5b guibg=#100a14 guisp=NONE cterm=NONE,bold gui=NONE,bold + hi DirvishPathTail ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi DirvishArg ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi! link EasyMotionTarget Search + hi! link EasyMotionShade Comment + hi gitcommitSelectedFile ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi gitcommitDiscardedFile ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi GitGutterAdd ctermfg=70 ctermbg=235 guifg=#67b11d guibg=#292b2e guisp=NONE cterm=NONE,bold gui=NONE,bold + hi GitGutterChange ctermfg=173 ctermbg=235 guifg=#e18254 guibg=#292b2e guisp=NONE cterm=NONE,bold gui=NONE,bold + hi GitGutterDelete ctermfg=196 ctermbg=235 guifg=#f2241f guibg=#292b2e guisp=NONE cterm=NONE,bold gui=NONE,bold + hi GitGutterChangeDelete ctermfg=168 ctermbg=235 guifg=#ce537a guibg=#292b2e guisp=NONE cterm=NONE,bold gui=NONE,bold + if get(g:, "indent_guides_auto_colors", 0) + if get(g: "space_vim_invert_indent_guides", 0) + hi IndentGuidesOdd ctermfg=235 ctermbg=232 guifg=#292b2e guibg=#100a14 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi IndentGuidesEven ctermfg=235 ctermbg=234 guifg=#292b2e guibg=#212026 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + else + hi IndentGuidesOdd ctermfg=235 ctermbg=232 guifg=#292b2e guibg=#100a14 guisp=NONE cterm=NONE gui=NONE + hi IndentGuidesEven ctermfg=235 ctermbg=234 guifg=#292b2e guibg=#212026 guisp=NONE cterm=NONE gui=NONE + endif + endif + " IndentLine + if !exists('g:indentLine_color_term') + let g:indentLine_color_term = 232 + endif + if !exists('g:indentLine_color_gui') + let g:indentLine_color_gui = '#100a14' + endif + hi NERDTreeDir ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi NERDTreeDirSlash ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi NERDTreeOpenable ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi NERDTreeClosable ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi NERDTreeFile ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi NERDTreeExecFile ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi NERDTreeUp ctermfg=168 ctermbg=NONE guifg=#ce537a guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi NERDTreeCWD ctermfg=170 ctermbg=NONE guifg=#bc6ec5 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi NERDTreeHelp ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi NERDTreeToggleOn ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi NERDTreeToggleOff ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi netrwDir ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi netrwClassify ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi netrwLink ctermfg=239 ctermbg=NONE guifg=#44505c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi netrwSymLink ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi netrwExe ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi netrwComment ctermfg=239 ctermbg=NONE guifg=#44505c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi netrwList ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi netrwHelpCmd ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi netrwCmdSep ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi netrwVersion ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE + " Rainbow Parentheses + if !exists('g:rbpt_colorpairs') + let g:rbpt_colorpairs = [['blue', '#6981c5'], ['magenta', '#a15ea7'], + \ ['red', '#d26487'], ['173', '#ca754b']] + endif + + let g:rainbow_guifgs = [ '#ca754b', '#d26487', '#a15ea7', '#6981c5' ] + let g:rainbow_ctermfgs = [ '173', 'red', 'magenta', 'blue' ] + + if !exists('g:rainbow_conf') + let g:rainbow_conf = {} + endif + if !has_key(g:rainbow_conf, 'guifgs') + let g:rainbow_conf['guifgs'] = g:rainbow_guifgs + endif + if !has_key(g:rainbow_conf, 'ctermfgs') + let g:rainbow_conf['ctermfgs'] = g:rainbow_ctermfgs + endif + + let g:niji_dark_colours = g:rbpt_colorpairs + let g:niji_light_colours = g:rbpt_colorpairs + hi ShowMarksHLl ctermfg=32 ctermbg=235 guifg=#4f97d7 guibg=#292b2e guisp=NONE cterm=NONE,bold gui=NONE,bold + hi ShowMarksHLu ctermfg=32 ctermbg=235 guifg=#4f97d7 guibg=#292b2e guisp=NONE cterm=NONE,bold gui=NONE,bold + hi ShowMarksHLo ctermfg=32 ctermbg=235 guifg=#4f97d7 guibg=#292b2e guisp=NONE cterm=NONE,bold gui=NONE,bold + hi ShowMarksHLm ctermfg=32 ctermbg=235 guifg=#4f97d7 guibg=#292b2e guisp=NONE cterm=NONE,bold gui=NONE,bold + hi SignifySignAdd ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi SignifySignChange ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi SignifySignDelete ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi SignatureMarkText ctermfg=32 ctermbg=235 guifg=#4f97d7 guibg=#292b2e guisp=NONE cterm=NONE,bold gui=NONE,bold + hi SignatureMarkerText ctermfg=170 ctermbg=235 guifg=#bc6ec5 guibg=#292b2e guisp=NONE cterm=NONE,bold gui=NONE,bold + hi StartifyBracket ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi StartifyFile ctermfg=249 ctermbg=235 guifg=#b2b2b2 guibg=#292b2e guisp=NONE cterm=NONE gui=NONE + hi StartifyNumber ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi StartifyPath ctermfg=68 ctermbg=NONE guifg=#7590db guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi StartifySlash ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi StartifySection ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi! link StartifySpecial Type + hi StartifyHeader ctermfg=133 ctermbg=NONE guifg=#a45bad guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi StartifyFooter ctermfg=133 ctermbg=NONE guifg=#a45bad guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi SyntasticError ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=#f2241f cterm=NONE,underline gui=NONE,undercurl + hi SyntasticWarning ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=#b1951d cterm=NONE,underline gui=NONE,undercurl + hi SyntasticErrorSign ctermfg=196 ctermbg=235 guifg=#f2241f guibg=#292b2e guisp=NONE cterm=NONE gui=NONE + hi SyntasticWarningSign ctermfg=136 ctermbg=235 guifg=#b1951d guibg=#292b2e guisp=NONE cterm=NONE gui=NONE + hi multiple_cursors_cursor ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi multiple_cursors_visual ctermfg=NONE ctermbg=232 guifg=NONE guibg=#100a14 guisp=NONE cterm=NONE gui=NONE + hi CurrentWord ctermfg=NONE ctermbg=60 guifg=NONE guibg=#544a65 guisp=NONE cterm=NONE,underline gui=NONE,underline + hi CurrentWordTwins ctermfg=NONE ctermbg=60 guifg=NONE guibg=#544a65 guisp=NONE cterm=NONE gui=NONE + hi! link WhichKey Function + hi WhichKeySeperator ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi! link WhichKeyGroup Keyword + hi! link WhichKeyDesc Identifier + let g:vimshell_escape_colors = [ + \ '#34323e', '#f2241f', '#67b11d', '#b1951d', + \ '#4f97d7', '#bc6ec5', '#2d9574', '#5b5b5b', + \ '#292b2e', '#f2241f', '#67b11d', '#e18254', + \ '#4f97d7', '#bc6ec5', '#2d9574', '#cdcdcd' + \ ] + endif + if get(g:, "space_vim_filetype_hi_groups", 1) + hi diffAdded ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi diffRemoved ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi diffChanged ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi diffFile ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi diffNewFile ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi diffLine ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi htmlTag ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi htmlEndTag ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi htmlTagName ctermfg=133 ctermbg=NONE guifg=#a45bad guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi htmlArg ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi htmlScriptTag ctermfg=170 ctermbg=NONE guifg=#bc6ec5 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi htmlTagN ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi htmlSpecialTagName ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi htmlLink ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE,underline gui=NONE,underline + hi htmlSpecialChar ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi htmlBold ctermfg=fg ctermbg=235 guifg=fg guibg=#292b2e guisp=NONE cterm=NONE,bold gui=NONE,bold + hi htmlBoldUnderline ctermfg=fg ctermbg=235 guifg=fg guibg=#292b2e guisp=NONE cterm=NONE,bold,underline gui=NONE,bold,underline + hi htmlBoldItalic ctermfg=fg ctermbg=235 guifg=fg guibg=#292b2e guisp=NONE cterm=NONE,bold,italic gui=NONE,bold,italic + hi htmlBoldUnderlineItalic ctermfg=fg ctermbg=235 guifg=fg guibg=#292b2e guisp=NONE cterm=NONE,bold,italic,underline gui=NONE,bold,italic,underline + hi htmlUnderline ctermfg=fg ctermbg=235 guifg=fg guibg=#292b2e guisp=NONE cterm=NONE,underline gui=NONE,underline + hi htmlUnderlineItalic ctermfg=fg ctermbg=235 guifg=fg guibg=#292b2e guisp=NONE cterm=NONE,italic,underline gui=NONE,italic,underline + hi htmlItalic ctermfg=68 ctermbg=NONE guifg=#7590db guibg=NONE guisp=NONE cterm=NONE,italic gui=NONE,italic + hi xmlTag ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi xmlEndTag ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi xmlTagName ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi xmlEqual ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi docbkKeyword ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi xmlDocTypeDecl ctermfg=239 ctermbg=NONE guifg=#44505c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi xmlDocTypeKeyword ctermfg=170 ctermbg=NONE guifg=#bc6ec5 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi xmlCdataStart ctermfg=239 ctermbg=NONE guifg=#44505c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi xmlCdataCdata ctermfg=170 ctermbg=NONE guifg=#bc6ec5 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi dtdFunction ctermfg=239 ctermbg=NONE guifg=#44505c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi dtdTagName ctermfg=170 ctermbg=NONE guifg=#bc6ec5 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi xmlAttrib ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi xmlProcessingDelim ctermfg=239 ctermbg=NONE guifg=#44505c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi dtdParamEntityPunct ctermfg=239 ctermbg=NONE guifg=#44505c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi dtdParamEntityDPunct ctermfg=239 ctermbg=NONE guifg=#44505c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi xmlAttribPunct ctermfg=239 ctermbg=NONE guifg=#44505c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi xmlEntity ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi xmlEntityPunct ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi vimCommentTitle ctermfg=68 ctermbg=NONE guifg=#7590db guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi vimNotation ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi vimBracket ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi vimMapModKey ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi vimCommand ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi vimLet ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi vimNorm ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi! link vimFuncSID Function + hi! link vimFunction Function + hi vimGroup ctermfg=68 ctermbg=NONE guifg=#7590db guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi! link vimHiGroup Type + hi vimSetSep ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi vimSep ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi vimContinue ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi clojureKeyword ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi clojureCond ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi clojureSpecial ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi clojureDefine ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi clojureFunc ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi clojureRepeat ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi clojureCharacter ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi clojureStringEscape ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi clojureException ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi clojureRegexp ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi clojureRegexpEscape ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi clojureRegexpCharClass ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi! link clojureRegexpMod clojureRegexpCharClass + hi! link clojureRegexpQuantifier clojureRegexpCharClass + hi clojureParen ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi clojureAnonArg ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi clojureVariable ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi clojureMacro ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi clojureMeta ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi clojureDeref ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi clojureQuote ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi clojureUnquote ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cOperator ctermfg=170 ctermbg=NONE guifg=#bc6ec5 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cStructure ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi rustSelf ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi rustPanic ctermfg=168 ctermbg=NONE guifg=#ce537a guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi rustAssert ctermfg=68 ctermbg=NONE guifg=#7590db guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi! link pythonCoding Comment + hi cssBraces ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssFunctionName ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssIdentifier ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssClassName ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssColor ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssSelectorOp ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssSelectorOp2 ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssImportant ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssVendor ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssTextProp ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssAnimationProp ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssUIProp ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssTransformProp ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssTransitionProp ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssPrintProp ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssPositioningProp ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssBoxProp ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssFontDescriptorProp ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssFlexibleBoxProp ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssBorderOutlineProp ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssBackgroundProp ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssMarginProp ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssListProp ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssTableProp ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssFontProp ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssPaddingProp ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssDimensionProp ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssRenderProp ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssColorProp ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssGeneratedContentProp ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javaScriptBraces ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javaScriptFunction ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javaScriptIdentifier ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javaScriptMember ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javaScriptNumber ctermfg=170 ctermbg=NONE guifg=#bc6ec5 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javaScriptNull ctermfg=170 ctermbg=NONE guifg=#bc6ec5 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javaScriptParens ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptImport ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptExport ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptClassKeyword ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptClassExtends ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptDefault ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptClassName ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptClassSuperName ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptGlobal ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptEndColons ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptFuncArg ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptGlobalMethod ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptNodeGlobal ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptBOMWindowProp ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptArrayMethod ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptArrayStaticMethod ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptCacheMethod ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptDateMethod ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptMathStaticMethod ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptURLUtilsProp ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptBOMNavigatorProp ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptDOMDocMethod ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptDOMDocProp ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptBOMLocationMethod ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptBOMWindowMethod ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptStringMethod ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptVariable ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptIdentifier ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptClassSuper ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptFuncKeyword ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptAsyncFunc ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptClassStatic ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptOperator ctermfg=168 ctermbg=NONE guifg=#ce537a guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptForOperator ctermfg=168 ctermbg=NONE guifg=#ce537a guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptYield ctermfg=168 ctermbg=NONE guifg=#ce537a guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptExceptions ctermfg=168 ctermbg=NONE guifg=#ce537a guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptMessage ctermfg=168 ctermbg=NONE guifg=#ce537a guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptTemplateSB ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptTemplateSubstitution ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptLabel ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptObjectLabel ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptPropertyName ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptLogicSymbols ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptArrowFunc ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptDocParamName ctermfg=240 ctermbg=NONE guifg=#5b5b5b guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptDocTags ctermfg=240 ctermbg=NONE guifg=#5b5b5b guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptDocNotation ctermfg=240 ctermbg=NONE guifg=#5b5b5b guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptDocParamType ctermfg=240 ctermbg=NONE guifg=#5b5b5b guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptDocNamedParamType ctermfg=240 ctermbg=NONE guifg=#5b5b5b guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptBrackets ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptDOMElemAttrs ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptDOMEventMethod ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptDOMNodeMethod ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptDOMStorageMethod ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptHeadersMethod ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptAsyncFuncKeyword ctermfg=168 ctermbg=NONE guifg=#ce537a guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi javascriptAwaitFuncKeyword ctermfg=168 ctermbg=NONE guifg=#ce537a guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi! link jsClassKeyword Keyword + hi! link jsExtendsKeyword Keyword + hi jsExportDefault ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi jsTemplateBraces ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi! link jsGlobalNodeObjects Keyword + hi! link jsGlobalObjects Keyword + hi! link jsFunction Function + hi jsFuncParens ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi jsParens ctermfg=168 ctermbg=NONE guifg=#ce537a guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi jsNull ctermfg=170 ctermbg=NONE guifg=#bc6ec5 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi! link jsUndefined ErrorMsg + hi jsClassDefinition ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi! link jsObjectProp Identifier + hi jsObjectKey ctermfg=74 ctermbg=NONE guifg=#58b0d9 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi jsFunctionKey ctermfg=68 ctermbg=NONE guifg=#7590db guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi jsBracket ctermfg=168 ctermbg=NONE guifg=#ce537a guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi jsObjectColon ctermfg=168 ctermbg=NONE guifg=#ce537a guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi jsFuncArgs ctermfg=74 ctermbg=NONE guifg=#58b0d9 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi jsFuncBraces ctermfg=68 ctermbg=NONE guifg=#7590db guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi jsVariableDef ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi! link jsObjectBraces Special + hi jsObjectValue ctermfg=147 ctermbg=NONE guifg=#b7b7ff guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi jsClassBlock ctermfg=68 ctermbg=NONE guifg=#7590db guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi jsFutureKeys ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi jsFuncArgs ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi jsStorageClass ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi jsxRegion ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi typeScriptReserved ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi! link typeScriptLabel Label + hi! link typeScriptFuncKeyword Function + hi! link typeScriptIdentifier Identifier + hi typeScriptBraces ctermfg=168 ctermbg=NONE guifg=#ce537a guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi typeScriptEndColons ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi typeScriptDOMObjects ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi! link typeScriptAjaxMethods Function + hi typeScriptLogicSymbols ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi! link typeScriptDocSeeTag Comment + hi! link typeScriptDocParam Comment + hi! link typeScriptDocTags vimCommentTitle + hi! link typeScriptGlobalObjects Keyword + hi typeScriptParens ctermfg=68 ctermbg=NONE guifg=#7590db guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi! link typeScriptOpSymbols Operator + hi! link typeScriptHtmlElemProperties Special + hi typeScriptNull ctermfg=170 ctermbg=NONE guifg=#bc6ec5 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi typeScriptInterpolationDelimiter ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi purescriptModuleKeyword ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi purescriptModuleName ctermfg=168 ctermbg=NONE guifg=#ce537a guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi purescriptWhere ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi purescriptDelimiter ctermfg=240 ctermbg=NONE guifg=#5b5b5b guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi! link purescriptType Type + hi! link purescriptImportKeyword Keyword + hi! link purescriptHidingKeyword Keyword + hi! link purescriptAsKeyword Keyword + hi! link purescriptStructure Structure + hi! link purescriptOperator Operator + hi! link purescriptTypeVar Type + hi! link purescriptConstructor Function + hi! link purescriptFunction Function + hi! link purescriptConditional Conditional + hi purescriptBacktick ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi coffeeExtendedOp ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi coffeeSpecialOp ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi coffeeCurly ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi coffeeParen ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi coffeeBracket ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi rubyStringDelimiter ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi rubyInterpolationDelimiter ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi objcTypeModifier ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi objcDirective ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi goDirective ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi goConstants ctermfg=170 ctermbg=NONE guifg=#bc6ec5 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi! link goDeclaration Keyword + hi goDeclType ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi goBuiltins ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi luaIn ctermfg=168 ctermbg=NONE guifg=#ce537a guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi luaFunction ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi luaTable ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi moonSpecialOp ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi moonExtendedOp ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi moonFunction ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi moonObject ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javaAnnotation ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javaDocTags ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi! link javaCommentTitle vimCommentTitle + hi javaParen ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javaParen1 ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javaParen2 ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javaParen3 ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javaParen4 ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javaParen5 ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javaOperator ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javaVarArg ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi! link elixirDocString Comment + hi elixirStringDelimiter ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi elixirInterpolationDelimiter ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi elixirModuleDeclaration ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi scalaNameDefinition ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi scalaCaseFollowing ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi scalaCapitalWord ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi scalaTypeExtension ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi scalaKeyword ctermfg=168 ctermbg=NONE guifg=#ce537a guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi scalaKeywordModifier ctermfg=168 ctermbg=NONE guifg=#ce537a guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi scalaSpecial ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi scalaOperator ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi scalaTypeDeclaration ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi scalaTypeTypePostDeclaration ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi scalaInstanceDeclaration ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi scalaInterpolation ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi markdownItalic ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE,italic gui=NONE,italic + hi markdownH1 ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi markdownH2 ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi markdownH3 ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi markdownH4 ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi markdownH5 ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi markdownH6 ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi! link htmlH1 markdownH1 + hi! link htmlH2 markdownH2 + hi! link htmlH3 markdownH3 + hi! link htmlH4 markdownH4 + hi! link htmlH5 markdownH5 + hi! link htmlH6 markdownH6 + hi markdownCode ctermfg=133 ctermbg=NONE guifg=#a45bad guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi! link mkdCode markdownCode + hi markdownCodeBlock ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi markdownCodeDelimiter ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi! link mkdCodeDelimiter markdownCodeDelimiter + hi markdownBlockquote ctermfg=239 ctermbg=NONE guifg=#44505c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi markdownListMarker ctermfg=239 ctermbg=NONE guifg=#44505c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi markdownOrderedListMarker ctermfg=239 ctermbg=NONE guifg=#44505c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi markdownRule ctermfg=239 ctermbg=NONE guifg=#44505c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi markdownHeadingRule ctermfg=239 ctermbg=NONE guifg=#44505c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi markdownUrlDelimiter ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi markdownLinkDelimiter ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi markdownLinkTextDelimiter ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi markdownHeadingDelimiter ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi markdownUrl ctermfg=170 ctermbg=NONE guifg=#bc6ec5 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi markdownUrlTitleDelimiter ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi! link markdownLinkText htmlLink + hi! link markdownIdDeclaration markdownLinkText + hi haskellType ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi haskellIdentifier ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi haskellSeparator ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi haskellDelimiter ctermfg=240 ctermbg=NONE guifg=#5b5b5b guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi haskellOperators ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi haskellBacktick ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi haskellStatement ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi haskellConditional ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi haskellLet ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi haskellDefault ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi haskellWhere ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi haskellBottom ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi haskellBlockKeywords ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi haskellImportKeywords ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi haskellDeclKeyword ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi haskellDeriving ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi haskellAssocType ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi haskellNumber ctermfg=170 ctermbg=NONE guifg=#bc6ec5 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi haskellPragma ctermfg=170 ctermbg=NONE guifg=#bc6ec5 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi haskellString ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi haskellChar ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi jsonKeyword ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi jsonQuote ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi jsonBraces ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi jsonString ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE + endif + finish +endif + +let g:terminal_ansi_colors = [ + \ '#fbf8ef', '#d26487', '#35a8a5', '#b89f33', '#6981c5', '#a15ea7', '#288668', '#504259', + \ '#a8a4ae', '#f2241f', '#67b11d', '#b1951d', '#3a81c3', '#6c3163', '#24775c', '#655370'] +if !has('gui_running') && get(g:, 'space_vim_transp_bg', 0) + hi Normal ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi CursorLineNr ctermfg=89 ctermbg=NONE guifg=#6c3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi FoldColumn ctermfg=89 ctermbg=NONE guifg=#6c3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi SignColumn ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi VertSplit ctermfg=255 ctermbg=NONE guifg=#efeae9 guibg=NONE guisp=NONE cterm=NONE gui=NONE +else + hi Normal ctermfg=60 ctermbg=231 guifg=#655370 guibg=#fbf8ef guisp=NONE cterm=NONE gui=NONE + hi CursorLineNr ctermfg=89 ctermbg=255 guifg=#6c3163 guibg=#efeae9 guisp=NONE cterm=NONE gui=NONE + hi FoldColumn ctermfg=89 ctermbg=255 guifg=#6c3163 guibg=#efeae9 guisp=NONE cterm=NONE gui=NONE + hi SignColumn ctermfg=60 ctermbg=231 guifg=#655370 guibg=#fbf8ef guisp=NONE cterm=NONE gui=NONE + hi VertSplit ctermfg=255 ctermbg=231 guifg=#efeae9 guibg=#fbf8ef guisp=NONE cterm=NONE gui=NONE +endif +hi ColorColumn ctermfg=NONE ctermbg=255 guifg=NONE guibg=#efeae9 guisp=NONE cterm=NONE gui=NONE +hi Conceal ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Cursor ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE,bold,reverse gui=NONE,bold,reverse +hi! link CursorColumn CursorLine +hi CursorLine ctermfg=NONE ctermbg=255 guifg=NONE guibg=#efeae9 guisp=NONE cterm=NONE gui=NONE +hi DiffAdd ctermfg=70 ctermbg=231 guifg=#67b11d guibg=#fbf8ef guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi DiffChange ctermfg=166 ctermbg=231 guifg=#b46843 guibg=#fbf8ef guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi DiffDelete ctermfg=196 ctermbg=231 guifg=#f2241f guibg=#fbf8ef guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi DiffText ctermfg=136 ctermbg=231 guifg=#b1951d guibg=#fbf8ef guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi Directory ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold +hi EndOfBuffer ctermfg=231 ctermbg=NONE guifg=#fbf8ef guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Error ctermfg=196 ctermbg=231 guifg=#f2241f guibg=#fbf8ef guisp=NONE cterm=NONE,bold,reverse gui=NONE,bold,reverse +hi ErrorMsg ctermfg=231 ctermbg=196 guifg=#fbf8ef guibg=#f2241f guisp=NONE cterm=NONE gui=NONE +hi Folded ctermfg=53 ctermbg=255 guifg=#4e3163 guibg=#efeae9 guisp=NONE cterm=NONE gui=NONE,italic +hi IncSearch ctermfg=166 ctermbg=231 guifg=#b46843 guibg=#fbf8ef guisp=NONE cterm=NONE,bold,reverse gui=NONE,bold,reverse +hi LineNr ctermfg=146 ctermbg=NONE guifg=#a8a8bf guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi MatchParen ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE,bold,underline gui=NONE,bold,underline +hi ModeMsg ctermfg=184 ctermbg=NONE guifg=#e5d11c guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi! link MoreMsg ModeMsg +hi NonText ctermfg=146 ctermbg=NONE guifg=#a8a8bf guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Pmenu ctermfg=103 ctermbg=254 guifg=#8c799f guibg=#e2e0ea guisp=NONE cterm=NONE gui=NONE +hi PmenuSbar ctermfg=NONE ctermbg=255 guifg=NONE guibg=#efeae9 guisp=NONE cterm=NONE gui=NONE +hi PmenuSel ctermfg=NONE ctermbg=189 guifg=NONE guibg=#c8c6dd guisp=NONE cterm=NONE gui=NONE +hi PmenuThumb ctermfg=NONE ctermbg=189 guifg=NONE guibg=#d3d3e7 guisp=NONE cterm=NONE gui=NONE +hi Question ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold +hi! link QuickFixLine Search +hi! link qfLineNr Type +hi Search ctermfg=70 ctermbg=231 guifg=#67b11d guibg=#fbf8ef guisp=NONE cterm=NONE,bold,reverse gui=NONE,bold,reverse +hi SpecialKey ctermfg=89 ctermbg=NONE guifg=#6c3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi SpellBad ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=#f2241f cterm=NONE,underline gui=NONE,italic,undercurl +hi SpellCap ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=#3a81c3 cterm=NONE,underline gui=NONE,italic,undercurl +hi SpellLocal ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=#24775c cterm=NONE,underline gui=NONE,italic,undercurl +hi SpellRare ctermfg=89 ctermbg=NONE guifg=#6c3163 guibg=NONE guisp=#6c3163 cterm=NONE,underline gui=NONE,italic,undercurl +hi StatusLine ctermfg=60 ctermbg=189 guifg=#655370 guibg=#d3d3e7 guisp=NONE cterm=NONE gui=NONE +hi StatusLineNC ctermfg=189 ctermbg=248 guifg=#d3d3e7 guibg=#a8a4ae guisp=NONE cterm=NONE gui=NONE +hi! link StatusLineTerm StatusLine +hi! link StatusLineTermNC StatusLineNC +hi TabLineFill ctermfg=60 ctermbg=255 guifg=#544a65 guibg=#efeae9 guisp=NONE cterm=NONE gui=NONE +hi TabLineSel ctermfg=70 ctermbg=255 guifg=#67b11d guibg=#efeae9 guisp=NONE cterm=NONE gui=NONE +hi! link TabLine TabLineFill +hi Title ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold +hi Visual ctermfg=NONE ctermbg=60 guifg=NONE guibg=#544a65 guisp=NONE cterm=NONE gui=NONE +hi! link VisualNOS Visual +hi WarningMsg ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi WildMenu ctermfg=166 ctermbg=255 guifg=#b46843 guibg=#efeae9 guisp=NONE cterm=NONE,bold gui=NONE,bold +hi Boolean ctermfg=166 ctermbg=NONE guifg=#dc752f guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Character ctermfg=89 ctermbg=NONE guifg=#6c3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Comment ctermfg=37 ctermbg=NONE guifg=#2aa1ae guibg=NONE guisp=NONE cterm=NONE,none gui=NONE,italic,none +hi Conditional ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold +hi Constant ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Define ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Debug ctermfg=196 ctermbg=NONE guifg=#f54e3c guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Delimiter ctermfg=73 ctermbg=NONE guifg=#74baac guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Error ctermfg=196 ctermbg=231 guifg=#f2241f guibg=#fbf8ef guisp=NONE cterm=NONE,bold,reverse gui=NONE,bold,reverse +hi Exception ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Float ctermfg=147 ctermbg=NONE guifg=#b7b7ff guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Function ctermfg=89 ctermbg=NONE guifg=#6c3163 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold +hi Identifier ctermfg=61 ctermbg=NONE guifg=#715ab1 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Ignore ctermfg=fg ctermbg=NONE guifg=fg guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Include ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Keyword ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold +hi Label ctermfg=161 ctermbg=NONE guifg=#ba2f59 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Macro ctermfg=61 ctermbg=NONE guifg=#715ab1 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold +hi Number ctermfg=176 ctermbg=NONE guifg=#e697e6 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Operator ctermfg=74 ctermbg=NONE guifg=#58b0d9 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi PreCondit ctermfg=53 ctermbg=NONE guifg=#4e3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi PreProc ctermfg=97 ctermbg=NONE guifg=#86589e guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Repeat ctermfg=161 ctermbg=NONE guifg=#ba2f59 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold +hi SpecialChar ctermfg=37 ctermbg=NONE guifg=#21b8c7 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi SpecialComment ctermfg=67 ctermbg=NONE guifg=#768294 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Statement ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi StorageClass ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold +hi Special ctermfg=172 ctermbg=NONE guifg=#d79650 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi String ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Structure ctermfg=31 ctermbg=NONE guifg=#4495b4 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold +hi Tag ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Todo ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold,italic +hi Type ctermfg=161 ctermbg=NONE guifg=#ba2f59 guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Typedef ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE +hi Underlined ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE,underline gui=NONE,underline +hi! link lCursor Cursor +hi CursorIM ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi ToolbarLine ctermfg=NONE ctermbg=252 guifg=NONE guibg=#d2ceda guisp=NONE cterm=NONE gui=NONE +hi ToolbarButton ctermfg=103 ctermbg=252 guifg=#83758c guibg=#d2ceda guisp=NONE cterm=NONE,bold gui=NONE,bold +if get(g:, "space_vim_italic", 0) + hi Comment cterm=italic + hi Folded cterm=italic + hi SpellBad cterm=italic,underline + hi SpellCap cterm=italic,underline + hi SpellLocal cterm=italic,underline + hi SpellRare cterm=italic,underline + hi Todo cterm=italic +endif +if get(g:, "space_vim_italicize_strings", 0) + hi Special cterm=italic gui=italic + hi String cterm=italic gui=italic +endif +hi! link iCursor Cursor +hi! link vCursor Cursor +hi NormalMode ctermfg=237 ctermbg=231 guifg=#463a4e guibg=#fbf8ef guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi InsertMode ctermfg=32 ctermbg=231 guifg=#3a81c3 guibg=#fbf8ef guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi ReplaceMode ctermfg=29 ctermbg=231 guifg=#24775c guibg=#fbf8ef guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi VisualMode ctermfg=166 ctermbg=231 guifg=#b46843 guibg=#fbf8ef guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi CommandMode ctermfg=89 ctermbg=231 guifg=#6c3163 guibg=#fbf8ef guisp=NONE cterm=NONE,reverse gui=NONE,reverse +hi Warnings ctermfg=166 ctermbg=231 guifg=#b46843 guibg=#fbf8ef guisp=NONE cterm=NONE,reverse gui=NONE,reverse +if has('nvim') + let g:terminal_color_0 = '#fbf8ef' + let g:terminal_color_8 = '#a8a8bf' + let g:terminal_color_1 = '#d26487' + let g:terminal_color_9 = '#f2241f' + let g:terminal_color_2 = '#35a8a5' + let g:terminal_color_10 = '#67b11d' + let g:terminal_color_3 = '#b89f33' + let g:terminal_color_11 = '#b1951d' + let g:terminal_color_4 = '#6981c5' + let g:terminal_color_12 = '#3a81c3' + let g:terminal_color_5 = '#a15ea7' + let g:terminal_color_13 = '#6c3163' + let g:terminal_color_6 = '#288668' + let g:terminal_color_14 = '#24775c' + let g:terminal_color_7 = '#463a4e' + let g:terminal_color_15 = '#655370' + hi! link TermCursor Cursor + hi TermCursorNC ctermfg=255 ctermbg=60 guifg=#efeae9 guibg=#655370 guisp=NONE cterm=NONE gui=NONE +endif +if !(get(g:, "space_vim_plugin_hi_groups", 1) || get(g:, "space_vim_filetype_hi_groups", 1)) + finish +endif +if get(g:, "space_vim_plugin_hi_groups", 1) + hi ALEError ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=#f2241f cterm=NONE,underline gui=NONE,undercurl + hi ALEWarning ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=#f2241f cterm=NONE,underline gui=NONE,undercurl + hi ALEInfo ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=#3a81c3 cterm=NONE,underline gui=NONE,undercurl + hi ALEErrorSign ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi ALEWarningSign ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi ALEInfoSign ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi BufTabLineCurrent ctermfg=231 ctermbg=237 guifg=#fbf8ef guibg=#463a4e guisp=NONE cterm=NONE gui=NONE + hi BufTabLineActive ctermfg=237 ctermbg=254 guifg=#463a4e guibg=#e3dedd guisp=NONE cterm=NONE gui=NONE + hi BufTabLineHidden ctermfg=248 ctermbg=255 guifg=#a8a4ae guibg=#efeae9 guisp=NONE cterm=NONE gui=NONE + hi BufTabLineFill ctermfg=231 ctermbg=231 guifg=#fbf8ef guibg=#fbf8ef guisp=NONE cterm=NONE gui=NONE + hi CtrlPMatch ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi CtrlPNoEntries ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi CtrlPPrtBase ctermfg=254 ctermbg=NONE guifg=#e3dedd guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi CtrlPPrtCursor ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi CtrlPLinePre ctermfg=254 ctermbg=NONE guifg=#e3dedd guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi CtrlPMode1 ctermfg=32 ctermbg=254 guifg=#3a81c3 guibg=#e3dedd guisp=NONE cterm=NONE,bold gui=NONE,bold + hi CtrlPMode2 ctermfg=231 ctermbg=32 guifg=#fbf8ef guibg=#3a81c3 guisp=NONE cterm=NONE,bold gui=NONE,bold + hi CtrlPStats ctermfg=237 ctermbg=254 guifg=#463a4e guibg=#e3dedd guisp=NONE cterm=NONE,bold gui=NONE,bold + hi DirvishPathTail ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi DirvishArg ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi! link EasyMotionTarget Search + hi! link EasyMotionShade Comment + hi gitcommitSelectedFile ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi gitcommitDiscardedFile ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi GitGutterAdd ctermfg=70 ctermbg=231 guifg=#67b11d guibg=#fbf8ef guisp=NONE cterm=NONE,bold gui=NONE,bold + hi GitGutterChange ctermfg=166 ctermbg=231 guifg=#b46843 guibg=#fbf8ef guisp=NONE cterm=NONE,bold gui=NONE,bold + hi GitGutterDelete ctermfg=196 ctermbg=231 guifg=#f2241f guibg=#fbf8ef guisp=NONE cterm=NONE,bold gui=NONE,bold + hi GitGutterChangeDelete ctermfg=161 ctermbg=231 guifg=#ba2f59 guibg=#fbf8ef guisp=NONE cterm=NONE,bold gui=NONE,bold + if get(g:, "indent_guides_auto_colors", 0) + if get(g: "space_vim_invert_indent_guides", 0) + hi IndentGuidesOdd ctermfg=231 ctermbg=254 guifg=#fbf8ef guibg=#e3dedd guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi IndentGuidesEven ctermfg=231 ctermbg=255 guifg=#fbf8ef guibg=#efeae9 guisp=NONE cterm=NONE,reverse gui=NONE,reverse + else + hi IndentGuidesOdd ctermfg=231 ctermbg=254 guifg=#fbf8ef guibg=#e3dedd guisp=NONE cterm=NONE gui=NONE + hi IndentGuidesEven ctermfg=231 ctermbg=255 guifg=#fbf8ef guibg=#efeae9 guisp=NONE cterm=NONE gui=NONE + endif + endif + " IndentLine + if !exists('g:indentLine_color_term') + let g:indentLine_color_term = 254 + endif + if !exists('g:indentLine_color_gui') + let g:indentLine_color_gui = '#e3dedd' + endif + hi NERDTreeDir ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi NERDTreeDirSlash ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi NERDTreeOpenable ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi NERDTreeClosable ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi NERDTreeFile ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi NERDTreeExecFile ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi NERDTreeUp ctermfg=161 ctermbg=NONE guifg=#ba2f59 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi NERDTreeCWD ctermfg=89 ctermbg=NONE guifg=#6c3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi NERDTreeHelp ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi NERDTreeToggleOn ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi NERDTreeToggleOff ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi netrwDir ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi netrwClassify ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi netrwLink ctermfg=146 ctermbg=NONE guifg=#a8a8bf guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi netrwSymLink ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi netrwExe ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi netrwComment ctermfg=146 ctermbg=NONE guifg=#a8a8bf guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi netrwList ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi netrwHelpCmd ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi netrwCmdSep ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi netrwVersion ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE + " Rainbow Parentheses + if !exists('g:rbpt_colorpairs') + let g:rbpt_colorpairs = [['blue', '#6981c5'], ['magenta', '#a15ea7'], + \ ['red', '#d26487'], ['173', '#ca754b']] + endif + + let g:rainbow_guifgs = [ '#ca754b', '#d26487', '#a15ea7', '#6981c5' ] + let g:rainbow_ctermfgs = [ '173', 'red', 'magenta', 'blue' ] + + if !exists('g:rainbow_conf') + let g:rainbow_conf = {} + endif + if !has_key(g:rainbow_conf, 'guifgs') + let g:rainbow_conf['guifgs'] = g:rainbow_guifgs + endif + if !has_key(g:rainbow_conf, 'ctermfgs') + let g:rainbow_conf['ctermfgs'] = g:rainbow_ctermfgs + endif + + let g:niji_dark_colours = g:rbpt_colorpairs + let g:niji_light_colours = g:rbpt_colorpairs + hi ShowMarksHLl ctermfg=32 ctermbg=231 guifg=#3a81c3 guibg=#fbf8ef guisp=NONE cterm=NONE,bold gui=NONE,bold + hi ShowMarksHLu ctermfg=32 ctermbg=231 guifg=#3a81c3 guibg=#fbf8ef guisp=NONE cterm=NONE,bold gui=NONE,bold + hi ShowMarksHLo ctermfg=32 ctermbg=231 guifg=#3a81c3 guibg=#fbf8ef guisp=NONE cterm=NONE,bold gui=NONE,bold + hi ShowMarksHLm ctermfg=32 ctermbg=231 guifg=#3a81c3 guibg=#fbf8ef guisp=NONE cterm=NONE,bold gui=NONE,bold + hi SignifySignAdd ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi SignifySignChange ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi SignifySignDelete ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi SignatureMarkText ctermfg=32 ctermbg=231 guifg=#3a81c3 guibg=#fbf8ef guisp=NONE cterm=NONE,bold gui=NONE,bold + hi SignatureMarkerText ctermfg=89 ctermbg=231 guifg=#6c3163 guibg=#fbf8ef guisp=NONE cterm=NONE,bold gui=NONE,bold + hi StartifyBracket ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi StartifyFile ctermfg=60 ctermbg=231 guifg=#655370 guibg=#fbf8ef guisp=NONE cterm=NONE gui=NONE + hi StartifyNumber ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi StartifyPath ctermfg=61 ctermbg=NONE guifg=#715ab1 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi StartifySlash ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi StartifySection ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi! link StartifySpecial Type + hi StartifyHeader ctermfg=53 ctermbg=NONE guifg=#4e3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi StartifyFooter ctermfg=53 ctermbg=NONE guifg=#4e3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi SyntasticError ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=#f2241f cterm=NONE,underline gui=NONE,undercurl + hi SyntasticWarning ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=#b1951d cterm=NONE,underline gui=NONE,undercurl + hi SyntasticErrorSign ctermfg=196 ctermbg=231 guifg=#f2241f guibg=#fbf8ef guisp=NONE cterm=NONE gui=NONE + hi SyntasticWarningSign ctermfg=136 ctermbg=231 guifg=#b1951d guibg=#fbf8ef guisp=NONE cterm=NONE gui=NONE + hi multiple_cursors_cursor ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE,reverse gui=NONE,reverse + hi multiple_cursors_visual ctermfg=NONE ctermbg=254 guifg=NONE guibg=#e3dedd guisp=NONE cterm=NONE gui=NONE + hi CurrentWord ctermfg=NONE ctermbg=60 guifg=NONE guibg=#544a65 guisp=NONE cterm=NONE,underline gui=NONE,underline + hi CurrentWordTwins ctermfg=NONE ctermbg=60 guifg=NONE guibg=#544a65 guisp=NONE cterm=NONE gui=NONE + hi! link WhichKey Function + hi WhichKeySeperator ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi! link WhichKeyGroup Keyword + hi! link WhichKeyDesc Identifier + let g:vimshell_escape_colors = [ + \ '#a8a4ae', '#f2241f', '#67b11d', '#b1951d', + \ '#3a81c3', '#6c3163', '#24775c', '#463a4e', + \ '#fbf8ef', '#f2241f', '#67b11d', '#b46843', + \ '#3a81c3', '#6c3163', '#24775c', '#83758c' + \ ] +endif +if get(g:, "space_vim_filetype_hi_groups", 1) + hi diffAdded ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi diffRemoved ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi diffChanged ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi diffFile ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi diffNewFile ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi diffLine ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi htmlTag ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi htmlEndTag ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi htmlTagName ctermfg=53 ctermbg=NONE guifg=#4e3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi htmlArg ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi htmlScriptTag ctermfg=89 ctermbg=NONE guifg=#6c3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi htmlTagN ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi htmlSpecialTagName ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi htmlLink ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE,underline gui=NONE,underline + hi htmlSpecialChar ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi htmlBold ctermfg=fg ctermbg=231 guifg=fg guibg=#fbf8ef guisp=NONE cterm=NONE,bold gui=NONE,bold + hi htmlBoldUnderline ctermfg=fg ctermbg=231 guifg=fg guibg=#fbf8ef guisp=NONE cterm=NONE,bold,underline gui=NONE,bold,underline + hi htmlBoldItalic ctermfg=fg ctermbg=231 guifg=fg guibg=#fbf8ef guisp=NONE cterm=NONE,bold,italic gui=NONE,bold,italic + hi htmlBoldUnderlineItalic ctermfg=fg ctermbg=231 guifg=fg guibg=#fbf8ef guisp=NONE cterm=NONE,bold,italic,underline gui=NONE,bold,italic,underline + hi htmlUnderline ctermfg=fg ctermbg=231 guifg=fg guibg=#fbf8ef guisp=NONE cterm=NONE,underline gui=NONE,underline + hi htmlUnderlineItalic ctermfg=fg ctermbg=231 guifg=fg guibg=#fbf8ef guisp=NONE cterm=NONE,italic,underline gui=NONE,italic,underline + hi htmlItalic ctermfg=61 ctermbg=NONE guifg=#715ab1 guibg=NONE guisp=NONE cterm=NONE,italic gui=NONE,italic + hi xmlTag ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi xmlEndTag ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi xmlTagName ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi xmlEqual ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi docbkKeyword ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi xmlDocTypeDecl ctermfg=146 ctermbg=NONE guifg=#a8a8bf guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi xmlDocTypeKeyword ctermfg=89 ctermbg=NONE guifg=#6c3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi xmlCdataStart ctermfg=146 ctermbg=NONE guifg=#a8a8bf guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi xmlCdataCdata ctermfg=89 ctermbg=NONE guifg=#6c3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi dtdFunction ctermfg=146 ctermbg=NONE guifg=#a8a8bf guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi dtdTagName ctermfg=89 ctermbg=NONE guifg=#6c3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi xmlAttrib ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi xmlProcessingDelim ctermfg=146 ctermbg=NONE guifg=#a8a8bf guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi dtdParamEntityPunct ctermfg=146 ctermbg=NONE guifg=#a8a8bf guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi dtdParamEntityDPunct ctermfg=146 ctermbg=NONE guifg=#a8a8bf guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi xmlAttribPunct ctermfg=146 ctermbg=NONE guifg=#a8a8bf guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi xmlEntity ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi xmlEntityPunct ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi vimCommentTitle ctermfg=61 ctermbg=NONE guifg=#715ab1 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi vimNotation ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi vimBracket ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi vimMapModKey ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi vimCommand ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi vimLet ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi vimNorm ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi! link vimFuncSID Function + hi! link vimFunction Function + hi vimGroup ctermfg=61 ctermbg=NONE guifg=#715ab1 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi! link vimHiGroup Type + hi vimSetSep ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi vimSep ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi vimContinue ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi clojureKeyword ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi clojureCond ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi clojureSpecial ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi clojureDefine ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi clojureFunc ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi clojureRepeat ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi clojureCharacter ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi clojureStringEscape ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi clojureException ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi clojureRegexp ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi clojureRegexpEscape ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi clojureRegexpCharClass ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi! link clojureRegexpMod clojureRegexpCharClass + hi! link clojureRegexpQuantifier clojureRegexpCharClass + hi clojureParen ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi clojureAnonArg ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi clojureVariable ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi clojureMacro ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi clojureMeta ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi clojureDeref ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi clojureQuote ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi clojureUnquote ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cOperator ctermfg=89 ctermbg=NONE guifg=#6c3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cStructure ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi rustSelf ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi rustPanic ctermfg=161 ctermbg=NONE guifg=#ba2f59 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi rustAssert ctermfg=61 ctermbg=NONE guifg=#715ab1 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi! link pythonCoding Comment + hi cssBraces ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssFunctionName ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssIdentifier ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssClassName ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssColor ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssSelectorOp ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssSelectorOp2 ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssImportant ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssVendor ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssTextProp ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssAnimationProp ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssUIProp ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssTransformProp ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssTransitionProp ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssPrintProp ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssPositioningProp ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssBoxProp ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssFontDescriptorProp ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssFlexibleBoxProp ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssBorderOutlineProp ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssBackgroundProp ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssMarginProp ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssListProp ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssTableProp ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssFontProp ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssPaddingProp ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssDimensionProp ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssRenderProp ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssColorProp ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi cssGeneratedContentProp ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javaScriptBraces ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javaScriptFunction ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javaScriptIdentifier ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javaScriptMember ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javaScriptNumber ctermfg=89 ctermbg=NONE guifg=#6c3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javaScriptNull ctermfg=89 ctermbg=NONE guifg=#6c3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javaScriptParens ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptImport ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptExport ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptClassKeyword ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptClassExtends ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptDefault ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptClassName ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptClassSuperName ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptGlobal ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptEndColons ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptFuncArg ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptGlobalMethod ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptNodeGlobal ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptBOMWindowProp ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptArrayMethod ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptArrayStaticMethod ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptCacheMethod ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptDateMethod ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptMathStaticMethod ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptURLUtilsProp ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptBOMNavigatorProp ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptDOMDocMethod ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptDOMDocProp ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptBOMLocationMethod ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptBOMWindowMethod ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptStringMethod ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptVariable ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptIdentifier ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptClassSuper ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptFuncKeyword ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptAsyncFunc ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptClassStatic ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptOperator ctermfg=161 ctermbg=NONE guifg=#ba2f59 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptForOperator ctermfg=161 ctermbg=NONE guifg=#ba2f59 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptYield ctermfg=161 ctermbg=NONE guifg=#ba2f59 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptExceptions ctermfg=161 ctermbg=NONE guifg=#ba2f59 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptMessage ctermfg=161 ctermbg=NONE guifg=#ba2f59 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptTemplateSB ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptTemplateSubstitution ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptLabel ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptObjectLabel ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptPropertyName ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptLogicSymbols ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptArrowFunc ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptDocParamName ctermfg=237 ctermbg=NONE guifg=#463a4e guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptDocTags ctermfg=237 ctermbg=NONE guifg=#463a4e guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptDocNotation ctermfg=237 ctermbg=NONE guifg=#463a4e guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptDocParamType ctermfg=237 ctermbg=NONE guifg=#463a4e guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptDocNamedParamType ctermfg=237 ctermbg=NONE guifg=#463a4e guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptBrackets ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptDOMElemAttrs ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptDOMEventMethod ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptDOMNodeMethod ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptDOMStorageMethod ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptHeadersMethod ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javascriptAsyncFuncKeyword ctermfg=161 ctermbg=NONE guifg=#ba2f59 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi javascriptAwaitFuncKeyword ctermfg=161 ctermbg=NONE guifg=#ba2f59 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi! link jsClassKeyword Keyword + hi! link jsExtendsKeyword Keyword + hi jsExportDefault ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi jsTemplateBraces ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi! link jsGlobalNodeObjects Keyword + hi! link jsGlobalObjects Keyword + hi! link jsFunction Function + hi jsFuncParens ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi jsParens ctermfg=161 ctermbg=NONE guifg=#ba2f59 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi jsNull ctermfg=89 ctermbg=NONE guifg=#6c3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi! link jsUndefined ErrorMsg + hi jsClassDefinition ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi! link jsObjectProp Identifier + hi jsObjectKey ctermfg=74 ctermbg=NONE guifg=#58b0d9 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi jsFunctionKey ctermfg=61 ctermbg=NONE guifg=#715ab1 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi jsBracket ctermfg=161 ctermbg=NONE guifg=#ba2f59 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi jsObjectColon ctermfg=161 ctermbg=NONE guifg=#ba2f59 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi jsFuncArgs ctermfg=74 ctermbg=NONE guifg=#58b0d9 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi jsFuncBraces ctermfg=61 ctermbg=NONE guifg=#715ab1 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi jsVariableDef ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi! link jsObjectBraces Special + hi jsObjectValue ctermfg=147 ctermbg=NONE guifg=#b7b7ff guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi jsClassBlock ctermfg=61 ctermbg=NONE guifg=#715ab1 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi jsFutureKeys ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi jsFuncArgs ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi jsStorageClass ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi jsxRegion ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi typeScriptReserved ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi! link typeScriptLabel Label + hi! link typeScriptFuncKeyword Function + hi! link typeScriptIdentifier Identifier + hi typeScriptBraces ctermfg=161 ctermbg=NONE guifg=#ba2f59 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi typeScriptEndColons ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi typeScriptDOMObjects ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi! link typeScriptAjaxMethods Function + hi typeScriptLogicSymbols ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi! link typeScriptDocSeeTag Comment + hi! link typeScriptDocParam Comment + hi! link typeScriptDocTags vimCommentTitle + hi! link typeScriptGlobalObjects Keyword + hi typeScriptParens ctermfg=61 ctermbg=NONE guifg=#715ab1 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi! link typeScriptOpSymbols Operator + hi! link typeScriptHtmlElemProperties Special + hi typeScriptNull ctermfg=89 ctermbg=NONE guifg=#6c3163 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi typeScriptInterpolationDelimiter ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi purescriptModuleKeyword ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi purescriptModuleName ctermfg=161 ctermbg=NONE guifg=#ba2f59 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi purescriptWhere ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi purescriptDelimiter ctermfg=237 ctermbg=NONE guifg=#463a4e guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi! link purescriptType Type + hi! link purescriptImportKeyword Keyword + hi! link purescriptHidingKeyword Keyword + hi! link purescriptAsKeyword Keyword + hi! link purescriptStructure Structure + hi! link purescriptOperator Operator + hi! link purescriptTypeVar Type + hi! link purescriptConstructor Function + hi! link purescriptFunction Function + hi! link purescriptConditional Conditional + hi purescriptBacktick ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi coffeeExtendedOp ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi coffeeSpecialOp ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi coffeeCurly ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi coffeeParen ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi coffeeBracket ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi rubyStringDelimiter ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi rubyInterpolationDelimiter ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi objcTypeModifier ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi objcDirective ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi goDirective ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi goConstants ctermfg=89 ctermbg=NONE guifg=#6c3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi! link goDeclaration Keyword + hi goDeclType ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi goBuiltins ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi luaIn ctermfg=161 ctermbg=NONE guifg=#ba2f59 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi luaFunction ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi luaTable ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi moonSpecialOp ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi moonExtendedOp ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi moonFunction ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi moonObject ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javaAnnotation ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javaDocTags ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi! link javaCommentTitle vimCommentTitle + hi javaParen ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javaParen1 ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javaParen2 ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javaParen3 ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javaParen4 ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javaParen5 ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javaOperator ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi javaVarArg ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi! link elixirDocString Comment + hi elixirStringDelimiter ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi elixirInterpolationDelimiter ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi elixirModuleDeclaration ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi scalaNameDefinition ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi scalaCaseFollowing ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi scalaCapitalWord ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi scalaTypeExtension ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi scalaKeyword ctermfg=161 ctermbg=NONE guifg=#ba2f59 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi scalaKeywordModifier ctermfg=161 ctermbg=NONE guifg=#ba2f59 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi scalaSpecial ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi scalaOperator ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi scalaTypeDeclaration ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi scalaTypeTypePostDeclaration ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi scalaInstanceDeclaration ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi scalaInterpolation ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi markdownItalic ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE,italic gui=NONE,italic + hi markdownH1 ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi markdownH2 ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi markdownH3 ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi markdownH4 ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold + hi markdownH5 ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi markdownH6 ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi! link htmlH1 markdownH1 + hi! link htmlH2 markdownH2 + hi! link htmlH3 markdownH3 + hi! link htmlH4 markdownH4 + hi! link htmlH5 markdownH5 + hi! link htmlH6 markdownH6 + hi markdownCode ctermfg=53 ctermbg=NONE guifg=#4e3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi! link mkdCode markdownCode + hi markdownCodeBlock ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi markdownCodeDelimiter ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi! link mkdCodeDelimiter markdownCodeDelimiter + hi markdownBlockquote ctermfg=146 ctermbg=NONE guifg=#a8a8bf guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi markdownListMarker ctermfg=146 ctermbg=NONE guifg=#a8a8bf guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi markdownOrderedListMarker ctermfg=146 ctermbg=NONE guifg=#a8a8bf guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi markdownRule ctermfg=146 ctermbg=NONE guifg=#a8a8bf guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi markdownHeadingRule ctermfg=146 ctermbg=NONE guifg=#a8a8bf guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi markdownUrlDelimiter ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi markdownLinkDelimiter ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi markdownLinkTextDelimiter ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi markdownHeadingDelimiter ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi markdownUrl ctermfg=89 ctermbg=NONE guifg=#6c3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi markdownUrlTitleDelimiter ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi! link markdownLinkText htmlLink + hi! link markdownIdDeclaration markdownLinkText + hi haskellType ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi haskellIdentifier ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi haskellSeparator ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi haskellDelimiter ctermfg=237 ctermbg=NONE guifg=#463a4e guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi haskellOperators ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi haskellBacktick ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi haskellStatement ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi haskellConditional ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi haskellLet ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi haskellDefault ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi haskellWhere ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi haskellBottom ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi haskellBlockKeywords ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi haskellImportKeywords ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi haskellDeclKeyword ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi haskellDeriving ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi haskellAssocType ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi haskellNumber ctermfg=89 ctermbg=NONE guifg=#6c3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi haskellPragma ctermfg=89 ctermbg=NONE guifg=#6c3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi haskellString ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi haskellChar ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi jsonKeyword ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi jsonQuote ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi jsonBraces ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE + hi jsonString ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE +endif +hi StatusLineNC ctermfg=189 ctermbg=255 guifg=#d3d3e7 guibg=#efeae9 guisp=NONE cterm=NONE gui=NONE +hi Visual ctermfg=NONE ctermbg=254 guifg=NONE guibg=#e3dedd guisp=NONE cterm=NONE gui=NONE +finish + +" Color: neutralred #d26487 ~ +" Color: neutralgreen #35a8a5 ~ +" Color: neutralyellow #b89f33 ~ +" Color: neutralblue #6981c5 ~ +" Color: neutralpurple #a15ea7 ~ +" Color: neutralaqua #288668 ~ +" Color: neutralorange #ca754b ~ +" Background: dark +" Color: bg0 #292b2e ~ +" Color: bg1 #212026 ~ +" Color: bg2 #100a14 ~ +" Color: bg3 #0a0814 ~ +" Color: bg4 #34323e ~ +" Color: fg0 #cdcdcd ~ +" Color: fg1 #b2b2b2 ~ +" Color: fg2 #8e8e8e ~ +" Color: fg3 #727272 ~ +" Color: fg4 #5b5b5b ~ +" Color: fg5 #9a9aba ~ +" Color: fg6 #5e5079 ~ +" Color: fg7 #666666 ~ +" Color: grey #44505c ~ +" Color: grey1 #768294 ~ +" Color: red #f2241f ~ +" Color: red1 #ce537a ~ +" Color: red2 #f54e3c ~ +" Color: green #67b11d ~ +" Color: green1 #2aa1ae ~ +" Color: blue0 #58b0d9 ~ +" Color: blue #4f97d7 ~ +" Color: blue1 #7590db ~ +" Color: purple #bc6ec5 ~ +" Color: purple0 #d698fe ~ +" Color: purple1 #a45bad ~ +" Color: purple2 #5d4d7a ~ +" Color: purple3 #544a65 ~ +" Color: purple4 #34323e ~ +" Color: aqua #2d9574 ~ +" Color: aqua1 #4495b4 ~ +" Color: orange0 #d79650 ~ +" Color: orange #e18254 ~ +" Color: yellow #b1951d ~ +" Color: yellow1 #e5d11c ~ +" Color: cyan #28def0 ~ +" Color: mat #86dc2f ~ +" Color: meta #9f8766 ~ +" Color: highlight #444155 ~ +" Color: comp #c56ec3 ~ +" Color: cblk #cbc1d5 ~ +" Color: war #dc752f ~ +" Color: float #b7b7ff ~ +" Color: delimiter #74baac ~ +" Color: debug #ffc8c8 ~ +" Color: number #e697e6 ~ +" Normal fg1 none +" CursorLineNr purple none +" FoldColumn purple none +" SignColumn fg1 none +" VertSplit bg1 none +" Normal fg1 bg0 +" CursorLineNr purple bg1 +" FoldColumn purple bg1 +" SignColumn fg1 bg0 +" VertSplit bg1 bg0 +" ColorColumn none bg1 +" Conceal blue none +" Cursor orange none bold,reverse +" CursorColumn -> CursorLine +" CursorLine none bg1 +" DiffAdd green bg0 reverse +" DiffChange orange bg0 reverse +" DiffDelete red bg0 reverse +" DiffText yellow bg0 reverse +" Directory blue none bold +" EndOfBuffer bg0 none +" Error red bg0 bold,reverse +" ErrorMsg bg0 red +" Folded purple1 bg1 g=italic +" IncSearch orange bg0 bold,reverse +" LineNr grey none +" MatchParen green none bold,underline +" ModeMsg yellow1 none +" MoreMsg -> ModeMsg +" NonText grey none +" Pmenu fg5 purple4 +" PmenuSbar none bg1 +" PmenuSel none fg6 +" PmenuThumb none purple2 +" Question orange none bold +" QuickFixLine -> Search +" qfLineNr -> Type +" Search green bg0 bold,reverse +" SpecialKey purple none +" SpellBad red none t=underline g=italic,undercurl s=red +" SpellCap blue none t=underline g=italic,undercurl s=blue +" SpellLocal aqua none t=underline g=italic,undercurl s=aqua +" SpellRare purple none t=underline g=italic,undercurl s=purple +" StatusLine fg1 purple2 +" StatusLineNC purple2 bg4 +" StatusLineTerm -> StatusLine +" StatusLineTermNC -> StatusLineNC +" TabLineFill purple3 bg1 +" TabLineSel green bg1 +" TabLine -> TabLineFill +" Title green none bold +" Visual none purple3 +" VisualNOS -> Visual +" WarningMsg red none +" WildMenu orange bg1 bold +" Boolean war none +" Character purple none +" Comment green1 none none g=italic +" Conditional blue none bold +" Constant orange none +" Define aqua none +" Debug red2 none +" Delimiter delimiter none +" Error red bg0 bold,reverse +" Exception red none +" Float float none +" Function purple none bold +" Identifier blue1 none +" Ignore fg none +" Include yellow none +" Keyword blue none bold +" Label red1 none +" Macro blue1 none bold +" Number number none +" Operator blue0 none +" PreCondit purple1 none +" PreProc purple0 none +" Repeat red1 none bold +" SpecialChar cyan none +" SpecialComment grey1 none +" Statement blue none +" StorageClass yellow none bold +" Special orange0 none +" String aqua none +" Structure aqua1 none bold +" Tag orange none +" Todo orange none t=bold g=bold,italic +" Type red1 none +" Typedef yellow none +" Underlined blue none underline +" lCursor -> Cursor +" CursorIM none none reverse +" ToolbarLine none bg3 +" ToolbarButton fg0 bg3 bold +" iCursor -> Cursor +" vCursor -> Cursor +" NormalMode fg4 bg0 reverse +" InsertMode blue bg0 reverse +" ReplaceMode aqua bg0 reverse +" VisualMode orange bg0 reverse +" CommandMode purple bg0 reverse +" Warnings orange bg0 reverse +" TermCursor -> Cursor +" TermCursorNC bg1 fg1 +" ALEError none none t=underline g=undercurl s=red +" ALEWarning none none t=underline g=undercurl s=red +" ALEInfo none none t=underline g=undercurl s=blue +" ALEErrorSign red none +" ALEWarningSign yellow none +" ALEInfoSign blue none +" BufTabLineCurrent bg0 fg4 +" BufTabLineActive fg4 bg2 +" BufTabLineHidden bg4 bg1 +" BufTabLineFill bg0 bg0 +" CtrlPMatch yellow none +" CtrlPNoEntries red none +" CtrlPPrtBase bg2 none +" CtrlPPrtCursor blue none +" CtrlPLinePre bg2 none +" CtrlPMode1 blue bg2 bold +" CtrlPMode2 bg0 blue bold +" CtrlPStats fg4 bg2 bold +" DirvishPathTail aqua none +" DirvishArg yellow none +" EasyMotionTarget -> Search +" EasyMotionShade -> Comment +" gitcommitSelectedFile green none +" gitcommitDiscardedFile red none +" GitGutterAdd green bg0 bold +" GitGutterChange orange bg0 bold +" GitGutterDelete red bg0 bold +" GitGutterChangeDelete red1 bg0 bold +" IndentGuidesOdd bg0 bg2 reverse +" IndentGuidesEven bg0 bg1 reverse +" IndentGuidesOdd bg0 bg2 +" IndentGuidesEven bg0 bg1 +" NERDTreeDir blue none bold +" NERDTreeDirSlash blue none +" NERDTreeOpenable blue none +" NERDTreeClosable blue none +" NERDTreeFile fg1 none +" NERDTreeExecFile yellow none +" NERDTreeUp red1 none +" NERDTreeCWD purple none +" NERDTreeHelp fg1 none +" NERDTreeToggleOn green none +" NERDTreeToggleOff red none +" netrwDir blue none +" netrwClassify blue none +" netrwLink grey none +" netrwSymLink fg1 none +" netrwExe yellow none +" netrwComment grey none +" netrwList blue none +" netrwHelpCmd aqua none +" netrwCmdSep fg3 none +" netrwVersion green none +" ShowMarksHLl blue bg0 bold +" ShowMarksHLu blue bg0 bold +" ShowMarksHLo blue bg0 bold +" ShowMarksHLm blue bg0 bold +" SignifySignAdd green none +" SignifySignChange orange none +" SignifySignDelete red none +" SignatureMarkText blue bg0 bold +" SignatureMarkerText purple bg0 bold +" StartifyBracket fg3 none +" StartifyFile fg1 bg0 +" StartifyNumber blue none +" StartifyPath blue1 none bold +" StartifySlash blue none +" StartifySection blue none bold +" StartifySpecial -> Type +" StartifyHeader purple1 none +" StartifyFooter purple1 none +" SyntasticError none none t=underline g=undercurl s=red +" SyntasticWarning none none t=underline g=undercurl s=yellow +" SyntasticErrorSign red bg0 +" SyntasticWarningSign yellow bg0 +" multiple_cursors_cursor none none reverse +" multiple_cursors_visual none bg2 +" CurrentWord none purple3 underline +" CurrentWordTwins none purple3 +" WhichKey -> Function +" WhichKeySeperator green none +" WhichKeyGroup -> Keyword +" WhichKeyDesc -> Identifier +" diffAdded green none +" diffRemoved red none +" diffChanged aqua none +" diffFile orange none +" diffNewFile yellow none +" diffLine blue none +" htmlTag blue none +" htmlEndTag blue none +" htmlTagName purple1 none +" htmlArg aqua none +" htmlScriptTag purple none +" htmlTagN fg1 none +" htmlSpecialTagName aqua none bold +" htmlLink blue none underline +" htmlSpecialChar orange none +" htmlBold fg bg0 bold +" htmlBoldUnderline fg bg0 bold,underline +" htmlBoldItalic fg bg0 bold,italic +" htmlBoldUnderlineItalic fg bg0 bold,underline,italic +" htmlUnderline fg bg0 underline +" htmlUnderlineItalic fg bg0 underline,italic +" htmlItalic blue1 none italic +" xmlTag blue none +" xmlEndTag blue none +" xmlTagName blue none +" xmlEqual blue none +" docbkKeyword aqua none bold +" xmlDocTypeDecl grey none +" xmlDocTypeKeyword purple none +" xmlCdataStart grey none +" xmlCdataCdata purple none +" dtdFunction grey none +" dtdTagName purple none +" xmlAttrib aqua none +" xmlProcessingDelim grey none +" dtdParamEntityPunct grey none +" dtdParamEntityDPunct grey none +" xmlAttribPunct grey none +" xmlEntity orange none +" xmlEntityPunct orange none +" vimCommentTitle blue1 none bold +" vimNotation orange none +" vimBracket orange none +" vimMapModKey orange none +" vimCommand blue none bold +" vimLet blue none +" vimNorm blue none +" vimFuncSID -> Function +" vimFunction -> Function +" vimGroup blue1 none +" vimHiGroup -> Type +" vimSetSep fg3 none +" vimSep fg3 none +" vimContinue yellow none +" clojureKeyword blue none +" clojureCond orange none +" clojureSpecial orange none +" clojureDefine orange none +" clojureFunc yellow none +" clojureRepeat yellow none +" clojureCharacter aqua none +" clojureStringEscape aqua none +" clojureException red none +" clojureRegexp aqua none +" clojureRegexpEscape aqua none +" clojureRegexpCharClass fg3 none bold +" clojureRegexpMod -> clojureRegexpCharClass +" clojureRegexpQuantifier -> clojureRegexpCharClass +" clojureParen fg3 none +" clojureAnonArg yellow none +" clojureVariable blue none +" clojureMacro orange none +" clojureMeta yellow none +" clojureDeref yellow none +" clojureQuote yellow none +" clojureUnquote yellow none +" cOperator purple none +" cStructure orange none +" rustSelf blue none bold +" rustPanic red1 none bold +" rustAssert blue1 none bold +" pythonCoding -> Comment +" cssBraces blue none +" cssFunctionName yellow none +" cssIdentifier orange none +" cssClassName green none +" cssColor blue none +" cssSelectorOp blue none +" cssSelectorOp2 blue none +" cssImportant green none +" cssVendor fg1 none +" cssTextProp aqua none +" cssAnimationProp aqua none +" cssUIProp yellow none +" cssTransformProp aqua none +" cssTransitionProp aqua none +" cssPrintProp aqua none +" cssPositioningProp yellow none +" cssBoxProp aqua none +" cssFontDescriptorProp aqua none +" cssFlexibleBoxProp aqua none +" cssBorderOutlineProp aqua none +" cssBackgroundProp aqua none +" cssMarginProp aqua none +" cssListProp aqua none +" cssTableProp aqua none +" cssFontProp aqua none +" cssPaddingProp aqua none +" cssDimensionProp aqua none +" cssRenderProp aqua none +" cssColorProp aqua none +" cssGeneratedContentProp aqua none +" javaScriptBraces fg1 none +" javaScriptFunction aqua none +" javaScriptIdentifier red none +" javaScriptMember blue none +" javaScriptNumber purple none +" javaScriptNull purple none +" javaScriptParens fg3 none +" javascriptImport aqua none +" javascriptExport aqua none +" javascriptClassKeyword aqua none +" javascriptClassExtends aqua none +" javascriptDefault aqua none +" javascriptClassName yellow none +" javascriptClassSuperName yellow none +" javascriptGlobal yellow none +" javascriptEndColons fg1 none +" javascriptFuncArg fg1 none +" javascriptGlobalMethod fg1 none +" javascriptNodeGlobal fg1 none +" javascriptBOMWindowProp fg1 none +" javascriptArrayMethod fg1 none +" javascriptArrayStaticMethod fg1 none +" javascriptCacheMethod fg1 none +" javascriptDateMethod fg1 none +" javascriptMathStaticMethod fg1 none +" javascriptURLUtilsProp fg1 none +" javascriptBOMNavigatorProp fg1 none +" javascriptDOMDocMethod fg1 none +" javascriptDOMDocProp fg1 none +" javascriptBOMLocationMethod fg1 none +" javascriptBOMWindowMethod fg1 none +" javascriptStringMethod fg1 none +" javascriptVariable orange none +" javascriptIdentifier orange none +" javascriptClassSuper orange none +" javascriptFuncKeyword aqua none +" javascriptAsyncFunc aqua none +" javascriptClassStatic orange none +" javascriptOperator red1 none +" javascriptForOperator red1 none +" javascriptYield red1 none +" javascriptExceptions red1 none +" javascriptMessage red1 none +" javascriptTemplateSB aqua none +" javascriptTemplateSubstitution fg1 none +" javascriptLabel fg1 none +" javascriptObjectLabel fg1 none +" javascriptPropertyName fg1 none +" javascriptLogicSymbols fg1 none +" javascriptArrowFunc yellow none +" javascriptDocParamName fg4 none +" javascriptDocTags fg4 none +" javascriptDocNotation fg4 none +" javascriptDocParamType fg4 none +" javascriptDocNamedParamType fg4 none +" javascriptBrackets fg1 none +" javascriptDOMElemAttrs fg1 none +" javascriptDOMEventMethod fg1 none +" javascriptDOMNodeMethod fg1 none +" javascriptDOMStorageMethod fg1 none +" javascriptHeadersMethod fg1 none +" javascriptAsyncFuncKeyword red1 none bold +" javascriptAwaitFuncKeyword red1 none bold +" jsClassKeyword -> Keyword +" jsExtendsKeyword -> Keyword +" jsExportDefault blue none bold +" jsTemplateBraces aqua none +" jsGlobalNodeObjects -> Keyword +" jsGlobalObjects -> Keyword +" jsFunction -> Function +" jsFuncParens orange none +" jsParens red1 none +" jsNull purple none +" jsUndefined -> ErrorMsg +" jsClassDefinition yellow none +" jsObjectProp -> Identifier +" jsObjectKey blue0 none +" jsFunctionKey blue1 none +" jsBracket red1 none +" jsObjectColon red1 none +" jsFuncArgs blue0 none +" jsFuncBraces blue1 none +" jsVariableDef fg1 none +" jsObjectBraces -> Special +" jsObjectValue float none +" jsClassBlock blue1 none +" jsFutureKeys orange none bold +" jsFuncArgs blue none +" jsStorageClass blue none +" jsxRegion blue none +" typeScriptReserved aqua none +" typeScriptLabel -> Label +" typeScriptFuncKeyword -> Function +" typeScriptIdentifier -> Identifier +" typeScriptBraces red1 none +" typeScriptEndColons fg1 none +" typeScriptDOMObjects fg1 none +" typeScriptAjaxMethods -> Function +" typeScriptLogicSymbols fg1 none +" typeScriptDocSeeTag -> Comment +" typeScriptDocParam -> Comment +" typeScriptDocTags -> vimCommentTitle +" typeScriptGlobalObjects -> Keyword +" typeScriptParens blue1 none +" typeScriptOpSymbols -> Operator +" typeScriptHtmlElemProperties -> Special +" typeScriptNull purple none bold +" typeScriptInterpolationDelimiter aqua none +" purescriptModuleKeyword aqua none +" purescriptModuleName red1 none bold +" purescriptWhere aqua none +" purescriptDelimiter fg4 none +" purescriptType -> Type +" purescriptImportKeyword -> Keyword +" purescriptHidingKeyword -> Keyword +" purescriptAsKeyword -> Keyword +" purescriptStructure -> Structure +" purescriptOperator -> Operator +" purescriptTypeVar -> Type +" purescriptConstructor -> Function +" purescriptFunction -> Function +" purescriptConditional -> Conditional +" purescriptBacktick orange none +" coffeeExtendedOp fg3 none +" coffeeSpecialOp fg3 none +" coffeeCurly orange none +" coffeeParen fg3 none +" coffeeBracket orange none +" rubyStringDelimiter green none +" rubyInterpolationDelimiter aqua none +" objcTypeModifier red none +" objcDirective blue none +" goDirective aqua none +" goConstants purple none +" goDeclaration -> Keyword +" goDeclType blue none +" goBuiltins orange none +" luaIn red1 none +" luaFunction aqua none +" luaTable orange none +" moonSpecialOp fg3 none +" moonExtendedOp fg3 none +" moonFunction fg3 none +" moonObject yellow none +" javaAnnotation blue none +" javaDocTags aqua none +" javaCommentTitle -> vimCommentTitle +" javaParen fg3 none +" javaParen1 fg3 none +" javaParen2 fg3 none +" javaParen3 fg3 none +" javaParen4 fg3 none +" javaParen5 fg3 none +" javaOperator orange none +" javaVarArg green none +" elixirDocString -> Comment +" elixirStringDelimiter green none +" elixirInterpolationDelimiter aqua none +" elixirModuleDeclaration yellow none +" scalaNameDefinition fg1 none +" scalaCaseFollowing fg1 none +" scalaCapitalWord fg1 none +" scalaTypeExtension fg1 none +" scalaKeyword red1 none bold +" scalaKeywordModifier red1 none +" scalaSpecial aqua none +" scalaOperator fg1 none +" scalaTypeDeclaration yellow none +" scalaTypeTypePostDeclaration yellow none +" scalaInstanceDeclaration fg1 none +" scalaInterpolation aqua none +" markdownItalic fg3 none italic +" markdownH1 blue none bold +" markdownH2 aqua none bold +" markdownH3 green none bold +" markdownH4 yellow none bold +" markdownH5 yellow none +" markdownH6 yellow none +" htmlH1 -> markdownH1 +" htmlH2 -> markdownH2 +" htmlH3 -> markdownH3 +" htmlH4 -> markdownH4 +" htmlH5 -> markdownH5 +" htmlH6 -> markdownH6 +" markdownCode purple1 none +" mkdCode -> markdownCode +" markdownCodeBlock aqua none +" markdownCodeDelimiter orange none +" mkdCodeDelimiter -> markdownCodeDelimiter +" markdownBlockquote grey none +" markdownListMarker grey none +" markdownOrderedListMarker grey none +" markdownRule grey none +" markdownHeadingRule grey none +" markdownUrlDelimiter fg3 none +" markdownLinkDelimiter fg3 none +" markdownLinkTextDelimiter fg3 none +" markdownHeadingDelimiter orange none +" markdownUrl purple none +" markdownUrlTitleDelimiter green none +" markdownLinkText -> htmlLink +" markdownIdDeclaration -> markdownLinkText +" haskellType fg1 none +" haskellIdentifier fg1 none +" haskellSeparator fg1 none +" haskellDelimiter fg4 none +" haskellOperators blue none +" haskellBacktick orange none +" haskellStatement orange none +" haskellConditional orange none +" haskellLet aqua none +" haskellDefault aqua none +" haskellWhere aqua none +" haskellBottom aqua none +" haskellBlockKeywords aqua none +" haskellImportKeywords aqua none +" haskellDeclKeyword aqua none +" haskellDeriving aqua none +" haskellAssocType aqua none +" haskellNumber purple none +" haskellPragma purple none +" haskellString green none +" haskellChar green none +" jsonKeyword green none +" jsonQuote green none +" jsonBraces fg1 none +" jsonString fg1 none +" Background: light +" Color: bg0 #fbf8ef ~ +" Color: bg1 #efeae9 ~ +" Color: bg2 #e3dedd ~ +" Color: bg3 #d2ceda ~ +" Color: bg4 #a8a4ae ~ +" Color: fg0 #83758c ~ +" Color: fg1 #655370 ~ +" Color: fg2 #5a4a64 ~ +" Color: fg3 #504259 ~ +" Color: fg4 #463a4e ~ +" Color: fg5 #8c799f ~ +" Color: fg6 #c8c6dd ~ +" Color: grey #a8a8bf ~ +" Color: grey1 #768294 ~ +" Color: red #f2241f ~ +" Color: red1 #ba2f59 ~ +" Color: red2 #f54e3c ~ +" Color: blue0 #58b0d9 ~ +" Color: blue #3a81c3 ~ +" Color: blue1 #715ab1 ~ +" Color: purple #6c3163 ~ +" Color: purple0 #86589e ~ +" Color: purple1 #4e3163 ~ +" Color: purple2 #d3d3e7 ~ +" Color: purple3 #544a65 ~ +" Color: purple4 #e2e0ea ~ +" Color: green #67b11d ~ +" Color: green1 #2aa1ae ~ +" Color: aqua #24775c ~ +" Color: aqua1 #4495b4 ~ +" Color: orange0 #d79650 ~ +" Color: orange #b46843 ~ +" Color: yellow #b1951d ~ +" Color: yellow1 #e5d11c ~ +" Color: cyan #21b8c7 ~ +" Color: meta #da8b55 ~ +" Color: mat #ba2f59 ~ +" Color: highlight #d3d3e7 ~ +" Color: war #dc752f ~ +" Color: cblk #655370 ~ +" Color: comp #6c4173 ~ +" Color: number #e697e6 ~ +" Color: debug #ffc8c8 ~ +" Color: float #b7b7ff ~ +" Color: delimiter #74baac ~ +" Normal fg1 none +" CursorLineNr purple none +" FoldColumn purple none +" SignColumn fg1 none +" VertSplit bg1 none +" Normal fg1 bg0 +" CursorLineNr purple bg1 +" FoldColumn purple bg1 +" SignColumn fg1 bg0 +" VertSplit bg1 bg0 +" ColorColumn none bg1 +" Conceal blue none +" Cursor orange none bold,reverse +" CursorColumn -> CursorLine +" CursorLine none bg1 +" DiffAdd green bg0 reverse +" DiffChange orange bg0 reverse +" DiffDelete red bg0 reverse +" DiffText yellow bg0 reverse +" Directory blue none bold +" EndOfBuffer bg0 none +" Error red bg0 bold,reverse +" ErrorMsg bg0 red +" Folded purple1 bg1 g=italic +" IncSearch orange bg0 bold,reverse +" LineNr grey none +" MatchParen green none bold,underline +" ModeMsg yellow1 none +" MoreMsg -> ModeMsg +" NonText grey none +" Pmenu fg5 purple4 +" PmenuSbar none bg1 +" PmenuSel none fg6 +" PmenuThumb none purple2 +" Question orange none bold +" QuickFixLine -> Search +" qfLineNr -> Type +" Search green bg0 bold,reverse +" SpecialKey purple none +" SpellBad red none t=underline g=italic,undercurl s=red +" SpellCap blue none t=underline g=italic,undercurl s=blue +" SpellLocal aqua none t=underline g=italic,undercurl s=aqua +" SpellRare purple none t=underline g=italic,undercurl s=purple +" StatusLine fg1 purple2 +" StatusLineNC purple2 bg4 +" StatusLineTerm -> StatusLine +" StatusLineTermNC -> StatusLineNC +" TabLineFill purple3 bg1 +" TabLineSel green bg1 +" TabLine -> TabLineFill +" Title green none bold +" Visual none purple3 +" VisualNOS -> Visual +" WarningMsg red none +" WildMenu orange bg1 bold +" Boolean war none +" Character purple none +" Comment green1 none none g=italic +" Conditional blue none bold +" Constant orange none +" Define aqua none +" Debug red2 none +" Delimiter delimiter none +" Error red bg0 bold,reverse +" Exception red none +" Float float none +" Function purple none bold +" Identifier blue1 none +" Ignore fg none +" Include yellow none +" Keyword blue none bold +" Label red1 none +" Macro blue1 none bold +" Number number none +" Operator blue0 none +" PreCondit purple1 none +" PreProc purple0 none +" Repeat red1 none bold +" SpecialChar cyan none +" SpecialComment grey1 none +" Statement blue none +" StorageClass yellow none bold +" Special orange0 none +" String aqua none +" Structure aqua1 none bold +" Tag orange none +" Todo orange none t=bold g=bold,italic +" Type red1 none +" Typedef yellow none +" Underlined blue none underline +" lCursor -> Cursor +" CursorIM none none reverse +" ToolbarLine none bg3 +" ToolbarButton fg0 bg3 bold +" iCursor -> Cursor +" vCursor -> Cursor +" NormalMode fg4 bg0 reverse +" InsertMode blue bg0 reverse +" ReplaceMode aqua bg0 reverse +" VisualMode orange bg0 reverse +" CommandMode purple bg0 reverse +" Warnings orange bg0 reverse +" TermCursor -> Cursor +" TermCursorNC bg1 fg1 +" ALEError none none t=underline g=undercurl s=red +" ALEWarning none none t=underline g=undercurl s=red +" ALEInfo none none t=underline g=undercurl s=blue +" ALEErrorSign red none +" ALEWarningSign yellow none +" ALEInfoSign blue none +" BufTabLineCurrent bg0 fg4 +" BufTabLineActive fg4 bg2 +" BufTabLineHidden bg4 bg1 +" BufTabLineFill bg0 bg0 +" CtrlPMatch yellow none +" CtrlPNoEntries red none +" CtrlPPrtBase bg2 none +" CtrlPPrtCursor blue none +" CtrlPLinePre bg2 none +" CtrlPMode1 blue bg2 bold +" CtrlPMode2 bg0 blue bold +" CtrlPStats fg4 bg2 bold +" DirvishPathTail aqua none +" DirvishArg yellow none +" EasyMotionTarget -> Search +" EasyMotionShade -> Comment +" gitcommitSelectedFile green none +" gitcommitDiscardedFile red none +" GitGutterAdd green bg0 bold +" GitGutterChange orange bg0 bold +" GitGutterDelete red bg0 bold +" GitGutterChangeDelete red1 bg0 bold +" IndentGuidesOdd bg0 bg2 reverse +" IndentGuidesEven bg0 bg1 reverse +" IndentGuidesOdd bg0 bg2 +" IndentGuidesEven bg0 bg1 +" NERDTreeDir blue none bold +" NERDTreeDirSlash blue none +" NERDTreeOpenable blue none +" NERDTreeClosable blue none +" NERDTreeFile fg1 none +" NERDTreeExecFile yellow none +" NERDTreeUp red1 none +" NERDTreeCWD purple none +" NERDTreeHelp fg1 none +" NERDTreeToggleOn green none +" NERDTreeToggleOff red none +" netrwDir blue none +" netrwClassify blue none +" netrwLink grey none +" netrwSymLink fg1 none +" netrwExe yellow none +" netrwComment grey none +" netrwList blue none +" netrwHelpCmd aqua none +" netrwCmdSep fg3 none +" netrwVersion green none +" ShowMarksHLl blue bg0 bold +" ShowMarksHLu blue bg0 bold +" ShowMarksHLo blue bg0 bold +" ShowMarksHLm blue bg0 bold +" SignifySignAdd green none +" SignifySignChange orange none +" SignifySignDelete red none +" SignatureMarkText blue bg0 bold +" SignatureMarkerText purple bg0 bold +" StartifyBracket fg3 none +" StartifyFile fg1 bg0 +" StartifyNumber blue none +" StartifyPath blue1 none bold +" StartifySlash blue none +" StartifySection blue none bold +" StartifySpecial -> Type +" StartifyHeader purple1 none +" StartifyFooter purple1 none +" SyntasticError none none t=underline g=undercurl s=red +" SyntasticWarning none none t=underline g=undercurl s=yellow +" SyntasticErrorSign red bg0 +" SyntasticWarningSign yellow bg0 +" multiple_cursors_cursor none none reverse +" multiple_cursors_visual none bg2 +" CurrentWord none purple3 underline +" CurrentWordTwins none purple3 +" WhichKey -> Function +" WhichKeySeperator green none +" WhichKeyGroup -> Keyword +" WhichKeyDesc -> Identifier +" diffAdded green none +" diffRemoved red none +" diffChanged aqua none +" diffFile orange none +" diffNewFile yellow none +" diffLine blue none +" htmlTag blue none +" htmlEndTag blue none +" htmlTagName purple1 none +" htmlArg aqua none +" htmlScriptTag purple none +" htmlTagN fg1 none +" htmlSpecialTagName aqua none bold +" htmlLink blue none underline +" htmlSpecialChar orange none +" htmlBold fg bg0 bold +" htmlBoldUnderline fg bg0 bold,underline +" htmlBoldItalic fg bg0 bold,italic +" htmlBoldUnderlineItalic fg bg0 bold,underline,italic +" htmlUnderline fg bg0 underline +" htmlUnderlineItalic fg bg0 underline,italic +" htmlItalic blue1 none italic +" xmlTag blue none +" xmlEndTag blue none +" xmlTagName blue none +" xmlEqual blue none +" docbkKeyword aqua none bold +" xmlDocTypeDecl grey none +" xmlDocTypeKeyword purple none +" xmlCdataStart grey none +" xmlCdataCdata purple none +" dtdFunction grey none +" dtdTagName purple none +" xmlAttrib aqua none +" xmlProcessingDelim grey none +" dtdParamEntityPunct grey none +" dtdParamEntityDPunct grey none +" xmlAttribPunct grey none +" xmlEntity orange none +" xmlEntityPunct orange none +" vimCommentTitle blue1 none bold +" vimNotation orange none +" vimBracket orange none +" vimMapModKey orange none +" vimCommand blue none bold +" vimLet blue none +" vimNorm blue none +" vimFuncSID -> Function +" vimFunction -> Function +" vimGroup blue1 none +" vimHiGroup -> Type +" vimSetSep fg3 none +" vimSep fg3 none +" vimContinue yellow none +" clojureKeyword blue none +" clojureCond orange none +" clojureSpecial orange none +" clojureDefine orange none +" clojureFunc yellow none +" clojureRepeat yellow none +" clojureCharacter aqua none +" clojureStringEscape aqua none +" clojureException red none +" clojureRegexp aqua none +" clojureRegexpEscape aqua none +" clojureRegexpCharClass fg3 none bold +" clojureRegexpMod -> clojureRegexpCharClass +" clojureRegexpQuantifier -> clojureRegexpCharClass +" clojureParen fg3 none +" clojureAnonArg yellow none +" clojureVariable blue none +" clojureMacro orange none +" clojureMeta yellow none +" clojureDeref yellow none +" clojureQuote yellow none +" clojureUnquote yellow none +" cOperator purple none +" cStructure orange none +" rustSelf blue none bold +" rustPanic red1 none bold +" rustAssert blue1 none bold +" pythonCoding -> Comment +" cssBraces blue none +" cssFunctionName yellow none +" cssIdentifier orange none +" cssClassName green none +" cssColor blue none +" cssSelectorOp blue none +" cssSelectorOp2 blue none +" cssImportant green none +" cssVendor fg1 none +" cssTextProp aqua none +" cssAnimationProp aqua none +" cssUIProp yellow none +" cssTransformProp aqua none +" cssTransitionProp aqua none +" cssPrintProp aqua none +" cssPositioningProp yellow none +" cssBoxProp aqua none +" cssFontDescriptorProp aqua none +" cssFlexibleBoxProp aqua none +" cssBorderOutlineProp aqua none +" cssBackgroundProp aqua none +" cssMarginProp aqua none +" cssListProp aqua none +" cssTableProp aqua none +" cssFontProp aqua none +" cssPaddingProp aqua none +" cssDimensionProp aqua none +" cssRenderProp aqua none +" cssColorProp aqua none +" cssGeneratedContentProp aqua none +" javaScriptBraces fg1 none +" javaScriptFunction aqua none +" javaScriptIdentifier red none +" javaScriptMember blue none +" javaScriptNumber purple none +" javaScriptNull purple none +" javaScriptParens fg3 none +" javascriptImport aqua none +" javascriptExport aqua none +" javascriptClassKeyword aqua none +" javascriptClassExtends aqua none +" javascriptDefault aqua none +" javascriptClassName yellow none +" javascriptClassSuperName yellow none +" javascriptGlobal yellow none +" javascriptEndColons fg1 none +" javascriptFuncArg fg1 none +" javascriptGlobalMethod fg1 none +" javascriptNodeGlobal fg1 none +" javascriptBOMWindowProp fg1 none +" javascriptArrayMethod fg1 none +" javascriptArrayStaticMethod fg1 none +" javascriptCacheMethod fg1 none +" javascriptDateMethod fg1 none +" javascriptMathStaticMethod fg1 none +" javascriptURLUtilsProp fg1 none +" javascriptBOMNavigatorProp fg1 none +" javascriptDOMDocMethod fg1 none +" javascriptDOMDocProp fg1 none +" javascriptBOMLocationMethod fg1 none +" javascriptBOMWindowMethod fg1 none +" javascriptStringMethod fg1 none +" javascriptVariable orange none +" javascriptIdentifier orange none +" javascriptClassSuper orange none +" javascriptFuncKeyword aqua none +" javascriptAsyncFunc aqua none +" javascriptClassStatic orange none +" javascriptOperator red1 none +" javascriptForOperator red1 none +" javascriptYield red1 none +" javascriptExceptions red1 none +" javascriptMessage red1 none +" javascriptTemplateSB aqua none +" javascriptTemplateSubstitution fg1 none +" javascriptLabel fg1 none +" javascriptObjectLabel fg1 none +" javascriptPropertyName fg1 none +" javascriptLogicSymbols fg1 none +" javascriptArrowFunc yellow none +" javascriptDocParamName fg4 none +" javascriptDocTags fg4 none +" javascriptDocNotation fg4 none +" javascriptDocParamType fg4 none +" javascriptDocNamedParamType fg4 none +" javascriptBrackets fg1 none +" javascriptDOMElemAttrs fg1 none +" javascriptDOMEventMethod fg1 none +" javascriptDOMNodeMethod fg1 none +" javascriptDOMStorageMethod fg1 none +" javascriptHeadersMethod fg1 none +" javascriptAsyncFuncKeyword red1 none bold +" javascriptAwaitFuncKeyword red1 none bold +" jsClassKeyword -> Keyword +" jsExtendsKeyword -> Keyword +" jsExportDefault blue none bold +" jsTemplateBraces aqua none +" jsGlobalNodeObjects -> Keyword +" jsGlobalObjects -> Keyword +" jsFunction -> Function +" jsFuncParens orange none +" jsParens red1 none +" jsNull purple none +" jsUndefined -> ErrorMsg +" jsClassDefinition yellow none +" jsObjectProp -> Identifier +" jsObjectKey blue0 none +" jsFunctionKey blue1 none +" jsBracket red1 none +" jsObjectColon red1 none +" jsFuncArgs blue0 none +" jsFuncBraces blue1 none +" jsVariableDef fg1 none +" jsObjectBraces -> Special +" jsObjectValue float none +" jsClassBlock blue1 none +" jsFutureKeys orange none bold +" jsFuncArgs blue none +" jsStorageClass blue none +" jsxRegion blue none +" typeScriptReserved aqua none +" typeScriptLabel -> Label +" typeScriptFuncKeyword -> Function +" typeScriptIdentifier -> Identifier +" typeScriptBraces red1 none +" typeScriptEndColons fg1 none +" typeScriptDOMObjects fg1 none +" typeScriptAjaxMethods -> Function +" typeScriptLogicSymbols fg1 none +" typeScriptDocSeeTag -> Comment +" typeScriptDocParam -> Comment +" typeScriptDocTags -> vimCommentTitle +" typeScriptGlobalObjects -> Keyword +" typeScriptParens blue1 none +" typeScriptOpSymbols -> Operator +" typeScriptHtmlElemProperties -> Special +" typeScriptNull purple none bold +" typeScriptInterpolationDelimiter aqua none +" purescriptModuleKeyword aqua none +" purescriptModuleName red1 none bold +" purescriptWhere aqua none +" purescriptDelimiter fg4 none +" purescriptType -> Type +" purescriptImportKeyword -> Keyword +" purescriptHidingKeyword -> Keyword +" purescriptAsKeyword -> Keyword +" purescriptStructure -> Structure +" purescriptOperator -> Operator +" purescriptTypeVar -> Type +" purescriptConstructor -> Function +" purescriptFunction -> Function +" purescriptConditional -> Conditional +" purescriptBacktick orange none +" coffeeExtendedOp fg3 none +" coffeeSpecialOp fg3 none +" coffeeCurly orange none +" coffeeParen fg3 none +" coffeeBracket orange none +" rubyStringDelimiter green none +" rubyInterpolationDelimiter aqua none +" objcTypeModifier red none +" objcDirective blue none +" goDirective aqua none +" goConstants purple none +" goDeclaration -> Keyword +" goDeclType blue none +" goBuiltins orange none +" luaIn red1 none +" luaFunction aqua none +" luaTable orange none +" moonSpecialOp fg3 none +" moonExtendedOp fg3 none +" moonFunction fg3 none +" moonObject yellow none +" javaAnnotation blue none +" javaDocTags aqua none +" javaCommentTitle -> vimCommentTitle +" javaParen fg3 none +" javaParen1 fg3 none +" javaParen2 fg3 none +" javaParen3 fg3 none +" javaParen4 fg3 none +" javaParen5 fg3 none +" javaOperator orange none +" javaVarArg green none +" elixirDocString -> Comment +" elixirStringDelimiter green none +" elixirInterpolationDelimiter aqua none +" elixirModuleDeclaration yellow none +" scalaNameDefinition fg1 none +" scalaCaseFollowing fg1 none +" scalaCapitalWord fg1 none +" scalaTypeExtension fg1 none +" scalaKeyword red1 none bold +" scalaKeywordModifier red1 none +" scalaSpecial aqua none +" scalaOperator fg1 none +" scalaTypeDeclaration yellow none +" scalaTypeTypePostDeclaration yellow none +" scalaInstanceDeclaration fg1 none +" scalaInterpolation aqua none +" markdownItalic fg3 none italic +" markdownH1 blue none bold +" markdownH2 aqua none bold +" markdownH3 green none bold +" markdownH4 yellow none bold +" markdownH5 yellow none +" markdownH6 yellow none +" htmlH1 -> markdownH1 +" htmlH2 -> markdownH2 +" htmlH3 -> markdownH3 +" htmlH4 -> markdownH4 +" htmlH5 -> markdownH5 +" htmlH6 -> markdownH6 +" markdownCode purple1 none +" mkdCode -> markdownCode +" markdownCodeBlock aqua none +" markdownCodeDelimiter orange none +" mkdCodeDelimiter -> markdownCodeDelimiter +" markdownBlockquote grey none +" markdownListMarker grey none +" markdownOrderedListMarker grey none +" markdownRule grey none +" markdownHeadingRule grey none +" markdownUrlDelimiter fg3 none +" markdownLinkDelimiter fg3 none +" markdownLinkTextDelimiter fg3 none +" markdownHeadingDelimiter orange none +" markdownUrl purple none +" markdownUrlTitleDelimiter green none +" markdownLinkText -> htmlLink +" markdownIdDeclaration -> markdownLinkText +" haskellType fg1 none +" haskellIdentifier fg1 none +" haskellSeparator fg1 none +" haskellDelimiter fg4 none +" haskellOperators blue none +" haskellBacktick orange none +" haskellStatement orange none +" haskellConditional orange none +" haskellLet aqua none +" haskellDefault aqua none +" haskellWhere aqua none +" haskellBottom aqua none +" haskellBlockKeywords aqua none +" haskellImportKeywords aqua none +" haskellDeclKeyword aqua none +" haskellDeriving aqua none +" haskellAssocType aqua none +" haskellNumber purple none +" haskellPragma purple none +" haskellString green none +" haskellChar green none +" jsonKeyword green none +" jsonQuote green none +" jsonBraces fg1 none +" jsonString fg1 none +" StatusLineNC purple2 bg1 +" Visual none bg2 + diff --git a/files/nvim/colors/vim-material.vim b/files/nvim/colors/vim-material.vim new file mode 100644 index 0000000..9f9d97d --- /dev/null +++ b/files/nvim/colors/vim-material.vim @@ -0,0 +1,234 @@ +" ----------------------------------------------------------------------------- +" File: vim-material.vim +" Description: equinusocio's Material Theme porting +" Porting From: https://github.com/equinusocio/vsc-material-theme +" Author: hzchris +" Source: https://github.com/hzchirs/vim-material +" Last Modified: 10 February 2019 +" ----------------------------------------------------------------------------- + +if version > 580 + highlight clear + if exists("syntax_on") + syntax reset + endif +endif + +let g:colors_name = "vim-material" + +let s:gui = {} +let s:cterm = {} + +let s:gui.background = { 'dark': '#263238', 'light': '#FAFAFA', 'palenight': '#292D3E', 'oceanic': '#0F111A' } +let s:gui.foreground = { 'dark': '#ECEFF1', 'light': '#666666', 'palenight': '#A6ACCD', 'oceanic': '#A6ACCD' } +let s:gui.none = { 'dark': 'NONE', 'light': 'NONE', 'palenight': 'NONE' , 'oceanic': 'NONE' } +let s:gui.selection = { 'dark': '#455A64', 'light': '#CCEAE7', 'palenight': '#434A6C', 'oceanic': '#292D3E' } +let s:gui.line = { 'dark': '#212121', 'light': '#EAEFF0', 'palenight': '#191919', 'oceanic': '#191919' } +let s:gui.comment = { 'dark': '#5D818E', 'light': '#90A4AE', 'palenight': '#676E95', 'oceanic': '#525975' } + +let s:gui.red = { 'dark': '#FF5370', 'light': '#E53935', 'palenight': '#FF5370', 'oceanic': '#FF5370' } +let s:gui.dark_red = { 'dark': '#B71C1C', 'light': '#E53935', 'palenight': '#FF5370', 'oceanic': '#FF5370' } +let s:gui.pink = { 'dark': '#F07178', 'light': '#FF5370', 'palenight': '#F07178', 'oceanic': '#F07178' } +let s:gui.orange = { 'dark': '#F78C6C', 'light': '#F76D47', 'palenight': '#F78C6C', 'oceanic': '#F78C6C' } +let s:gui.light_yellow = { 'dark': '#FFE57F', 'light': '#FFAD13', 'palenight': '#FFE57F', 'oceanic': '#FFE57F' } +let s:gui.yellow = { 'dark': '#FFCB6B', 'light': '#FFAD13', 'palenight': '#FFCB6B', 'oceanic': '#FFCB6B' } +let s:gui.green = { 'dark': '#C3E88D', 'light': '#82A550', 'palenight': '#C3E88D', 'oceanic': '#C3E88D' } +let s:gui.teal = { 'dark': '#004D40', 'light': '#CCEAE7', 'palenight': '#004D40', 'oceanic': '#004D40' } +let s:gui.light_teal = { 'dark': '#69F0AE', 'light': '#73B6B0', 'palenight': '#69F0AE', 'oceanic': '#69F0AE' } +let s:gui.pale_blue = { 'dark': '#B2CCD6', 'light': '#8796B0', 'palenight': '#B2CCD6', 'oceanic': '#B2CCD6' } +let s:gui.cyan = { 'dark': '#89DDFF', 'light': '#39ADB5', 'palenight': '#89DDFF', 'oceanic': '#89DDFF' } +let s:gui.blue = { 'dark': '#82AAFF', 'light': '#6182B8', 'palenight': '#82AAFF', 'oceanic': '#82AAFF' } +let s:gui.purple = { 'dark': '#C792EA', 'light': '#7C4DFF', 'palenight': '#C792EA', 'oceanic': '#C792EA' } +let s:gui.violet = { 'dark': '#BB80B3', 'light': '#945EB8', 'palenight': '#BB80B3', 'oceanic': '#BB80B3' } +let s:gui.brown = { 'dark': '#AB7967', 'light': '#AB7967', 'palenight': '#C17E70', 'oceanic': '#C17E70' } + +if !exists('g:material_style') + let g:material_style='default' +endif + +function! s:hi(group, guifg, guibg, ctermfg, ctermbg, attr) + if s:gui(a:guifg) != "" + exec "hi " . a:group . " guifg=" . s:gui(a:guifg) + endif + if s:gui(a:guibg) != "" + exec "hi " . a:group . " guibg=" . s:gui(a:guibg) + endif + if a:ctermfg != "" + exec "hi " . a:group . " ctermfg=" . a:ctermfg + endif + if a:ctermbg != "" + exec "hi " . a:group . " ctermbg=" . a:ctermbg + endif + if a:attr != "" + exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr + endif +endfunction + +function! s:gui(color) + if &background == "light" + return a:color['light'] + else + if g:material_style == 'default' + return a:color['dark'] + else + return a:color[g:material_style] + endif + endif +endfunction + +" Neovim Terminal colors +if has("nvim") + let g:terminal_color_0 = s:gui(s:gui.background) + let g:terminal_color_1 = s:gui(s:gui.red) + let g:terminal_color_2 = s:gui(s:gui.green) + let g:terminal_color_3 = s:gui(s:gui.light_yellow) + let g:terminal_color_4 = s:gui(s:gui.blue) + let g:terminal_color_5 = s:gui(s:gui.pink) + let g:terminal_color_6 = s:gui(s:gui.light_teal) + let g:terminal_color_7 = s:gui(s:gui.pale_blue) + let g:terminal_color_8 = s:gui(s:gui.selection) + let g:terminal_color_9 = s:gui(s:gui.red) + let g:terminal_color_10 = s:gui(s:gui.green) + let g:terminal_color_11 = s:gui(s:gui.light_yellow) + let g:terminal_color_12 = s:gui(s:gui.cyan) + let g:terminal_color_13 = s:gui(s:gui.purple) + let g:terminal_color_14 = s:gui(s:gui.cyan) + let g:terminal_color_15 = s:gui(s:gui.foreground) +endif + +" Editor colors +call s:hi("ColorColumn", s:gui.none, s:gui.line, "", "", "") +call s:hi("Cursor", s:gui.yellow, "", "", "", "") +call s:hi("CursorColumn", s:gui.none, s:gui.line, "", "", "") +call s:hi("LineNr", s:gui.comment, "", "", "", "") +call s:hi("CursorLine", s:gui.none, s:gui.line, "", "", "") +call s:hi("CursorLineNr", s:gui.cyan, s:gui.line, "", "", "") +call s:hi("Directory", s:gui.blue, "", "", "", "") +call s:hi("FoldColumn", "", s:gui.background, "", "", "") +call s:hi("Folded", s:gui.comment, s:gui.line, "", "", "") +call s:hi("PMenu", s:gui.foreground, s:gui.line, "", "", "") +call s:hi("PMenuSel", s:gui.cyan, s:gui.selection, "", "", "bold") +call s:hi("ErrorMsg", s:gui.red, s:gui.none, "", "", "") +call s:hi("Error", s:gui.red, s:gui.none, "", "", "") +call s:hi("WarningMsg", s:gui.orange, "", "", "", "") +call s:hi("VertSplit", s:gui.background, s:gui.foreground, "", "", "") +call s:hi("Conceal", s:gui.comment, s:gui.background, "", "", "") + +call s:hi("DiffAdded", s:gui.green, "", "", "", "") +call s:hi("DiffRemoved", s:gui.red, "", "", "", "") + +call s:hi("DiffAdd", "", s:gui.teal, "", "", "") +call s:hi("DiffChange", "", s:gui.teal, "", "", "") +call s:hi("DiffDelete", s:gui.red, s:gui.background, "", "", "") +call s:hi("DiffText", "", s:gui.selection, "", "", "") + + +call s:hi("NonText", s:gui.comment, "", "", "", "") +call s:hi("helpExample", s:gui.blue, "", "", "", "") +call s:hi("MatchParen", "", s:gui.selection, "", "", "") +call s:hi("Title", s:gui.cyan, "", "", "", "") +call s:hi("Comment", s:gui.comment, "", "", "", "italic") +call s:hi("String", s:gui.green, "", "", "", "") +call s:hi("Normal", s:gui.foreground, s:gui.background, "", "", "") +call s:hi("Visual", "", s:gui.selection, "", "", "") +call s:hi("Constant", s:gui.pink, "", "", "", "") +call s:hi("Type", s:gui.yellow, "", "", "", "none") +call s:hi("Define", s:gui.cyan, "", "", "", "") +call s:hi("Statement", s:gui.cyan, "", "", "", "none") +call s:hi("Function", s:gui.blue, "", "", "", "") +call s:hi("Conditional", s:gui.cyan, "", "", "", "") +call s:hi("Float", s:gui.orange, "", "", "", "") +call s:hi("Noise", s:gui.cyan, "", "", "", "") +call s:hi("Number", s:gui.orange, "", "", "", "") +call s:hi("Identifier", s:gui.pink, "", "", "", "") +call s:hi("Operator", s:gui.cyan, "", "", "", "") +call s:hi("PreProc", s:gui.blue, "", "", "", "") +call s:hi("Search", s:gui.none, s:gui.none, "", "", "underline") +call s:hi("InSearch", s:gui.background, s:gui.foreground, "", "", "") +call s:hi("Todo", s:gui.red, s:gui.foreground, "", "", "reverse") +call s:hi("Special", s:gui.orange, "", "", "", "") + + +" Ruby colors +call s:hi("rubyClassName", s:gui.yellow, "", "", "", "bold") +call s:hi("rubyConstant", s:gui.yellow, "", "", "", "") +call s:hi("rubyKeywordAsMethod", s:gui.blue, "", "", "", "") +call s:hi("rubyOperator", s:gui.purple, "", "", "", "") +call s:hi("rubyPseudoVariable", s:gui.red, "", "", "", "italic") +call s:hi("rubySymbol", s:gui.orange, "", "", "", "") +call s:hi("rubySymbolDelimiter", s:gui.cyan, "", "", "", "") + +"eRuby colors +call s:hi("eRubyDelimiter", s:gui.cyan, "", "", "", "") + +" Elixir colors +call s:hi("elixirKeyword", s:gui.blue, "", "", "", "") + +" Javascript colors +" yajs +call s:hi("javascriptArrayMethod", s:gui.blue, "", "", "", "") +call s:hi("javascriptBlock", s:gui.cyan, "", "", "", "") +call s:hi("javascriptBraces", s:gui.cyan, "", "", "", "") +call s:hi("javascriptBrackets", s:gui.cyan, "", "", "", "") +call s:hi("javascriptClassName", s:gui.yellow, "", "", "", "bold") +call s:hi("javascriptClassSuperName", s:gui.yellow, "", "", "", "") +call s:hi("javascriptExport", s:gui.cyan, "", "", "", "") +call s:hi("javascriptFuncKeyword", s:gui.purple, "", "", "", "") +call s:hi("javascriptIdentifierName", s:gui.foreground, "", "", "", "") +call s:hi("javascriptLabel", s:gui.foreground, "", "", "", "") +call s:hi("javascriptMethod", s:gui.blue, "", "", "", "") +call s:hi("javascriptObjectLabel", s:gui.foreground, "", "", "", "") +call s:hi("javascriptObjectLabelColon", s:gui.cyan, "", "", "", "") +call s:hi("javascriptObjectMethodName", s:gui.blue, "", "", "", "") +call s:hi("javascriptOperator", s:gui.purple, "", "", "", "") +call s:hi("javascriptProperty", s:gui.cyan, "", "", "", "") +call s:hi("javascriptStringMethod", s:gui.blue, "", "", "", "") +call s:hi("javascriptVariable", s:gui.purple, "", "", "", "") + +" vim-javascript +call s:hi("jsArrowFuncArgs", s:gui.red, "", "", "", "") +call s:hi("jsArrowFunction", s:gui.purple, "", "", "", "") +call s:hi("jsBooleanFalse", s:gui.orange, "", "", "", "") +call s:hi("jsBooleanTrue", s:gui.orange, "", "", "", "") +call s:hi("jsClassBraces", s:gui.cyan, "", "", "", "") +call s:hi("jsClassDefinition", s:gui.yellow, "", "", "", "") +call s:hi("jsClassKeyword", s:gui.purple, "", "", "", "") +call s:hi("jsConditional", s:gui.cyan, "", "", "", "italic") +call s:hi("jsFuncArgs", s:gui.red, "", "", "", "") +call s:hi("jsFuncBraces", s:gui.cyan, "", "", "", "") +call s:hi("jsFuncCall", s:gui.blue, "", "", "", "") +call s:hi("jsFuncParens", s:gui.cyan, "", "", "", "") +call s:hi("jsFunction", s:gui.purple, "", "", "", "") +call s:hi("jsFunctionKey", s:gui.blue, "", "", "", "") +call s:hi("jsGlobalObjects", s:gui.yellow, "", "", "", "") +call s:hi("jsNoise", s:gui.cyan, "", "", "", "") +call s:hi("jsObjectKey", s:gui.foreground, "", "", "", "") +call s:hi("jsOperator", s:gui.purple, "", "", "", "") +call s:hi("jsParens", s:gui.cyan, "", "", "", "") +call s:hi("jsReturn", s:gui.cyan, "", "", "", "italic") +call s:hi("jsStorageClass", s:gui.purple, "", "", "", "") +call s:hi("jsThis", s:gui.red, "", "", "", "italic") + +" yats +call s:hi("typescriptAccessibilityModifier", s:gui.purple, "", "", "", "") +call s:hi("typescriptCall", s:gui.pink, "", "", "", "") +call s:hi("typescriptClassName", s:gui.yellow, "", "", "", "") +call s:hi("typescriptExport", s:gui.blue, "", "", "", "") +call s:hi("typescriptImport", s:gui.blue, "", "", "", "") +call s:hi("typescriptInterfaceName", s:gui.yellow, "", "", "", "") +call s:hi("typescriptPredefinedType", s:gui.pale_blue, "", "", "", "") +call s:hi("typescriptVariable", s:gui.purple, "", "", "", "") +call s:hi("typescriptOperator", s:gui.purple, "", "", "", "") + +" HTML colors +call s:hi("htmlTag", s:gui.cyan, "", "", "", "") +call s:hi("htmlEndTag", s:gui.cyan, "", "", "", "") +call s:hi("htmlTagName", s:gui.red, "", "", "", "") +call s:hi("htmlSpecialTagName", s:gui.red, "", "", "", "") +call s:hi("htmlArg", s:gui.yellow, "", "", "", "") + +" jsx colors +call s:hi("xmlTag", s:gui.cyan, "", "", "", "") +call s:hi("xmlEndTag", s:gui.cyan, "", "", "", "") +call s:hi("xmlTagName", s:gui.red, "", "", "", "") +call s:hi("xmlAttrib", s:gui.yellow, "", "", "", "") diff --git a/tasks/neovim.yml b/tasks/neovim.yml index 62d81d1..121512b 100644 --- a/tasks/neovim.yml +++ b/tasks/neovim.yml @@ -6,6 +6,7 @@ - '{{ xdg_config_dir }}/nvim/' - '{{ xdg_config_dir }}/nvim/lua' - '{{ xdg_config_dir }}/nvim/after' + - '{{ xdg_config_dir }}/nvim/after/ftplugin' - '{{ xdg_data_dir }}/nvim/site' - '{{ xdg_data_dir }}/nvim/site/pack' - '{{ xdg_data_dir }}/nvim/site/pack/default' @@ -42,46 +43,86 @@ path: '{{ xdg_data_dir }}/nvim/site/pack/default/start/coc.nvim' state: absent +- name: setup neovim color files + copy: + dest: '{{ xdg_data_dir }}/nvim/site/colors' + src: 'files/nvim/colors' + - name: setup neovim configuration files - file: - path: '{{ item.dest }}' + template: + dest: '{{ item.dest }}' src: '{{ item.src }}' - state: link - force: true loop: - { - src: '{{ ansible_env.HOME }}/dotfiles/nvim/colors', - dest: '{{ xdg_data_dir }}/nvim/site/colors', + src: 'templates/nvim/ftplugin/bash.lua.j2', + dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/bash.lua', } - { - src: '{{ ansible_env.HOME }}/dotfiles/nvim/ftplugin', - dest: '{{ xdg_config_dir }}/nvim/after/ftplugin', + src: 'templates/nvim/ftplugin/css.lua.j2', + dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/css.lua', } - { - src: '{{ ansible_env.HOME }}/dotfiles/nvim/init.lua', + src: 'templates/nvim/ftplugin/html.lua.j2', + dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/html.lua', + } + - { + src: 'templates/nvim/ftplugin/htmldjango.lua.j2', + dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/htmldjango.lua', + } + - { + src: 'templates/nvim/ftplugin/javascript.lua.j2', + dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/javascript.lua', + } + - { + src: 'templates/nvim/ftplugin/json.lua.j2', + dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/json.lua', + } + - { + src: 'templates/nvim/ftplugin/lua.lua.j2', + dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/lua.lua', + } + - { + src: 'templates/nvim/ftplugin/python.lua.j2', + dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/python.lua', + } + - { + src: 'templates/nvim/ftplugin/scss.lua.j2', + dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/scss.lua', + } + - { + src: 'templates/nvim/ftplugin/sh.lua.j2', + dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/sh.lua', + } + - { + src: 'templates/nvim/ftplugin/yaml.lua.j2', + dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/yaml.lua', + } + - { + src: 'templates/nvim/init.lua.j2', dest: '{{ xdg_config_dir }}/nvim/init.lua', } - { - src: '{{ ansible_env.HOME }}/dotfiles/nvim/lua/auto-commands.lua', + src: 'templates/nvim/lua/auto-commands.lua.j2', dest: '{{ xdg_config_dir }}/nvim/lua/auto-commands.lua', } - { - src: '{{ ansible_env.HOME }}/dotfiles/nvim/lua/keybindings.lua', + src: 'templates/nvim/lua/keybindings.lua.j2', dest: '{{ xdg_config_dir }}/nvim/lua/keybindings.lua', } - { - src: '{{ ansible_env.HOME }}/dotfiles/nvim/lua/lsp.lua', + src: 'templates/nvim/lua/lsp.lua.j2', dest: '{{ xdg_config_dir }}/nvim/lua/lsp.lua', } - { - src: '{{ ansible_env.HOME }}/dotfiles/nvim/lua/nvim-cmp.lua', + src: 'templates/nvim/lua/nvim-cmp.lua.j2', dest: '{{ xdg_config_dir }}/nvim/lua/nvim-cmp.lua', } - { - src: '{{ ansible_env.HOME }}/dotfiles/nvim/lua/options.lua', + src: 'templates/nvim/lua/options.lua.j2', dest: '{{ xdg_config_dir }}/nvim/lua/options.lua', } - { - src: '{{ ansible_env.HOME }}/dotfiles/nvim/lua/tree-sitter.lua', + src: 'templates/nvim/lua/tree-sitter.lua.j2', dest: '{{ xdg_config_dir }}/nvim/lua/tree-sitter.lua', } + diff --git a/templates/nvim/ftplugin/bash.lua.j2 b/templates/nvim/ftplugin/bash.lua.j2 new file mode 100644 index 0000000..265ae36 --- /dev/null +++ b/templates/nvim/ftplugin/bash.lua.j2 @@ -0,0 +1,7 @@ +-- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} + +vim.b.tabstop = 4 +vim.b.softtabstop = 4 +vim.b.shiftwidth = 4 +vim.b.expandtab = true +vim.b.autoindent = true diff --git a/templates/nvim/ftplugin/css.lua.j2 b/templates/nvim/ftplugin/css.lua.j2 new file mode 100644 index 0000000..a4c8de0 --- /dev/null +++ b/templates/nvim/ftplugin/css.lua.j2 @@ -0,0 +1,7 @@ +-- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} + +vim.b.tabstop = 2 +vim.b.softtabstop = 2 +vim.b.shiftwidth = 2 +vim.b.expandtab = true +vim.b.autoindent = true diff --git a/templates/nvim/ftplugin/html.lua.j2 b/templates/nvim/ftplugin/html.lua.j2 new file mode 100644 index 0000000..a4c8de0 --- /dev/null +++ b/templates/nvim/ftplugin/html.lua.j2 @@ -0,0 +1,7 @@ +-- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} + +vim.b.tabstop = 2 +vim.b.softtabstop = 2 +vim.b.shiftwidth = 2 +vim.b.expandtab = true +vim.b.autoindent = true diff --git a/templates/nvim/ftplugin/htmldjango.lua.j2 b/templates/nvim/ftplugin/htmldjango.lua.j2 new file mode 100644 index 0000000..a4c8de0 --- /dev/null +++ b/templates/nvim/ftplugin/htmldjango.lua.j2 @@ -0,0 +1,7 @@ +-- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} + +vim.b.tabstop = 2 +vim.b.softtabstop = 2 +vim.b.shiftwidth = 2 +vim.b.expandtab = true +vim.b.autoindent = true diff --git a/templates/nvim/ftplugin/javascript.lua.j2 b/templates/nvim/ftplugin/javascript.lua.j2 new file mode 100644 index 0000000..a4c8de0 --- /dev/null +++ b/templates/nvim/ftplugin/javascript.lua.j2 @@ -0,0 +1,7 @@ +-- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} + +vim.b.tabstop = 2 +vim.b.softtabstop = 2 +vim.b.shiftwidth = 2 +vim.b.expandtab = true +vim.b.autoindent = true diff --git a/templates/nvim/ftplugin/json.lua.j2 b/templates/nvim/ftplugin/json.lua.j2 new file mode 100644 index 0000000..265ae36 --- /dev/null +++ b/templates/nvim/ftplugin/json.lua.j2 @@ -0,0 +1,7 @@ +-- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} + +vim.b.tabstop = 4 +vim.b.softtabstop = 4 +vim.b.shiftwidth = 4 +vim.b.expandtab = true +vim.b.autoindent = true diff --git a/templates/nvim/ftplugin/lua.lua.j2 b/templates/nvim/ftplugin/lua.lua.j2 new file mode 100644 index 0000000..a4c8de0 --- /dev/null +++ b/templates/nvim/ftplugin/lua.lua.j2 @@ -0,0 +1,7 @@ +-- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} + +vim.b.tabstop = 2 +vim.b.softtabstop = 2 +vim.b.shiftwidth = 2 +vim.b.expandtab = true +vim.b.autoindent = true diff --git a/templates/nvim/ftplugin/python.lua.j2 b/templates/nvim/ftplugin/python.lua.j2 new file mode 100644 index 0000000..265ae36 --- /dev/null +++ b/templates/nvim/ftplugin/python.lua.j2 @@ -0,0 +1,7 @@ +-- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} + +vim.b.tabstop = 4 +vim.b.softtabstop = 4 +vim.b.shiftwidth = 4 +vim.b.expandtab = true +vim.b.autoindent = true diff --git a/templates/nvim/ftplugin/scss.lua.j2 b/templates/nvim/ftplugin/scss.lua.j2 new file mode 100644 index 0000000..a4c8de0 --- /dev/null +++ b/templates/nvim/ftplugin/scss.lua.j2 @@ -0,0 +1,7 @@ +-- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} + +vim.b.tabstop = 2 +vim.b.softtabstop = 2 +vim.b.shiftwidth = 2 +vim.b.expandtab = true +vim.b.autoindent = true diff --git a/templates/nvim/ftplugin/sh.lua.j2 b/templates/nvim/ftplugin/sh.lua.j2 new file mode 100644 index 0000000..265ae36 --- /dev/null +++ b/templates/nvim/ftplugin/sh.lua.j2 @@ -0,0 +1,7 @@ +-- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} + +vim.b.tabstop = 4 +vim.b.softtabstop = 4 +vim.b.shiftwidth = 4 +vim.b.expandtab = true +vim.b.autoindent = true diff --git a/templates/nvim/ftplugin/yaml.lua.j2 b/templates/nvim/ftplugin/yaml.lua.j2 new file mode 100644 index 0000000..a4c8de0 --- /dev/null +++ b/templates/nvim/ftplugin/yaml.lua.j2 @@ -0,0 +1,7 @@ +-- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} + +vim.b.tabstop = 2 +vim.b.softtabstop = 2 +vim.b.shiftwidth = 2 +vim.b.expandtab = true +vim.b.autoindent = true diff --git a/templates/nvim/init.lua.j2 b/templates/nvim/init.lua.j2 new file mode 100644 index 0000000..925dfed --- /dev/null +++ b/templates/nvim/init.lua.j2 @@ -0,0 +1,9 @@ +--vim:set ts=2 sw=2 et: +-- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} + +require('options') +require('lsp') +require('nvim-cmp') +require('keybindings') +require('auto-commands') +require('tree-sitter') diff --git a/templates/nvim/lua/auto-commands.lua.j2 b/templates/nvim/lua/auto-commands.lua.j2 new file mode 100644 index 0000000..4c22a00 --- /dev/null +++ b/templates/nvim/lua/auto-commands.lua.j2 @@ -0,0 +1,41 @@ +-- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} + +--colorscheme +vim.cmd('colorscheme space_vim_theme') + +--enable this option here as the events are used in this buffer +vim.cmd('syntax on') + +vim.api.nvim_create_autocmd('Syntax', { + command = [[:normal zR]], + desc = 'Open folds by default', +}) + +--color trailing spaces with red color +vim.cmd('highlight ExtraWhitespace ctermbg=green guibg=green') +vim.cmd('match ExtraWhitespace /s+$/') + +vim.api.nvim_create_autocmd('BufWinEnter', { + pattern = "*", + command = [[:match ExtraWhitespace /s+$/]], +}) + +vim.api.nvim_create_autocmd('InsertEnter', { + pattern = "*", + command = [[:match ExtraWhitespace /s+%#@', ':NERDTreeToggle', opts) +vim.api.nvim_set_keymap('n', 'ff', 'lua require("telescope.builtin").find_files()', opts) +vim.api.nvim_set_keymap('n', 'fg', 'lua require("telescope.builtin").live_grep()', opts) +vim.api.nvim_set_keymap('n', 'fb', 'lua require("telescope.builtin").buffers()', opts) +vim.api.nvim_set_keymap('n', 'fh', 'lua require("telescope.builtin").help_tags()', opts) diff --git a/templates/nvim/lua/lsp.lua.j2 b/templates/nvim/lua/lsp.lua.j2 new file mode 100644 index 0000000..707d127 --- /dev/null +++ b/templates/nvim/lua/lsp.lua.j2 @@ -0,0 +1,55 @@ +-- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} + +--add additional capabilities supported by nvim-cmp +local capabilities = vim.lsp.protocol.make_client_capabilities() +capabilities = require('cmp_nvim_lsp').update_capabilities(capabilities) + +--use an on_attach function to only map the following keys +--after the language server attaches to the current buffer +local on_attach = function(client, bufnr) + local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end + local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end + + -- enable completion triggered by + buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc') + + -- mappings + local opts = { noremap=true, silent=true } + + --see `:help vim.lsp.*` for documentation on any of the below functions + buf_set_keymap('n', 'gD', 'lua vim.lsp.buf.declaration()', opts) + buf_set_keymap('n', 'gd', 'lua vim.lsp.buf.definition()', opts) + buf_set_keymap('n', 'K', 'lua vim.lsp.buf.hover()', opts) + buf_set_keymap('n', 'gi', 'lua vim.lsp.buf.implementation()', opts) + buf_set_keymap('n', '', 'lua vim.lsp.buf.signature_help()', opts) +end + +local nvim_lsp = require('lspconfig') + +--enable some language servers with the additional completion capabilities +--offered by nvim-cmp +local servers = { 'ansiblels', 'yamlls', 'cssls', 'jsonls', } + +local util = require("lspconfig/util") + +nvim_lsp.pyright.setup({ + on_attach = on_attach, + capabilities = capabilities, + root_dir = function(fname) + return util.root_pattern(".git", "setup.cfg", "requirements")(fname) or + util.path.dirname(fname) + end +}) + +nvim_lsp.html.setup({ + on_attach = on_attach, + capabilities = capabilities, + filetypes = { 'html', 'htmldjango' }, +}) + +for _, lsp in ipairs(servers) do + nvim_lsp[lsp].setup { + on_attach = on_attach, + capabilities = capabilities, + } +end diff --git a/templates/nvim/lua/nvim-cmp.lua.j2 b/templates/nvim/lua/nvim-cmp.lua.j2 new file mode 100644 index 0000000..38ad7f2 --- /dev/null +++ b/templates/nvim/lua/nvim-cmp.lua.j2 @@ -0,0 +1,35 @@ +-- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} + +local cmp = require('cmp') + +cmp.setup { + mapping = { + [''] = cmp.mapping.select_prev_item(), + [''] = cmp.mapping.select_next_item(), + [''] = cmp.mapping.scroll_docs(-4), + [''] = cmp.mapping.scroll_docs(4), + [''] = cmp.mapping.complete(), + [''] = cmp.mapping.close(), + [''] = cmp.mapping.confirm { + behavior = cmp.ConfirmBehavior.Replace, + select = true, + }, + [''] = function(fallback) + if cmp.visible() then + cmp.select_next_item() + else + fallback() + end + end, + [''] = function(fallback) + if cmp.visible() then + cmp.select_prev_item() + else + fallback() + end + end, + }, + sources = { + { name = 'nvim_lsp' }, + }, +} diff --git a/templates/nvim/lua/options.lua.j2 b/templates/nvim/lua/options.lua.j2 new file mode 100644 index 0000000..4a1a279 --- /dev/null +++ b/templates/nvim/lua/options.lua.j2 @@ -0,0 +1,57 @@ +-- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} + +--fix different locale settings when ssh'ing +vim.o.encoding = 'utf-8' + +vim.o.syntax = 'on' + +--display all matching files when we tab complete +vim.o.wildmenu = true + +--replace vertical split pipe character with space +vim.o.fillchars = 'vert:|,fold: ' + +--Having longer updatetime (default is 4000 ms = 4 s) leads to noticeable +--delays and poor user experience. +vim.o.updatetime = 300 + +vim.o.splitright = true +vim.o.splitbelow = true + +--switch buffers without writing to file +vim.o.hidden = true + +--fold indents +vim.o.foldmethod = 'indent' + +--don't open folds when jumping over one with (, {, [[ or [{ +vim.opt.foldopen = vim.opt.foldopen - { 'block' } + +--search down into subfolders +--provides tab-completion for all file-related tasks +vim.opt.path = vim.opt.path + { '**' } + +--line numbers +vim.o.number = true + +--higlhight search +vim.o.hls = true + +--search as characters are entered +vim.o.incsearch = true + +--line for linewrapping +vim.o.colorcolumn = '80' + +--wrap text instead of being on one line +vim.o.lbr = true + +--default Colors for CursorLine +vim.o.cursorline = true + +vim.o.termguicolors = true +vim.o.background = 'light' + +--enable statusbar +vim.o.laststatus = 2 +vim.o.statusline = ' %F %m%r%w %= %{hostname()} %{strlen(&ft)?&ft:"none"} %{(&bomb?",BOM":"")} %{&ff} %l/%L %c %P' diff --git a/templates/nvim/lua/tree-sitter.lua.j2 b/templates/nvim/lua/tree-sitter.lua.j2 new file mode 100644 index 0000000..78c8346 --- /dev/null +++ b/templates/nvim/lua/tree-sitter.lua.j2 @@ -0,0 +1,11 @@ +-- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} + +local tree_sitter_config = require('nvim-treesitter.configs') + +tree_sitter_config.setup { + ensure_installed = { + 'lua', 'yaml', 'bash', 'python', 'javascript', 'css', 'scss', 'html', + 'json', 'dockerfile', 'markdown', + }, + auto_install = true, +} From 7cc21dd3f9abb3652f1d8d382f202291b745dacf Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Thu, 8 Sep 2022 22:22:35 +0200 Subject: [PATCH 037/170] Fix neovim colors path --- tasks/neovim.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/neovim.yml b/tasks/neovim.yml index 121512b..4de66b7 100644 --- a/tasks/neovim.yml +++ b/tasks/neovim.yml @@ -45,7 +45,7 @@ - name: setup neovim color files copy: - dest: '{{ xdg_data_dir }}/nvim/site/colors' + dest: '{{ xdg_data_dir }}/nvim/site/' src: 'files/nvim/colors' - name: setup neovim configuration files From 0a125b00bd94d7c81b8b4ecd9aaf26c691168a7f Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Thu, 29 Sep 2022 21:42:19 +0200 Subject: [PATCH 038/170] Change terminal --- templates/konsole.profile.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/konsole.profile.j2 b/templates/konsole.profile.j2 index e993115..5200f74 100644 --- a/templates/konsole.profile.j2 +++ b/templates/konsole.profile.j2 @@ -10,7 +10,7 @@ UseFontLineChararacters=true CursorShape=0 [General] -Environment=TERM=tmux-256color,COLORTERM=truecolor +Environment=TERM=xterm-256color,COLORTERM=truecolor Name=Standard Parent=FALLBACK/ StartInCurrentSessionDir=true From 55b28b21bd1a7833520588abcbcd13c434e23f1a Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Thu, 29 Sep 2022 21:45:23 +0200 Subject: [PATCH 039/170] Change intense color --- templates/konsole.colorscheme.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/konsole.colorscheme.j2 b/templates/konsole.colorscheme.j2 index 46745f7..4aed044 100644 --- a/templates/konsole.colorscheme.j2 +++ b/templates/konsole.colorscheme.j2 @@ -41,7 +41,7 @@ Color=229,133,31 Color=224,224,142 [Color3Intense] -Color=255,255,84 +Color=194,164,255 [Color4] Color=24,24,178 From d5c365332054a3e1492b83d9e0e950e4a3c17744 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Thu, 29 Sep 2022 22:18:43 +0200 Subject: [PATCH 040/170] Check if aur packages are installed already --- playbook.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/playbook.yml b/playbook.yml index 220b557..6c35a0f 100644 --- a/playbook.yml +++ b/playbook.yml @@ -21,7 +21,11 @@ - import_tasks: 'tasks/main.yml' - import_tasks: 'tasks/dotfiles.yml' - import_tasks: 'tasks/neovim.yml' + - name: gather the package facts + package_facts: + manager: pacman - import_tasks: 'tasks/aur.yml' + when: aur_packages|map(attribute='name')|list is not subset(ansible_facts.packages) - import_tasks: 'tasks/docker.yml' vars_files: - 'vars.yml' From 9881f4134b880c236c6b56ea9704bfcce5e73fa9 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Mon, 10 Oct 2022 10:13:32 +0200 Subject: [PATCH 041/170] Fix existing installed packages test & add tsserver --- playbook.yml | 2 +- tasks/neovim.yml | 8 ++------ templates/nvim/lua/lsp.lua.j2 | 16 ++++++++-------- vars.yml | 11 ++++++++++- 4 files changed, 21 insertions(+), 16 deletions(-) diff --git a/playbook.yml b/playbook.yml index 6c35a0f..5e51b97 100644 --- a/playbook.yml +++ b/playbook.yml @@ -25,7 +25,7 @@ package_facts: manager: pacman - import_tasks: 'tasks/aur.yml' - when: aur_packages|map(attribute='name')|list is not subset(ansible_facts.packages) + when: aur_packages|map(attribute='package_name')|list is not subset(ansible_facts.packages) - import_tasks: 'tasks/docker.yml' vars_files: - 'vars.yml' diff --git a/tasks/neovim.yml b/tasks/neovim.yml index 4de66b7..e12c36b 100644 --- a/tasks/neovim.yml +++ b/tasks/neovim.yml @@ -31,7 +31,7 @@ npm: name: '{{ item }}' global: true - loop: '{{ language_servers }}' + loop: '{{ language_servers + neovim_node_packages }}' - name: remove old neovim configuration file file: @@ -97,10 +97,7 @@ src: 'templates/nvim/ftplugin/yaml.lua.j2', dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/yaml.lua', } - - { - src: 'templates/nvim/init.lua.j2', - dest: '{{ xdg_config_dir }}/nvim/init.lua', - } + - { src: 'templates/nvim/init.lua.j2', dest: '{{ xdg_config_dir }}/nvim/init.lua' } - { src: 'templates/nvim/lua/auto-commands.lua.j2', dest: '{{ xdg_config_dir }}/nvim/lua/auto-commands.lua', @@ -125,4 +122,3 @@ src: 'templates/nvim/lua/tree-sitter.lua.j2', dest: '{{ xdg_config_dir }}/nvim/lua/tree-sitter.lua', } - diff --git a/templates/nvim/lua/lsp.lua.j2 b/templates/nvim/lua/lsp.lua.j2 index 707d127..58e1140 100644 --- a/templates/nvim/lua/lsp.lua.j2 +++ b/templates/nvim/lua/lsp.lua.j2 @@ -28,7 +28,14 @@ local nvim_lsp = require('lspconfig') --enable some language servers with the additional completion capabilities --offered by nvim-cmp -local servers = { 'ansiblels', 'yamlls', 'cssls', 'jsonls', } +local servers = { 'ansiblels', 'yamlls', 'cssls', 'jsonls', 'tsserver', } + +for _, lsp in ipairs(servers) do + nvim_lsp[lsp].setup { + on_attach = on_attach, + capabilities = capabilities, + } +end local util = require("lspconfig/util") @@ -46,10 +53,3 @@ nvim_lsp.html.setup({ capabilities = capabilities, filetypes = { 'html', 'htmldjango' }, }) - -for _, lsp in ipairs(servers) do - nvim_lsp[lsp].setup { - on_attach = on_attach, - capabilities = capabilities, - } -end diff --git a/vars.yml b/vars.yml index 9d40ab3..565048a 100644 --- a/vars.yml +++ b/vars.yml @@ -17,10 +17,15 @@ packages: - ripgrep aur_packages: - - { url: 'https://aur.archlinux.org/rootlesskit.git', name: 'rootlesskit' } + - { + url: 'https://aur.archlinux.org/rootlesskit.git', + name: 'rootlesskit', + package_name: 'rootlesskit', + } - { url: 'https://aur.archlinux.org/docker-rootless-extras-bin.git', name: 'docker-rootless', + package_name: 'docker-rootless-extras-bin', } aur_build_dir: '/usr/local/src' @@ -52,11 +57,15 @@ vim_plugins: version: '0.1.x', } +neovim_node_packages: + - typescript + language_servers: - pyright - ansible-language-server - yaml-language-server - vscode-langservers-extracted + - typescript-language-server gitlab_domain: 'git.fudiggity.nl' gitlab_host_key: 'git.fudiggity.nl ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICNmvcxza79T7JZMkifmquwXH/kMUqDnKs9Oob+JrRvn' From 82c346506de57ed79a9027e4339f68bc130548a9 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Mon, 10 Oct 2022 10:14:17 +0200 Subject: [PATCH 042/170] Add Luasnip --- tasks/neovim.yml | 2 +- templates/nvim/lua/lsp.lua.j2 | 50 ++++++++++++++++++++++++++++++----- vars.yml | 3 ++- 3 files changed, 46 insertions(+), 9 deletions(-) diff --git a/tasks/neovim.yml b/tasks/neovim.yml index e12c36b..db188b1 100644 --- a/tasks/neovim.yml +++ b/tasks/neovim.yml @@ -18,7 +18,7 @@ dest: '{{ xdg_data_dir }}/nvim/site/pack/default/start/{{ item.name }}' update: true version: '{{ item.version|default("HEAD") }}' - loop: '{{ vim_plugins }}' + loop: '{{ neovim_plugins }}' - name: install pynvim package pip: diff --git a/templates/nvim/lua/lsp.lua.j2 b/templates/nvim/lua/lsp.lua.j2 index 58e1140..4b939bc 100644 --- a/templates/nvim/lua/lsp.lua.j2 +++ b/templates/nvim/lua/lsp.lua.j2 @@ -1,9 +1,5 @@ -- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} ---add additional capabilities supported by nvim-cmp -local capabilities = vim.lsp.protocol.make_client_capabilities() -capabilities = require('cmp_nvim_lsp').update_capabilities(capabilities) - --use an on_attach function to only map the following keys --after the language server attaches to the current buffer local on_attach = function(client, bufnr) @@ -24,12 +20,17 @@ local on_attach = function(client, bufnr) buf_set_keymap('n', '', 'lua vim.lsp.buf.signature_help()', opts) end -local nvim_lsp = require('lspconfig') --enable some language servers with the additional completion capabilities --offered by nvim-cmp local servers = { 'ansiblels', 'yamlls', 'cssls', 'jsonls', 'tsserver', } +--add additional capabilities supported by nvim-cmp +local capabilities = vim.lsp.protocol.make_client_capabilities() +capabilities = require('cmp_nvim_lsp').update_capabilities(capabilities) + +local nvim_lsp = require('lspconfig') + for _, lsp in ipairs(servers) do nvim_lsp[lsp].setup { on_attach = on_attach, @@ -37,13 +38,13 @@ for _, lsp in ipairs(servers) do } end -local util = require("lspconfig/util") +local util = require('lspconfig/util') nvim_lsp.pyright.setup({ on_attach = on_attach, capabilities = capabilities, root_dir = function(fname) - return util.root_pattern(".git", "setup.cfg", "requirements")(fname) or + return util.root_pattern('.git', 'setup.cfg', 'requirements')(fname) or util.path.dirname(fname) end }) @@ -53,3 +54,38 @@ nvim_lsp.html.setup({ capabilities = capabilities, filetypes = { 'html', 'htmldjango' }, }) + +local cmp = require('cmp') +local luasnip = require('luasnip') + +cmp.setup({ + snippet = { + expand = function(args) + luasnip.lsp_expand(args.body) + end, + }, + mapping = cmp.mapping.preset.insert({ + [''] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_next_item() + elseif luasnip.expand_or_jumpable() then + luasnip.expand_or_jump() + else + fallback() + end + end, { 'i', 's' }), + ['S-'] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_prev_item() + elseif luasnip.jumpable(-1) then + luasnip.jump(-1) + else + fallback() + end + end, { 'i', 's' }), + }), + sources = { + { names = 'nvim_lsp', }, + { names = 'luasnip', }, -- TODO: add snippets + }, +}) diff --git a/vars.yml b/vars.yml index 565048a..33623d2 100644 --- a/vars.yml +++ b/vars.yml @@ -39,7 +39,7 @@ public_dotfiles_repo: 'git@git.fudiggity.nl:sonny/dotfiles.git' githook_repo: 'git@git.fudiggity.nl:sonny/git-hooks.git' public_githook_repo: 'git@git.fudiggity.nl:sonny/git-hooks.git' -vim_plugins: +neovim_plugins: - { url: 'https://github.com/preservim/nerdtree', name: 'nerdtree' } - { url: 'https://github.com/sheerun/vim-polyglot', name: 'vim-polygot' } - { url: 'https://github.com/neovim/nvim-lspconfig', name: 'nvim-lspconfig' } @@ -56,6 +56,7 @@ vim_plugins: name: 'telescope.nvim', version: '0.1.x', } + - { url: 'https://github.com/L3MON4D3/LuaSnip', name: 'luasnip', version: 'v1.0.0' } neovim_node_packages: - typescript From 092b78cce618a45918c89b777d70185596a567f5 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Mon, 10 Oct 2022 10:50:08 +0200 Subject: [PATCH 043/170] Add tasks to build python --- playbook.yml | 5 +++- tasks/python.yml | 65 ++++++++++++++++++++++++++++++++++++++++++++++++ vars.yml | 10 +++++++- 3 files changed, 78 insertions(+), 2 deletions(-) create mode 100644 tasks/python.yml diff --git a/playbook.yml b/playbook.yml index 5e51b97..1101a5b 100644 --- a/playbook.yml +++ b/playbook.yml @@ -21,11 +21,14 @@ - import_tasks: 'tasks/main.yml' - import_tasks: 'tasks/dotfiles.yml' - import_tasks: 'tasks/neovim.yml' - - name: gather the package facts + - name: gather package facts package_facts: manager: pacman - import_tasks: 'tasks/aur.yml' when: aur_packages|map(attribute='package_name')|list is not subset(ansible_facts.packages) - import_tasks: 'tasks/docker.yml' + - name: setup python versions + include_tasks: 'tasks/python.yml' + loop: '{{ python_versions }}' vars_files: - 'vars.yml' diff --git a/tasks/python.yml b/tasks/python.yml new file mode 100644 index 0000000..72bfbff --- /dev/null +++ b/tasks/python.yml @@ -0,0 +1,65 @@ +- name: 'check for {{ item.binary }} binary' + command: 'which {{ item.binary }}' + changed_when: false + failed_when: python_installed.rc not in [ 0, 1 ] + register: python_installed + +- name: 'check for {{ item.binary }} download' + stat: + path: '{{ python_build_dir }}/python-{{ item.version }}.tgz' + register: python_download + +- block: + # TODO: verify for checksum + - name: 'retrieve python {{ item.version }} source' + become: true + get_url: + url: '{{ python_download_url }}/{{ item.version }}/Python-{{ item.version }}.tgz' + dest: '{{ python_build_dir }}/python-{{ item.version }}.tgz' + owner: '{{ ansible_user_id }}' + group: '{{ ansible_user_id }}' + when: not python_download.stat.exists + + - name: 'extract python {{ item.version }} sources' + become: true + unarchive: + src: '{{ python_build_dir }}/python-{{ item.version }}.tgz' + dest: '{{ python_build_dir }}' + include: 'Python-{{ item.version }}' + + - name: rename source directory + become: true + ansible.builtin.command: 'mv {{ python_build_dir}}/Python-{{ item.version }} {{ python_build_dir }}/{{ item.path }}' + + - name: set correct permissions + become: true + file: + path: '{{ python_build_dir }}/{{ item.path }}' + recurse: true + owner: '{{ ansible_user_id }}' + group: '{{ ansible_user_id }}' + state: directory + + - name: configure build + ansible.builtin.command: 'sh ./configure --prefix={{ python_install_dir }}/{{ item.path }}' + args: + chdir: '{{ python_build_dir }}/{{ item.path }}/' + + - name: make build + ansible.builtin.command: 'make' + args: + chdir: '{{ python_build_dir }}/{{ item.path }}/' + + - name: install build + become: true + ansible.builtin.command: 'make install' + args: + chdir: '{{ python_build_dir }}/{{ item.path }}/' + + - name: 'create symlink for python {{ item.version }}' + become: true + file: + src: '{{ python_install_dir }}/{{ item.path }}/bin/{{ item.binary }}' + dest: '/usr/bin/{{ item.binary }}' + state: link + when: python_installed.rc not in [ 0 ] diff --git a/vars.yml b/vars.yml index 33623d2..b8a49fe 100644 --- a/vars.yml +++ b/vars.yml @@ -2,7 +2,6 @@ ansible_connection: local ansible_python_interpreter: '/usr/bin/env python' packages: - - base-devel - python - git - vim @@ -29,6 +28,8 @@ aur_packages: } aur_build_dir: '/usr/local/src' +python_build_dir: '/usr/local/src' +python_install_dir: '/opt' xdg_config_dir: '{{ ansible_env.HOME }}/.config' xdg_data_dir: '{{ ansible_env.HOME }}/.local/share' @@ -68,5 +69,12 @@ language_servers: - vscode-langservers-extracted - typescript-language-server +python_download_url: 'https://www.python.org/ftp/python' +python_versions: + - { version: 3.9.14, path: 'python3.9', binary: 'python3.9' } + - { version: 3.8.14, path: 'python3.8', binary: 'python3.8' } + - { version: 3.7.14, path: 'python3.7', binary: 'python3.7' } + - { version: 3.6.15, path: 'python3.6', binary: 'python3.6' } + gitlab_domain: 'git.fudiggity.nl' gitlab_host_key: 'git.fudiggity.nl ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICNmvcxza79T7JZMkifmquwXH/kMUqDnKs9Oob+JrRvn' From 11f27e48698ebe1e87702b0ec679b23b03a6124b Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Thu, 10 Nov 2022 21:57:08 +0100 Subject: [PATCH 044/170] Use `opt` instead of `b` --- templates/nvim/ftplugin/bash.lua.j2 | 10 +++++----- templates/nvim/ftplugin/css.lua.j2 | 10 +++++----- templates/nvim/ftplugin/html.lua.j2 | 10 +++++----- templates/nvim/ftplugin/htmldjango.lua.j2 | 10 +++++----- templates/nvim/ftplugin/javascript.lua.j2 | 10 +++++----- templates/nvim/ftplugin/json.lua.j2 | 10 +++++----- templates/nvim/ftplugin/lua.lua.j2 | 10 +++++----- templates/nvim/ftplugin/python.lua.j2 | 10 +++++----- templates/nvim/ftplugin/scss.lua.j2 | 10 +++++----- templates/nvim/ftplugin/sh.lua.j2 | 10 +++++----- templates/nvim/ftplugin/yaml.lua.j2 | 10 +++++----- templates/nvim/lua/lsp.lua.j2 | 2 +- 12 files changed, 56 insertions(+), 56 deletions(-) diff --git a/templates/nvim/ftplugin/bash.lua.j2 b/templates/nvim/ftplugin/bash.lua.j2 index 265ae36..94362da 100644 --- a/templates/nvim/ftplugin/bash.lua.j2 +++ b/templates/nvim/ftplugin/bash.lua.j2 @@ -1,7 +1,7 @@ -- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} -vim.b.tabstop = 4 -vim.b.softtabstop = 4 -vim.b.shiftwidth = 4 -vim.b.expandtab = true -vim.b.autoindent = true +vim.opt.tabstop = 4 +vim.opt.softtabstop = 4 +vim.opt.shiftwidth = 4 +vim.opt.expandtab = true +vim.opt.autoindent = true diff --git a/templates/nvim/ftplugin/css.lua.j2 b/templates/nvim/ftplugin/css.lua.j2 index a4c8de0..1de152e 100644 --- a/templates/nvim/ftplugin/css.lua.j2 +++ b/templates/nvim/ftplugin/css.lua.j2 @@ -1,7 +1,7 @@ -- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} -vim.b.tabstop = 2 -vim.b.softtabstop = 2 -vim.b.shiftwidth = 2 -vim.b.expandtab = true -vim.b.autoindent = true +vim.opt.tabstop = 2 +vim.opt.softtabstop = 2 +vim.opt.shiftwidth = 2 +vim.opt.expandtab = true +vim.opt.autoindent = true diff --git a/templates/nvim/ftplugin/html.lua.j2 b/templates/nvim/ftplugin/html.lua.j2 index a4c8de0..1de152e 100644 --- a/templates/nvim/ftplugin/html.lua.j2 +++ b/templates/nvim/ftplugin/html.lua.j2 @@ -1,7 +1,7 @@ -- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} -vim.b.tabstop = 2 -vim.b.softtabstop = 2 -vim.b.shiftwidth = 2 -vim.b.expandtab = true -vim.b.autoindent = true +vim.opt.tabstop = 2 +vim.opt.softtabstop = 2 +vim.opt.shiftwidth = 2 +vim.opt.expandtab = true +vim.opt.autoindent = true diff --git a/templates/nvim/ftplugin/htmldjango.lua.j2 b/templates/nvim/ftplugin/htmldjango.lua.j2 index a4c8de0..1de152e 100644 --- a/templates/nvim/ftplugin/htmldjango.lua.j2 +++ b/templates/nvim/ftplugin/htmldjango.lua.j2 @@ -1,7 +1,7 @@ -- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} -vim.b.tabstop = 2 -vim.b.softtabstop = 2 -vim.b.shiftwidth = 2 -vim.b.expandtab = true -vim.b.autoindent = true +vim.opt.tabstop = 2 +vim.opt.softtabstop = 2 +vim.opt.shiftwidth = 2 +vim.opt.expandtab = true +vim.opt.autoindent = true diff --git a/templates/nvim/ftplugin/javascript.lua.j2 b/templates/nvim/ftplugin/javascript.lua.j2 index a4c8de0..1de152e 100644 --- a/templates/nvim/ftplugin/javascript.lua.j2 +++ b/templates/nvim/ftplugin/javascript.lua.j2 @@ -1,7 +1,7 @@ -- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} -vim.b.tabstop = 2 -vim.b.softtabstop = 2 -vim.b.shiftwidth = 2 -vim.b.expandtab = true -vim.b.autoindent = true +vim.opt.tabstop = 2 +vim.opt.softtabstop = 2 +vim.opt.shiftwidth = 2 +vim.opt.expandtab = true +vim.opt.autoindent = true diff --git a/templates/nvim/ftplugin/json.lua.j2 b/templates/nvim/ftplugin/json.lua.j2 index 265ae36..94362da 100644 --- a/templates/nvim/ftplugin/json.lua.j2 +++ b/templates/nvim/ftplugin/json.lua.j2 @@ -1,7 +1,7 @@ -- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} -vim.b.tabstop = 4 -vim.b.softtabstop = 4 -vim.b.shiftwidth = 4 -vim.b.expandtab = true -vim.b.autoindent = true +vim.opt.tabstop = 4 +vim.opt.softtabstop = 4 +vim.opt.shiftwidth = 4 +vim.opt.expandtab = true +vim.opt.autoindent = true diff --git a/templates/nvim/ftplugin/lua.lua.j2 b/templates/nvim/ftplugin/lua.lua.j2 index a4c8de0..1de152e 100644 --- a/templates/nvim/ftplugin/lua.lua.j2 +++ b/templates/nvim/ftplugin/lua.lua.j2 @@ -1,7 +1,7 @@ -- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} -vim.b.tabstop = 2 -vim.b.softtabstop = 2 -vim.b.shiftwidth = 2 -vim.b.expandtab = true -vim.b.autoindent = true +vim.opt.tabstop = 2 +vim.opt.softtabstop = 2 +vim.opt.shiftwidth = 2 +vim.opt.expandtab = true +vim.opt.autoindent = true diff --git a/templates/nvim/ftplugin/python.lua.j2 b/templates/nvim/ftplugin/python.lua.j2 index 265ae36..94362da 100644 --- a/templates/nvim/ftplugin/python.lua.j2 +++ b/templates/nvim/ftplugin/python.lua.j2 @@ -1,7 +1,7 @@ -- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} -vim.b.tabstop = 4 -vim.b.softtabstop = 4 -vim.b.shiftwidth = 4 -vim.b.expandtab = true -vim.b.autoindent = true +vim.opt.tabstop = 4 +vim.opt.softtabstop = 4 +vim.opt.shiftwidth = 4 +vim.opt.expandtab = true +vim.opt.autoindent = true diff --git a/templates/nvim/ftplugin/scss.lua.j2 b/templates/nvim/ftplugin/scss.lua.j2 index a4c8de0..1de152e 100644 --- a/templates/nvim/ftplugin/scss.lua.j2 +++ b/templates/nvim/ftplugin/scss.lua.j2 @@ -1,7 +1,7 @@ -- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} -vim.b.tabstop = 2 -vim.b.softtabstop = 2 -vim.b.shiftwidth = 2 -vim.b.expandtab = true -vim.b.autoindent = true +vim.opt.tabstop = 2 +vim.opt.softtabstop = 2 +vim.opt.shiftwidth = 2 +vim.opt.expandtab = true +vim.opt.autoindent = true diff --git a/templates/nvim/ftplugin/sh.lua.j2 b/templates/nvim/ftplugin/sh.lua.j2 index 265ae36..94362da 100644 --- a/templates/nvim/ftplugin/sh.lua.j2 +++ b/templates/nvim/ftplugin/sh.lua.j2 @@ -1,7 +1,7 @@ -- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} -vim.b.tabstop = 4 -vim.b.softtabstop = 4 -vim.b.shiftwidth = 4 -vim.b.expandtab = true -vim.b.autoindent = true +vim.opt.tabstop = 4 +vim.opt.softtabstop = 4 +vim.opt.shiftwidth = 4 +vim.opt.expandtab = true +vim.opt.autoindent = true diff --git a/templates/nvim/ftplugin/yaml.lua.j2 b/templates/nvim/ftplugin/yaml.lua.j2 index a4c8de0..1de152e 100644 --- a/templates/nvim/ftplugin/yaml.lua.j2 +++ b/templates/nvim/ftplugin/yaml.lua.j2 @@ -1,7 +1,7 @@ -- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} -vim.b.tabstop = 2 -vim.b.softtabstop = 2 -vim.b.shiftwidth = 2 -vim.b.expandtab = true -vim.b.autoindent = true +vim.opt.tabstop = 2 +vim.opt.softtabstop = 2 +vim.opt.shiftwidth = 2 +vim.opt.expandtab = true +vim.opt.autoindent = true diff --git a/templates/nvim/lua/lsp.lua.j2 b/templates/nvim/lua/lsp.lua.j2 index 4b939bc..db9e1f3 100644 --- a/templates/nvim/lua/lsp.lua.j2 +++ b/templates/nvim/lua/lsp.lua.j2 @@ -27,7 +27,7 @@ local servers = { 'ansiblels', 'yamlls', 'cssls', 'jsonls', 'tsserver', } --add additional capabilities supported by nvim-cmp local capabilities = vim.lsp.protocol.make_client_capabilities() -capabilities = require('cmp_nvim_lsp').update_capabilities(capabilities) +capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities) local nvim_lsp = require('lspconfig') From 65e8420e472d397b5745a9076bcba23b3fd14412 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Thu, 10 Nov 2022 21:57:18 +0100 Subject: [PATCH 045/170] Remove vim-polygot This plugin set the `noexpandtab` setting for no good reason --- vars.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/vars.yml b/vars.yml index b8a49fe..3b0bd5f 100644 --- a/vars.yml +++ b/vars.yml @@ -42,7 +42,6 @@ public_githook_repo: 'git@git.fudiggity.nl:sonny/git-hooks.git' neovim_plugins: - { url: 'https://github.com/preservim/nerdtree', name: 'nerdtree' } - - { url: 'https://github.com/sheerun/vim-polyglot', name: 'vim-polygot' } - { url: 'https://github.com/neovim/nvim-lspconfig', name: 'nvim-lspconfig' } - { url: 'https://github.com/hrsh7th/nvim-cmp/', name: 'nvim-cmp' } - { url: 'https://github.com/hrsh7th/cmp-nvim-lsp/', name: 'cmp-nvim-lsp' } From ff63e9333651809535a331f4f487814e8d7b8938 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sat, 3 Dec 2022 19:27:31 +0100 Subject: [PATCH 046/170] Replace vim's default hightlight with treesitter's --- templates/nvim/lua/tree-sitter.lua.j2 | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/templates/nvim/lua/tree-sitter.lua.j2 b/templates/nvim/lua/tree-sitter.lua.j2 index 78c8346..dafb181 100644 --- a/templates/nvim/lua/tree-sitter.lua.j2 +++ b/templates/nvim/lua/tree-sitter.lua.j2 @@ -1,5 +1,8 @@ -- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} +-- Tree sitter language parsers are installed automatically (through `auto_install`). +-- To update installed parsers use `:TSUpdate {language}`. +-- See https://github.com/nvim-treesitter/nvim-treesitter for more info. local tree_sitter_config = require('nvim-treesitter.configs') tree_sitter_config.setup { @@ -8,4 +11,14 @@ tree_sitter_config.setup { 'json', 'dockerfile', 'markdown', }, auto_install = true, + highlight = { + enable = true, + additional_vim_regex_highlighting = false, + }, + indent = { + enable = true, + }, + incremental_selection = { + enable = true, + }, } From 1c59ba439f0a87c5413948c3a73e2e8b2769555c Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sat, 3 Dec 2022 19:27:59 +0100 Subject: [PATCH 047/170] Remove various autocommands --- templates/nvim/init.lua.j2 | 1 - templates/nvim/lua/auto-commands.lua.j2 | 24 ------------------------ templates/nvim/lua/options.lua.j2 | 1 + 3 files changed, 1 insertion(+), 25 deletions(-) diff --git a/templates/nvim/init.lua.j2 b/templates/nvim/init.lua.j2 index 925dfed..b4553ac 100644 --- a/templates/nvim/init.lua.j2 +++ b/templates/nvim/init.lua.j2 @@ -1,4 +1,3 @@ ---vim:set ts=2 sw=2 et: -- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} require('options') diff --git a/templates/nvim/lua/auto-commands.lua.j2 b/templates/nvim/lua/auto-commands.lua.j2 index 4c22a00..d4310aa 100644 --- a/templates/nvim/lua/auto-commands.lua.j2 +++ b/templates/nvim/lua/auto-commands.lua.j2 @@ -11,30 +11,6 @@ vim.api.nvim_create_autocmd('Syntax', { desc = 'Open folds by default', }) ---color trailing spaces with red color -vim.cmd('highlight ExtraWhitespace ctermbg=green guibg=green') -vim.cmd('match ExtraWhitespace /s+$/') - -vim.api.nvim_create_autocmd('BufWinEnter', { - pattern = "*", - command = [[:match ExtraWhitespace /s+$/]], -}) - -vim.api.nvim_create_autocmd('InsertEnter', { - pattern = "*", - command = [[:match ExtraWhitespace /s+%#@ Date: Sat, 3 Dec 2022 20:26:08 +0100 Subject: [PATCH 048/170] Use `.bashrc.override` for `DOCKER_HOST` --- tasks/docker.yml | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/tasks/docker.yml b/tasks/docker.yml index 111d865..19629c0 100644 --- a/tasks/docker.yml +++ b/tasks/docker.yml @@ -13,9 +13,20 @@ dest: '{{ xdg_config_dir }}/docker/daemon.json' when: ansible_hostname == 'desktop' +- name: check for .bashrc.override + stat: + path: '{{ ansible_env.HOME }}/.bashrc.override' + register: bashrc_override + +- name: create .bashrc.override + file: + path: '{{ ansible_env.HOME }}/.bashrc.override' + state: present + when: not bashrc_override.stat.exists + - name: ensure correct DOCKER_HOST is set lineinfile: - path: '{{ ansible_env.HOME }}/.bashrc' + path: '{{ ansible_env.HOME }}/.bashrc.override' regexp: '^export DOCKER_HOST=' line: 'export DOCKER_HOST=unix:///run/user/{{ ansible_user_uid }}/docker.sock' From b61cc78a6520c5fe0f475c53cf0215a89aa6cf54 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sat, 11 Feb 2023 10:15:41 +0100 Subject: [PATCH 049/170] Use correct state for `file` module --- tasks/docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/docker.yml b/tasks/docker.yml index 19629c0..c0b35ca 100644 --- a/tasks/docker.yml +++ b/tasks/docker.yml @@ -21,7 +21,7 @@ - name: create .bashrc.override file: path: '{{ ansible_env.HOME }}/.bashrc.override' - state: present + state: touch when: not bashrc_override.stat.exists - name: ensure correct DOCKER_HOST is set From 9891f205f4a1f492b625787130d6a041d8acb862 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sat, 11 Feb 2023 10:40:26 +0100 Subject: [PATCH 050/170] Add missing neovim packages Playbook should be ran without using a virtualenv as it tries to install global/user wide packages. This is not possible from within a virtualenv. --- tasks/neovim.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tasks/neovim.yml b/tasks/neovim.yml index db188b1..5dc9a99 100644 --- a/tasks/neovim.yml +++ b/tasks/neovim.yml @@ -20,11 +20,18 @@ version: '{{ item.version|default("HEAD") }}' loop: '{{ neovim_plugins }}' -- name: install pynvim package +- name: install neovim python packages pip: name: - neovim - pynvim + extra_args: --user + +- name: install neovim node package + become: true + npm: + name: neovim + global: true - name: install language servers become: true From b0cdf7b8544c055710356acdc1195b756174cb02 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Fri, 4 Aug 2023 10:29:11 +0200 Subject: [PATCH 051/170] Update neovim setup Switch from pyright to python-lsp-server --- playbook.yml | 1 - tasks/neovim.yml | 15 ++++------ templates/nvim/lua/lsp.lua.j2 | 16 ++++++++-- templates/nvim/lua/options.lua.j2 | 42 +++++++++++++++------------ templates/nvim/lua/tree-sitter.lua.j2 | 2 +- vars.yml | 9 +++--- 6 files changed, 47 insertions(+), 38 deletions(-) diff --git a/playbook.yml b/playbook.yml index 1101a5b..129c61c 100644 --- a/playbook.yml +++ b/playbook.yml @@ -16,7 +16,6 @@ - { domain: '{{ gitlab_domain }}', key: '{{ gitlab_host_key }}' } roles: - common - - npm tasks: - import_tasks: 'tasks/main.yml' - import_tasks: 'tasks/dotfiles.yml' diff --git a/tasks/neovim.yml b/tasks/neovim.yml index 5dc9a99..07fda39 100644 --- a/tasks/neovim.yml +++ b/tasks/neovim.yml @@ -20,25 +20,20 @@ version: '{{ item.version|default("HEAD") }}' loop: '{{ neovim_plugins }}' -- name: install neovim python packages - pip: - name: - - neovim - - pynvim - extra_args: --user - - name: install neovim node package become: true npm: name: neovim global: true +# Note that the "python-lsp-server", "python-lsp-ruff" and "neovim" python +# packages should be installed to the corresponding virtualenv as well. - name: install language servers become: true - npm: + package: name: '{{ item }}' - global: true - loop: '{{ language_servers + neovim_node_packages }}' + state: present + loop: '{{ language_servers }}' - name: remove old neovim configuration file file: diff --git a/templates/nvim/lua/lsp.lua.j2 b/templates/nvim/lua/lsp.lua.j2 index db9e1f3..bd8835b 100644 --- a/templates/nvim/lua/lsp.lua.j2 +++ b/templates/nvim/lua/lsp.lua.j2 @@ -23,7 +23,9 @@ end --enable some language servers with the additional completion capabilities --offered by nvim-cmp -local servers = { 'ansiblels', 'yamlls', 'cssls', 'jsonls', 'tsserver', } +local servers = { + 'ansiblels', 'yamlls', 'cssls', 'jsonls', 'tsserver', 'bashls', 'lua_ls' +} --add additional capabilities supported by nvim-cmp local capabilities = vim.lsp.protocol.make_client_capabilities() @@ -40,9 +42,19 @@ end local util = require('lspconfig/util') -nvim_lsp.pyright.setup({ +nvim_lsp.pylsp.setup({ on_attach = on_attach, capabilities = capabilities, + cmd = { 'pylsp', '--verbose' }, + settings = { + pylsp = { + plugins = { + ruff = { + enabled = true + } + } + } + }, root_dir = function(fname) return util.root_pattern('.git', 'setup.cfg', 'requirements')(fname) or util.path.dirname(fname) diff --git a/templates/nvim/lua/options.lua.j2 b/templates/nvim/lua/options.lua.j2 index 0953733..963a30e 100644 --- a/templates/nvim/lua/options.lua.j2 +++ b/templates/nvim/lua/options.lua.j2 @@ -1,58 +1,62 @@ -- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} ---fix different locale settings when ssh'ing +-- fix different locale settings when ssh'ing vim.o.encoding = 'utf-8' vim.o.syntax = 'on' ---display all matching files when we tab complete +-- display all matching files when we tab complete vim.o.wildmenu = true ---replace vertical split pipe character with space +-- replace vertical split pipe character with space vim.o.fillchars = 'vert:|,fold: ' ---Having longer updatetime (default is 4000 ms = 4 s) leads to noticeable ---delays and poor user experience. +-- Having longer updatetime (default is 4000 ms = 4 s) leads to noticeable +-- delays and poor user experience. vim.o.updatetime = 300 vim.o.splitright = true vim.o.splitbelow = true ---switch buffers without writing to file -vim.o.hidden = true +-- switch buffers without writing to file +vim.o.hidden = true ---fold indents -vim.o.foldmethod = 'indent' +-- folding +vim.o.foldmethod = 'expr' +vim.o.foldexpr = 'nvim_treesitter#foldexpr()' ---don't open folds when jumping over one with (, {, [[ or [{ +-- don't open folds when jumping over one with (, {, [[ or [{ vim.opt.foldopen = vim.opt.foldopen - { 'block' } ---search down into subfolders ---provides tab-completion for all file-related tasks +-- search down into subfolders +-- provides tab-completion for all file-related tasks vim.opt.path = vim.opt.path + { '**' } ---line numbers +-- line numbers vim.o.number = true ---higlhight search +-- higlhight search vim.o.hls = true ---search as characters are entered +-- search as characters are entered vim.o.incsearch = true ---line for linewrapping +-- line for linewrapping vim.o.colorcolumn = '80' ---wrap text instead of being on one line +-- wrap text instead of being on one line vim.o.lbr = true ---default Colors for CursorLine +-- default Colors for CursorLine vim.o.cursorline = true -- theme related vim.o.termguicolors = true vim.o.background = 'light' ---enable statusbar +-- enable statusbar vim.o.laststatus = 2 vim.o.statusline = ' %F %m%r%w %= %{hostname()} %{strlen(&ft)?&ft:"none"} %{(&bomb?",BOM":"")} %{&ff} %l/%L %c %P' + +-- python interpreter +vim.g.python3_host_prog = './env/bin/python' diff --git a/templates/nvim/lua/tree-sitter.lua.j2 b/templates/nvim/lua/tree-sitter.lua.j2 index dafb181..ec0f9eb 100644 --- a/templates/nvim/lua/tree-sitter.lua.j2 +++ b/templates/nvim/lua/tree-sitter.lua.j2 @@ -8,7 +8,7 @@ local tree_sitter_config = require('nvim-treesitter.configs') tree_sitter_config.setup { ensure_installed = { 'lua', 'yaml', 'bash', 'python', 'javascript', 'css', 'scss', 'html', - 'json', 'dockerfile', 'markdown', + 'htmldjango', 'json', 'dockerfile', 'markdown', }, auto_install = true, highlight = { diff --git a/vars.yml b/vars.yml index 3b0bd5f..a95e64f 100644 --- a/vars.yml +++ b/vars.yml @@ -57,16 +57,15 @@ neovim_plugins: version: '0.1.x', } - { url: 'https://github.com/L3MON4D3/LuaSnip', name: 'luasnip', version: 'v1.0.0' } - -neovim_node_packages: - - typescript + - { url: 'https://github.com/lewis6991/gitsigns.nvim', name: 'gitsigns.nvim' } language_servers: - - pyright - ansible-language-server - yaml-language-server - - vscode-langservers-extracted - typescript-language-server + - vscode-html-languageserver + - bash-language-server + - lua-language-server python_download_url: 'https://www.python.org/ftp/python' python_versions: From bbf5f1a3c707c5e7d0d87bd612e41426a8fa3dcb Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sat, 5 Aug 2023 21:42:56 +0200 Subject: [PATCH 052/170] Add missing language server & update gitlab ssh host key --- vars.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/vars.yml b/vars.yml index a95e64f..23fe495 100644 --- a/vars.yml +++ b/vars.yml @@ -64,6 +64,7 @@ language_servers: - yaml-language-server - typescript-language-server - vscode-html-languageserver + - vscode-json-languageserver - bash-language-server - lua-language-server @@ -75,4 +76,4 @@ python_versions: - { version: 3.6.15, path: 'python3.6', binary: 'python3.6' } gitlab_domain: 'git.fudiggity.nl' -gitlab_host_key: 'git.fudiggity.nl ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICNmvcxza79T7JZMkifmquwXH/kMUqDnKs9Oob+JrRvn' +gitlab_host_key: 'git.fudiggity.nl ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINh/SlWqWmH2FG+duiJkkSpq0Fm+wUAmc//4/CbzbX5+' From 1d09789238033e792a26ae16d9843121200cd94a Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sat, 5 Aug 2023 21:53:57 +0200 Subject: [PATCH 053/170] Update gitlab CI image tags --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7cd24a2..b53fdba 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -10,7 +10,7 @@ cache: lint: stage: lint - image: node:12 + image: node:current-alpine before_script: - npm install script: @@ -18,7 +18,7 @@ lint: syntax-test: stage: test - image: python:3.7 + image: python:latest before_script: - pip install ansible --quiet - ansible-galaxy install --role-file requirements.yml From 057797e25d3016f63fc203e1bc9f4936474c9fbb Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sun, 6 Aug 2023 11:48:42 +0200 Subject: [PATCH 054/170] Add missing css language server --- vars.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/vars.yml b/vars.yml index 23fe495..5a757ba 100644 --- a/vars.yml +++ b/vars.yml @@ -65,6 +65,7 @@ language_servers: - typescript-language-server - vscode-html-languageserver - vscode-json-languageserver + - vscode-css-languageserver - bash-language-server - lua-language-server From 0755c7e3d4cd2d44716705d79ef58fd1d3a9692d Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sat, 19 Aug 2023 14:10:58 +0200 Subject: [PATCH 055/170] Update neovim setup --- tasks/neovim.yml | 8 ++++++++ templates/nvim/init.lua.j2 | 2 ++ templates/nvim/lua/auto-commands.lua.j2 | 2 +- templates/nvim/lua/git-signs.lua.j2 | 7 +++++++ templates/nvim/lua/lua-line.lua.j2 | 5 +++++ templates/nvim/lua/options.lua.j2 | 3 --- vars.yml | 2 ++ 7 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 templates/nvim/lua/git-signs.lua.j2 create mode 100644 templates/nvim/lua/lua-line.lua.j2 diff --git a/tasks/neovim.yml b/tasks/neovim.yml index 07fda39..4583f8d 100644 --- a/tasks/neovim.yml +++ b/tasks/neovim.yml @@ -124,3 +124,11 @@ src: 'templates/nvim/lua/tree-sitter.lua.j2', dest: '{{ xdg_config_dir }}/nvim/lua/tree-sitter.lua', } + - { + src: 'templates/nvim/lua/git-signs.lua.j2', + dest: '{{ xdg_config_dir }}/nvim/lua/git-signs.lua', + } + - { + src: 'templates/nvim/lua/lua-line.lua.j2', + dest: '{{ xdg_config_dir }}/nvim/lua/lua-line.lua', + } diff --git a/templates/nvim/init.lua.j2 b/templates/nvim/init.lua.j2 index b4553ac..8b29322 100644 --- a/templates/nvim/init.lua.j2 +++ b/templates/nvim/init.lua.j2 @@ -6,3 +6,5 @@ require('nvim-cmp') require('keybindings') require('auto-commands') require('tree-sitter') +require('lua-line') +require('git-signs') diff --git a/templates/nvim/lua/auto-commands.lua.j2 b/templates/nvim/lua/auto-commands.lua.j2 index d4310aa..bdaa7c8 100644 --- a/templates/nvim/lua/auto-commands.lua.j2 +++ b/templates/nvim/lua/auto-commands.lua.j2 @@ -1,7 +1,7 @@ -- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} --colorscheme -vim.cmd('colorscheme space_vim_theme') +vim.cmd('colorscheme edge') --enable this option here as the events are used in this buffer vim.cmd('syntax on') diff --git a/templates/nvim/lua/git-signs.lua.j2 b/templates/nvim/lua/git-signs.lua.j2 new file mode 100644 index 0000000..9af8e6d --- /dev/null +++ b/templates/nvim/lua/git-signs.lua.j2 @@ -0,0 +1,7 @@ +-- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} + +local gitsigns = require('gitsigns'); + +gitsigns.setup({ + numhl = true; +}) diff --git a/templates/nvim/lua/lua-line.lua.j2 b/templates/nvim/lua/lua-line.lua.j2 new file mode 100644 index 0000000..aa2fbfe --- /dev/null +++ b/templates/nvim/lua/lua-line.lua.j2 @@ -0,0 +1,5 @@ +-- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} + +local lualine = require('lualine'); + +lualine.setup({}) diff --git a/templates/nvim/lua/options.lua.j2 b/templates/nvim/lua/options.lua.j2 index 963a30e..7e74ef2 100644 --- a/templates/nvim/lua/options.lua.j2 +++ b/templates/nvim/lua/options.lua.j2 @@ -8,9 +8,6 @@ vim.o.syntax = 'on' -- display all matching files when we tab complete vim.o.wildmenu = true --- replace vertical split pipe character with space -vim.o.fillchars = 'vert:|,fold: ' - -- Having longer updatetime (default is 4000 ms = 4 s) leads to noticeable -- delays and poor user experience. vim.o.updatetime = 300 diff --git a/vars.yml b/vars.yml index 5a757ba..32ec4cf 100644 --- a/vars.yml +++ b/vars.yml @@ -58,6 +58,8 @@ neovim_plugins: } - { url: 'https://github.com/L3MON4D3/LuaSnip', name: 'luasnip', version: 'v1.0.0' } - { url: 'https://github.com/lewis6991/gitsigns.nvim', name: 'gitsigns.nvim' } + - { url: 'https://github.com/sainnhe/edge', name: 'edge' } + - { url: 'https://github.com/nvim-lualine/lualine.nvim', name: 'lualine' } language_servers: - ansible-language-server From a5aa0396714000797fe2290bd7aafa1b24a978b7 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Thu, 23 May 2024 20:49:34 +0200 Subject: [PATCH 056/170] Remove timestamps, remove konsole setup and update neovim packages --- requirements.yml | 4 -- tasks/main.yml | 17 ----- templates/konsole.colorscheme.j2 | 96 ------------------------- templates/konsole.config.j2 | 26 ------- templates/konsole.profile.j2 | 19 ----- templates/nvim/init.lua.j2 | 2 - templates/nvim/lua/auto-commands.lua.j2 | 4 +- templates/nvim/lua/git-signs.lua.j2 | 2 - templates/nvim/lua/keybindings.lua.j2 | 2 - templates/nvim/lua/lsp.lua.j2 | 21 ++++-- templates/nvim/lua/lua-line.lua.j2 | 22 +++++- templates/nvim/lua/nvim-cmp.lua.j2 | 2 - templates/nvim/lua/options.lua.j2 | 2 - templates/nvim/lua/tree-sitter.lua.j2 | 2 - vars.yml | 5 ++ 15 files changed, 40 insertions(+), 186 deletions(-) delete mode 100644 templates/konsole.colorscheme.j2 delete mode 100644 templates/konsole.config.j2 delete mode 100644 templates/konsole.profile.j2 diff --git a/requirements.yml b/requirements.yml index 276b569..ba54c45 100644 --- a/requirements.yml +++ b/requirements.yml @@ -2,7 +2,3 @@ name: common version: master scm: git -- src: git+https://git.fudiggity.nl/ansible/npm.git - name: npm - version: master - scm: git diff --git a/tasks/main.yml b/tasks/main.yml index ba2758c..727dc5d 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -20,20 +20,3 @@ update: true version: master when: githook_ssh_clone.failed - -- name: copy konsole configuration files - template: - src: '{{ item.src }}' - dest: '{{ item.dest }}' - mode: '0600' - force: true - loop: - - { - src: 'templates/konsole.profile.j2', - dest: '{{ xdg_data_dir }}/konsole/Standard.profile', - } - - { - src: 'templates/konsole.colorscheme.j2', - dest: '{{ xdg_data_dir }}/konsole/BlackOnWhite.colorscheme', - } - - { src: 'templates/konsole.config.j2', dest: '{{ xdg_config_dir }}/konsolerc' } diff --git a/templates/konsole.colorscheme.j2 b/templates/konsole.colorscheme.j2 deleted file mode 100644 index 4aed044..0000000 --- a/templates/konsole.colorscheme.j2 +++ /dev/null @@ -1,96 +0,0 @@ -[Background] -Color=255,255,255 - -[BackgroundFaint] -Color=255,255,255 - -[BackgroundIntense] -Color=255,255,255 - -[Color0] -Color=62,62,62 - -[Color0Faint] -Color=170,170,170 - -[Color0Intense] -Color=104,104,104 - -[Color1] -Color=178,24,24 - -[Color1Faint] -Color=224,142,142 - -[Color1Intense] -Color=255,84,84 - -[Color2] -Color=24,178,24 - -[Color2Faint] -Color=142,224,142 - -[Color2Intense] -Color=84,255,84 - -[Color3] -Color=229,133,31 - -[Color3Faint] -Color=224,224,142 - -[Color3Intense] -Color=194,164,255 - -[Color4] -Color=24,24,178 - -[Color4Faint] -Color=142,142,224 - -[Color4Intense] -Color=84,84,255 - -[Color5] -Color=178,24,178 - -[Color5Faint] -Color=224,142,224 - -[Color5Intense] -Color=255,84,255 - -[Color6] -Color=24,178,178 - -[Color6Faint] -Color=142,224,224 - -[Color6Intense] -Color=84,255,255 - -[Color7] -Color=58,58,58 - -[Color7Faint] -Color=142,142,142 - -[Color7Intense] -Color=255,255,255 - -[Foreground] -Color=36,36,36 - -[ForegroundFaint] -Color=0,0,0 - -[ForegroundIntense] -Color=0,0,0 - -[General] -Blur=false -ColorRandomization=false -Description=Black on White -Opacity=1 -Wallpaper= diff --git a/templates/konsole.config.j2 b/templates/konsole.config.j2 deleted file mode 100644 index 80f3a66..0000000 --- a/templates/konsole.config.j2 +++ /dev/null @@ -1,26 +0,0 @@ -# {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} - -[Desktop Entry] -DefaultProfile=Standard.profile - -[DownloadDialog Settings] -Height 1080=494 -Width 1920=700 - -[Favorite Profiles] -Favorites=Standard.profile - -[KonsoleWindow] -ShowMenuBarByDefault=false - -[MainWindow] -MenuBar=Disabled -State=AAAA/wAAAAD9AAAAAAAAB4AAAAQbAAAABAAAAAQAAAAIAAAACPwAAAAA -ToolBarsMovable=Disabled -Width 1920=1415 - -[Notification Messages] -CloseAllTabs=true - -[TabBar] -TabBarPosition=Top diff --git a/templates/konsole.profile.j2 b/templates/konsole.profile.j2 deleted file mode 100644 index 5200f74..0000000 --- a/templates/konsole.profile.j2 +++ /dev/null @@ -1,19 +0,0 @@ -# {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} - -[Appearance] -BoldIntense=false -ColorScheme=BlackOnWhite -Font=IBM Plex Mono,11,-1,5,57,0,0,0,0,0,Medium -UseFontLineChararacters=true - -[Cursor Options] -CursorShape=0 - -[General] -Environment=TERM=xterm-256color,COLORTERM=truecolor -Name=Standard -Parent=FALLBACK/ -StartInCurrentSessionDir=true - -[Terminal Features] -BlinkingCursorEnabled=true diff --git a/templates/nvim/init.lua.j2 b/templates/nvim/init.lua.j2 index 8b29322..6e4e1b5 100644 --- a/templates/nvim/init.lua.j2 +++ b/templates/nvim/init.lua.j2 @@ -1,5 +1,3 @@ --- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} - require('options') require('lsp') require('nvim-cmp') diff --git a/templates/nvim/lua/auto-commands.lua.j2 b/templates/nvim/lua/auto-commands.lua.j2 index bdaa7c8..d55530b 100644 --- a/templates/nvim/lua/auto-commands.lua.j2 +++ b/templates/nvim/lua/auto-commands.lua.j2 @@ -1,7 +1,5 @@ --- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} - --colorscheme -vim.cmd('colorscheme edge') +vim.cmd('colorscheme catppuccin-latte') --enable this option here as the events are used in this buffer vim.cmd('syntax on') diff --git a/templates/nvim/lua/git-signs.lua.j2 b/templates/nvim/lua/git-signs.lua.j2 index 9af8e6d..d290a1d 100644 --- a/templates/nvim/lua/git-signs.lua.j2 +++ b/templates/nvim/lua/git-signs.lua.j2 @@ -1,5 +1,3 @@ --- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} - local gitsigns = require('gitsigns'); gitsigns.setup({ diff --git a/templates/nvim/lua/keybindings.lua.j2 b/templates/nvim/lua/keybindings.lua.j2 index cd90748..23c272a 100644 --- a/templates/nvim/lua/keybindings.lua.j2 +++ b/templates/nvim/lua/keybindings.lua.j2 @@ -1,5 +1,3 @@ --- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} - local opts = {noremap=true, silent=true} vim.api.nvim_set_keymap('n', '', ':NERDTreeToggle', opts) diff --git a/templates/nvim/lua/lsp.lua.j2 b/templates/nvim/lua/lsp.lua.j2 index bd8835b..fae11d3 100644 --- a/templates/nvim/lua/lsp.lua.j2 +++ b/templates/nvim/lua/lsp.lua.j2 @@ -1,5 +1,3 @@ --- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} - --use an on_attach function to only map the following keys --after the language server attaches to the current buffer local on_attach = function(client, bufnr) @@ -42,6 +40,11 @@ end local util = require('lspconfig/util') +local python_root_dir = function(fname) + return util.root_pattern('.git', 'setup.cfg', 'requirements')(fname) or + util.path.dirname(fname) +end + nvim_lsp.pylsp.setup({ on_attach = on_attach, capabilities = capabilities, @@ -55,10 +58,16 @@ nvim_lsp.pylsp.setup({ } } }, - root_dir = function(fname) - return util.root_pattern('.git', 'setup.cfg', 'requirements')(fname) or - util.path.dirname(fname) - end + root_dir = python_root_dir +}) + +local pyright_capabilities = vim.lsp.protocol.make_client_capabilities() +pyright_capabilities.textDocument.publishDiagnostics.tagSupport.valueSet = { 2 } + +nvim_lsp.pyright.setup({ + on_attach = on_attach, + capabilities = pyright_capabilities, + root_dir = python_root_dir }) nvim_lsp.html.setup({ diff --git a/templates/nvim/lua/lua-line.lua.j2 b/templates/nvim/lua/lua-line.lua.j2 index aa2fbfe..6ac78e1 100644 --- a/templates/nvim/lua/lua-line.lua.j2 +++ b/templates/nvim/lua/lua-line.lua.j2 @@ -1,5 +1,21 @@ --- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} - local lualine = require('lualine'); -lualine.setup({}) +lualine.setup { + sections = { + lualine_a = {'mode'}, + lualine_b = {'branch', 'diff', 'diagnostics'}, + lualine_c = { + { + 'filename', + path = 1, + } + }, + lualine_x = { + 'encoding', + 'fileformat', + 'filetype' + }, + lualine_y = {'progress'}, + lualine_z = {'location'} + }, +} diff --git a/templates/nvim/lua/nvim-cmp.lua.j2 b/templates/nvim/lua/nvim-cmp.lua.j2 index 38ad7f2..385ac54 100644 --- a/templates/nvim/lua/nvim-cmp.lua.j2 +++ b/templates/nvim/lua/nvim-cmp.lua.j2 @@ -1,5 +1,3 @@ --- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} - local cmp = require('cmp') cmp.setup { diff --git a/templates/nvim/lua/options.lua.j2 b/templates/nvim/lua/options.lua.j2 index 7e74ef2..12a7de4 100644 --- a/templates/nvim/lua/options.lua.j2 +++ b/templates/nvim/lua/options.lua.j2 @@ -1,5 +1,3 @@ --- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} - -- fix different locale settings when ssh'ing vim.o.encoding = 'utf-8' diff --git a/templates/nvim/lua/tree-sitter.lua.j2 b/templates/nvim/lua/tree-sitter.lua.j2 index ec0f9eb..c043391 100644 --- a/templates/nvim/lua/tree-sitter.lua.j2 +++ b/templates/nvim/lua/tree-sitter.lua.j2 @@ -1,5 +1,3 @@ --- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} - -- Tree sitter language parsers are installed automatically (through `auto_install`). -- To update installed parsers use `:TSUpdate {language}`. -- See https://github.com/nvim-treesitter/nvim-treesitter for more info. diff --git a/vars.yml b/vars.yml index 32ec4cf..e7de5f4 100644 --- a/vars.yml +++ b/vars.yml @@ -60,6 +60,11 @@ neovim_plugins: - { url: 'https://github.com/lewis6991/gitsigns.nvim', name: 'gitsigns.nvim' } - { url: 'https://github.com/sainnhe/edge', name: 'edge' } - { url: 'https://github.com/nvim-lualine/lualine.nvim', name: 'lualine' } + - { + url: 'https://github.com/catppuccin/nvim', + name: 'catppuccin', + version: '045e3499d9ec8d84635fb08877ae44fd33f6a38d', + } language_servers: - ansible-language-server From 4103f73de345c1fcb197e7cf2e51cef4bfd13be7 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Thu, 23 May 2024 21:01:11 +0200 Subject: [PATCH 057/170] Add missing tmux dotfile symlink --- tasks/dotfiles.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tasks/dotfiles.yml b/tasks/dotfiles.yml index 9a39d81..6c9381f 100644 --- a/tasks/dotfiles.yml +++ b/tasks/dotfiles.yml @@ -34,6 +34,10 @@ src: '{{ ansible_env.HOME }}/dotfiles/.profile', dest: '{{ ansible_env.HOME }}/.profile', } + - { + src: '{{ ansible_env.HOME }}/dotfiles/.tmux.conf', + dest: '{{ ansible_env.HOME }}/.tmux.conf', + } - { src: '{{ ansible_env.HOME }}/dotfiles/.gitignore', dest: '{{ ansible_env.HOME }}/.gitignore', From 699bb8d85c50e2273bb139677d067c57bd4a37b8 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Mon, 22 Jul 2024 09:51:33 +0200 Subject: [PATCH 058/170] Add Telescope configuration, update python versions and pin gitsigns version --- tasks/neovim.yml | 5 +++++ templates/nvim/init.lua.j2 | 1 + templates/nvim/lua/telescope.lua.j2 | 10 ++++++++++ vars.yml | 8 +++++++- 4 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 templates/nvim/lua/telescope.lua.j2 diff --git a/tasks/neovim.yml b/tasks/neovim.yml index 4583f8d..7f0f453 100644 --- a/tasks/neovim.yml +++ b/tasks/neovim.yml @@ -12,6 +12,7 @@ - '{{ xdg_data_dir }}/nvim/site/pack/default' - '{{ xdg_data_dir }}/nvim/site/pack/default/start' +# Note that helptags may need to be regenerated (see `:h helptags`) - name: clone neovim packages git: repo: '{{ item.url }}' @@ -132,3 +133,7 @@ src: 'templates/nvim/lua/lua-line.lua.j2', dest: '{{ xdg_config_dir }}/nvim/lua/lua-line.lua', } + - { + src: 'templates/nvim/lua/telescope.lua.j2', + dest: '{{ xdg_config_dir }}/nvim/lua/_telescope.lua', + } diff --git a/templates/nvim/init.lua.j2 b/templates/nvim/init.lua.j2 index 6e4e1b5..398c762 100644 --- a/templates/nvim/init.lua.j2 +++ b/templates/nvim/init.lua.j2 @@ -6,3 +6,4 @@ require('auto-commands') require('tree-sitter') require('lua-line') require('git-signs') +require('_telescope') diff --git a/templates/nvim/lua/telescope.lua.j2 b/templates/nvim/lua/telescope.lua.j2 new file mode 100644 index 0000000..414ba44 --- /dev/null +++ b/templates/nvim/lua/telescope.lua.j2 @@ -0,0 +1,10 @@ +local telescope = require('telescope'); + +telescope.setup({ + defaults = { + layout_strategy = 'vertical', + layout_config = { + vertical = { width = 0.5, height = 0.7 } + }, + }, +}) diff --git a/vars.yml b/vars.yml index e7de5f4..171c63a 100644 --- a/vars.yml +++ b/vars.yml @@ -57,7 +57,11 @@ neovim_plugins: version: '0.1.x', } - { url: 'https://github.com/L3MON4D3/LuaSnip', name: 'luasnip', version: 'v1.0.0' } - - { url: 'https://github.com/lewis6991/gitsigns.nvim', name: 'gitsigns.nvim' } + - { + url: 'https://github.com/lewis6991/gitsigns.nvim', + name: 'gitsigns.nvim', + version: 'v0.9.0', + } - { url: 'https://github.com/sainnhe/edge', name: 'edge' } - { url: 'https://github.com/nvim-lualine/lualine.nvim', name: 'lualine' } - { @@ -78,6 +82,8 @@ language_servers: python_download_url: 'https://www.python.org/ftp/python' python_versions: + - { version: 3.11.9, path: 'python3.11', binary: 'python3.11' } + - { version: 3.10.0, path: 'python3.10', binary: 'python3.10' } - { version: 3.9.14, path: 'python3.9', binary: 'python3.9' } - { version: 3.8.14, path: 'python3.8', binary: 'python3.8' } - { version: 3.7.14, path: 'python3.7', binary: 'python3.7' } From 4d57f381a97d0f1a1ad2eee0ab207820da24b289 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Fri, 2 Aug 2024 12:36:25 +0200 Subject: [PATCH 059/170] Add wl-clipboard to packages --- vars.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/vars.yml b/vars.yml index 171c63a..e4feb5d 100644 --- a/vars.yml +++ b/vars.yml @@ -6,6 +6,7 @@ packages: - git - vim - neovim + - wl-clipboard - npm - docker - docker-compose From 0ca888974c4e537a483c9d1c9949c97585344d8a Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Tue, 6 Aug 2024 20:24:48 +0200 Subject: [PATCH 060/170] Remove git hooks setup --- tasks/main.yml | 17 ----------------- vars.yml | 3 --- 2 files changed, 20 deletions(-) diff --git a/tasks/main.yml b/tasks/main.yml index 727dc5d..1318227 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -3,20 +3,3 @@ path: '{{ ansible_env.HOME }}/development' state: directory mode: '0755' - -- name: clone git hooks - git: - repo: '{{ githook_repo }}' - dest: '{{ ansible_env.HOME }}/development/git-hooks' - update: true - version: master - ignore_errors: true - register: githook_ssh_clone - -- name: clone git hooks - git: - repo: '{{ public_githook_repo }}' - dest: '{{ ansible_env.HOME }}/development/git-hooks' - update: true - version: master - when: githook_ssh_clone.failed diff --git a/vars.yml b/vars.yml index e4feb5d..b163551 100644 --- a/vars.yml +++ b/vars.yml @@ -38,9 +38,6 @@ xdg_data_dir: '{{ ansible_env.HOME }}/.local/share' dotfiles_repo: 'git@git.fudiggity.nl:sonny/dotfiles.git' public_dotfiles_repo: 'git@git.fudiggity.nl:sonny/dotfiles.git' -githook_repo: 'git@git.fudiggity.nl:sonny/git-hooks.git' -public_githook_repo: 'git@git.fudiggity.nl:sonny/git-hooks.git' - neovim_plugins: - { url: 'https://github.com/preservim/nerdtree', name: 'nerdtree' } - { url: 'https://github.com/neovim/nvim-lspconfig', name: 'nvim-lspconfig' } From ad6c1dedfeb543d9e38db97b20413a6f256ea1a5 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Tue, 6 Aug 2024 20:25:21 +0200 Subject: [PATCH 061/170] Update ansible managed file markers --- templates/nvim/ftplugin/bash.lua.j2 | 2 +- templates/nvim/ftplugin/css.lua.j2 | 2 +- templates/nvim/ftplugin/html.lua.j2 | 2 +- templates/nvim/ftplugin/htmldjango.lua.j2 | 2 +- templates/nvim/ftplugin/javascript.lua.j2 | 2 +- templates/nvim/ftplugin/json.lua.j2 | 2 +- templates/nvim/ftplugin/lua.lua.j2 | 2 +- templates/nvim/ftplugin/python.lua.j2 | 2 +- templates/nvim/ftplugin/scss.lua.j2 | 2 +- templates/nvim/ftplugin/sh.lua.j2 | 2 +- templates/nvim/ftplugin/yaml.lua.j2 | 2 +- templates/nvim/init.lua.j2 | 2 ++ templates/nvim/lua/auto-commands.lua.j2 | 2 ++ templates/nvim/lua/lsp.lua.j2 | 2 ++ templates/nvim/lua/lua-line.lua.j2 | 2 ++ templates/nvim/lua/nvim-cmp.lua.j2 | 2 ++ templates/nvim/lua/options.lua.j2 | 2 ++ templates/nvim/lua/telescope.lua.j2 | 2 ++ templates/nvim/lua/tree-sitter.lua.j2 | 2 ++ 19 files changed, 27 insertions(+), 11 deletions(-) diff --git a/templates/nvim/ftplugin/bash.lua.j2 b/templates/nvim/ftplugin/bash.lua.j2 index 94362da..420fc24 100644 --- a/templates/nvim/ftplugin/bash.lua.j2 +++ b/templates/nvim/ftplugin/bash.lua.j2 @@ -1,4 +1,4 @@ --- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} +-- {{ ansible_managed }} vim.opt.tabstop = 4 vim.opt.softtabstop = 4 diff --git a/templates/nvim/ftplugin/css.lua.j2 b/templates/nvim/ftplugin/css.lua.j2 index 1de152e..058970f 100644 --- a/templates/nvim/ftplugin/css.lua.j2 +++ b/templates/nvim/ftplugin/css.lua.j2 @@ -1,4 +1,4 @@ --- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} +-- {{ ansible_managed }} vim.opt.tabstop = 2 vim.opt.softtabstop = 2 diff --git a/templates/nvim/ftplugin/html.lua.j2 b/templates/nvim/ftplugin/html.lua.j2 index 1de152e..058970f 100644 --- a/templates/nvim/ftplugin/html.lua.j2 +++ b/templates/nvim/ftplugin/html.lua.j2 @@ -1,4 +1,4 @@ --- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} +-- {{ ansible_managed }} vim.opt.tabstop = 2 vim.opt.softtabstop = 2 diff --git a/templates/nvim/ftplugin/htmldjango.lua.j2 b/templates/nvim/ftplugin/htmldjango.lua.j2 index 1de152e..058970f 100644 --- a/templates/nvim/ftplugin/htmldjango.lua.j2 +++ b/templates/nvim/ftplugin/htmldjango.lua.j2 @@ -1,4 +1,4 @@ --- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} +-- {{ ansible_managed }} vim.opt.tabstop = 2 vim.opt.softtabstop = 2 diff --git a/templates/nvim/ftplugin/javascript.lua.j2 b/templates/nvim/ftplugin/javascript.lua.j2 index 1de152e..058970f 100644 --- a/templates/nvim/ftplugin/javascript.lua.j2 +++ b/templates/nvim/ftplugin/javascript.lua.j2 @@ -1,4 +1,4 @@ --- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} +-- {{ ansible_managed }} vim.opt.tabstop = 2 vim.opt.softtabstop = 2 diff --git a/templates/nvim/ftplugin/json.lua.j2 b/templates/nvim/ftplugin/json.lua.j2 index 94362da..420fc24 100644 --- a/templates/nvim/ftplugin/json.lua.j2 +++ b/templates/nvim/ftplugin/json.lua.j2 @@ -1,4 +1,4 @@ --- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} +-- {{ ansible_managed }} vim.opt.tabstop = 4 vim.opt.softtabstop = 4 diff --git a/templates/nvim/ftplugin/lua.lua.j2 b/templates/nvim/ftplugin/lua.lua.j2 index 1de152e..058970f 100644 --- a/templates/nvim/ftplugin/lua.lua.j2 +++ b/templates/nvim/ftplugin/lua.lua.j2 @@ -1,4 +1,4 @@ --- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} +-- {{ ansible_managed }} vim.opt.tabstop = 2 vim.opt.softtabstop = 2 diff --git a/templates/nvim/ftplugin/python.lua.j2 b/templates/nvim/ftplugin/python.lua.j2 index 94362da..420fc24 100644 --- a/templates/nvim/ftplugin/python.lua.j2 +++ b/templates/nvim/ftplugin/python.lua.j2 @@ -1,4 +1,4 @@ --- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} +-- {{ ansible_managed }} vim.opt.tabstop = 4 vim.opt.softtabstop = 4 diff --git a/templates/nvim/ftplugin/scss.lua.j2 b/templates/nvim/ftplugin/scss.lua.j2 index 1de152e..058970f 100644 --- a/templates/nvim/ftplugin/scss.lua.j2 +++ b/templates/nvim/ftplugin/scss.lua.j2 @@ -1,4 +1,4 @@ --- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} +-- {{ ansible_managed }} vim.opt.tabstop = 2 vim.opt.softtabstop = 2 diff --git a/templates/nvim/ftplugin/sh.lua.j2 b/templates/nvim/ftplugin/sh.lua.j2 index 94362da..420fc24 100644 --- a/templates/nvim/ftplugin/sh.lua.j2 +++ b/templates/nvim/ftplugin/sh.lua.j2 @@ -1,4 +1,4 @@ --- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} +-- {{ ansible_managed }} vim.opt.tabstop = 4 vim.opt.softtabstop = 4 diff --git a/templates/nvim/ftplugin/yaml.lua.j2 b/templates/nvim/ftplugin/yaml.lua.j2 index 1de152e..058970f 100644 --- a/templates/nvim/ftplugin/yaml.lua.j2 +++ b/templates/nvim/ftplugin/yaml.lua.j2 @@ -1,4 +1,4 @@ --- {{ ansible_managed }} {{ ansible_date_time.time }} {{ ansible_date_time.date }} +-- {{ ansible_managed }} vim.opt.tabstop = 2 vim.opt.softtabstop = 2 diff --git a/templates/nvim/init.lua.j2 b/templates/nvim/init.lua.j2 index 398c762..40b25eb 100644 --- a/templates/nvim/init.lua.j2 +++ b/templates/nvim/init.lua.j2 @@ -1,3 +1,5 @@ +-- {{ ansible_managed }} + require('options') require('lsp') require('nvim-cmp') diff --git a/templates/nvim/lua/auto-commands.lua.j2 b/templates/nvim/lua/auto-commands.lua.j2 index d55530b..a16ab8d 100644 --- a/templates/nvim/lua/auto-commands.lua.j2 +++ b/templates/nvim/lua/auto-commands.lua.j2 @@ -1,3 +1,5 @@ +-- {{ ansible_managed }} + --colorscheme vim.cmd('colorscheme catppuccin-latte') diff --git a/templates/nvim/lua/lsp.lua.j2 b/templates/nvim/lua/lsp.lua.j2 index fae11d3..812dc2c 100644 --- a/templates/nvim/lua/lsp.lua.j2 +++ b/templates/nvim/lua/lsp.lua.j2 @@ -1,3 +1,5 @@ +-- {{ ansible_managed }} + --use an on_attach function to only map the following keys --after the language server attaches to the current buffer local on_attach = function(client, bufnr) diff --git a/templates/nvim/lua/lua-line.lua.j2 b/templates/nvim/lua/lua-line.lua.j2 index 6ac78e1..5821a00 100644 --- a/templates/nvim/lua/lua-line.lua.j2 +++ b/templates/nvim/lua/lua-line.lua.j2 @@ -1,3 +1,5 @@ +-- {{ ansible_managed }} + local lualine = require('lualine'); lualine.setup { diff --git a/templates/nvim/lua/nvim-cmp.lua.j2 b/templates/nvim/lua/nvim-cmp.lua.j2 index 385ac54..b013475 100644 --- a/templates/nvim/lua/nvim-cmp.lua.j2 +++ b/templates/nvim/lua/nvim-cmp.lua.j2 @@ -1,3 +1,5 @@ +-- {{ ansible_managed }} + local cmp = require('cmp') cmp.setup { diff --git a/templates/nvim/lua/options.lua.j2 b/templates/nvim/lua/options.lua.j2 index 12a7de4..367a04a 100644 --- a/templates/nvim/lua/options.lua.j2 +++ b/templates/nvim/lua/options.lua.j2 @@ -1,3 +1,5 @@ +-- {{ ansible_managed }} + -- fix different locale settings when ssh'ing vim.o.encoding = 'utf-8' diff --git a/templates/nvim/lua/telescope.lua.j2 b/templates/nvim/lua/telescope.lua.j2 index 414ba44..af27925 100644 --- a/templates/nvim/lua/telescope.lua.j2 +++ b/templates/nvim/lua/telescope.lua.j2 @@ -1,3 +1,5 @@ +-- {{ ansible_managed }} + local telescope = require('telescope'); telescope.setup({ diff --git a/templates/nvim/lua/tree-sitter.lua.j2 b/templates/nvim/lua/tree-sitter.lua.j2 index c043391..50a0fdc 100644 --- a/templates/nvim/lua/tree-sitter.lua.j2 +++ b/templates/nvim/lua/tree-sitter.lua.j2 @@ -1,3 +1,5 @@ +-- {{ ansible_managed }} + -- Tree sitter language parsers are installed automatically (through `auto_install`). -- To update installed parsers use `:TSUpdate {language}`. -- See https://github.com/nvim-treesitter/nvim-treesitter for more info. From e28e2eec11d3fd872833effcfd75b65dcb5426d1 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Wed, 7 Aug 2024 09:38:32 +0200 Subject: [PATCH 062/170] Remove main task --- playbook.yml | 1 - tasks/main.yml | 5 ----- 2 files changed, 6 deletions(-) delete mode 100644 tasks/main.yml diff --git a/playbook.yml b/playbook.yml index 129c61c..ae33898 100644 --- a/playbook.yml +++ b/playbook.yml @@ -17,7 +17,6 @@ roles: - common tasks: - - import_tasks: 'tasks/main.yml' - import_tasks: 'tasks/dotfiles.yml' - import_tasks: 'tasks/neovim.yml' - name: gather package facts diff --git a/tasks/main.yml b/tasks/main.yml deleted file mode 100644 index 1318227..0000000 --- a/tasks/main.yml +++ /dev/null @@ -1,5 +0,0 @@ -- name: create development dir - file: - path: '{{ ansible_env.HOME }}/development' - state: directory - mode: '0755' From 6de369fbbb48cd6a87672ce28c41a45c73133987 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Wed, 7 Aug 2024 11:20:35 +0200 Subject: [PATCH 063/170] Target debian & archlinux --- playbook.yml => archlinux.yml | 3 +- debian.yml | 24 ++++++++++++++++ vars/archlinux.yml | 52 +++++++++++++++++++++++++++++++++++ vars/debian.yml | 22 +++++++++++++++ vars.yml => vars/main.yml | 50 --------------------------------- 5 files changed, 100 insertions(+), 51 deletions(-) rename playbook.yml => archlinux.yml (94%) create mode 100644 debian.yml create mode 100644 vars/archlinux.yml create mode 100644 vars/debian.yml rename vars.yml => vars/main.yml (56%) diff --git a/playbook.yml b/archlinux.yml similarity index 94% rename from playbook.yml rename to archlinux.yml index ae33898..8aefd7c 100644 --- a/playbook.yml +++ b/archlinux.yml @@ -29,4 +29,5 @@ include_tasks: 'tasks/python.yml' loop: '{{ python_versions }}' vars_files: - - 'vars.yml' + - 'vars/main.yml' + - 'vars/archlinux.yml' diff --git a/debian.yml b/debian.yml new file mode 100644 index 0000000..e86c7c1 --- /dev/null +++ b/debian.yml @@ -0,0 +1,24 @@ +- hosts: localhost + pre_tasks: + - name: install packages + become: true + package: + name: '{{ item }}' + state: present + loop: '{{ packages }}' + - name: add gitlab to known hosts + include_role: + name: common + tasks_from: 'known_hosts.yml' + vars: + user: '{{ ansible_user_id }}' + items: + - { domain: '{{ gitlab_domain }}', key: '{{ gitlab_host_key }}' } + roles: + - common + tasks: + - import_tasks: 'tasks/dotfiles.yml' + - import_tasks: 'tasks/neovim.yml' + vars_files: + - 'vars/main.yml' + - 'vars/debian.yml' diff --git a/vars/archlinux.yml b/vars/archlinux.yml new file mode 100644 index 0000000..0dc1de8 --- /dev/null +++ b/vars/archlinux.yml @@ -0,0 +1,52 @@ +ansible_connection: local +ansible_python_interpreter: '/usr/bin/env python' + +packages: + - python + - git + - vim + - neovim + - wl-clipboard + - npm + - docker + - docker-compose + - fuse-overlayfs + - ttf-ibm-plex + - slirp4netns + - tree-sitter + - ripgrep + +aur_packages: + - { + url: 'https://aur.archlinux.org/rootlesskit.git', + name: 'rootlesskit', + package_name: 'rootlesskit', + } + - { + url: 'https://aur.archlinux.org/docker-rootless-extras-bin.git', + name: 'docker-rootless', + package_name: 'docker-rootless-extras-bin', + } + +aur_build_dir: '/usr/local/src' +python_build_dir: '/usr/local/src' +python_install_dir: '/opt' + +language_servers: + - ansible-language-server + - yaml-language-server + - typescript-language-server + - vscode-html-languageserver + - vscode-json-languageserver + - vscode-css-languageserver + - bash-language-server + - lua-language-server + +python_download_url: 'https://www.python.org/ftp/python' +python_versions: + - { version: 3.11.9, path: 'python3.11', binary: 'python3.11' } + - { version: 3.10.0, path: 'python3.10', binary: 'python3.10' } + - { version: 3.9.14, path: 'python3.9', binary: 'python3.9' } + - { version: 3.8.14, path: 'python3.8', binary: 'python3.8' } + - { version: 3.7.14, path: 'python3.7', binary: 'python3.7' } + - { version: 3.6.15, path: 'python3.6', binary: 'python3.6' } diff --git a/vars/debian.yml b/vars/debian.yml new file mode 100644 index 0000000..64641e3 --- /dev/null +++ b/vars/debian.yml @@ -0,0 +1,22 @@ +ansible_connection: local +ansible_python_interpreter: '/usr/bin/env python' + +packages: + - python3 + - git + - vim + - neovim + - npm + - tree-sitter + - ripgrep + +# TODO: investigate available lsps +language_servers: + - ansible-language-server + - yaml-language-server + - typescript-language-server + - vscode-html-languageserver + - vscode-json-languageserver + - vscode-css-languageserver + - bash-language-server + - lua-language-server diff --git a/vars.yml b/vars/main.yml similarity index 56% rename from vars.yml rename to vars/main.yml index b163551..c3a3e95 100644 --- a/vars.yml +++ b/vars/main.yml @@ -1,37 +1,6 @@ ansible_connection: local ansible_python_interpreter: '/usr/bin/env python' -packages: - - python - - git - - vim - - neovim - - wl-clipboard - - npm - - docker - - docker-compose - - fuse-overlayfs - - ttf-ibm-plex - - slirp4netns - - tree-sitter - - ripgrep - -aur_packages: - - { - url: 'https://aur.archlinux.org/rootlesskit.git', - name: 'rootlesskit', - package_name: 'rootlesskit', - } - - { - url: 'https://aur.archlinux.org/docker-rootless-extras-bin.git', - name: 'docker-rootless', - package_name: 'docker-rootless-extras-bin', - } - -aur_build_dir: '/usr/local/src' -python_build_dir: '/usr/local/src' -python_install_dir: '/opt' - xdg_config_dir: '{{ ansible_env.HOME }}/.config' xdg_data_dir: '{{ ansible_env.HOME }}/.local/share' @@ -68,24 +37,5 @@ neovim_plugins: version: '045e3499d9ec8d84635fb08877ae44fd33f6a38d', } -language_servers: - - ansible-language-server - - yaml-language-server - - typescript-language-server - - vscode-html-languageserver - - vscode-json-languageserver - - vscode-css-languageserver - - bash-language-server - - lua-language-server - -python_download_url: 'https://www.python.org/ftp/python' -python_versions: - - { version: 3.11.9, path: 'python3.11', binary: 'python3.11' } - - { version: 3.10.0, path: 'python3.10', binary: 'python3.10' } - - { version: 3.9.14, path: 'python3.9', binary: 'python3.9' } - - { version: 3.8.14, path: 'python3.8', binary: 'python3.8' } - - { version: 3.7.14, path: 'python3.7', binary: 'python3.7' } - - { version: 3.6.15, path: 'python3.6', binary: 'python3.6' } - gitlab_domain: 'git.fudiggity.nl' gitlab_host_key: 'git.fudiggity.nl ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINh/SlWqWmH2FG+duiJkkSpq0Fm+wUAmc//4/CbzbX5+' From b53e644f7e69d3d7f6eb8179d035cef30f306931 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Wed, 7 Aug 2024 16:58:45 +0200 Subject: [PATCH 064/170] Add indent-blankline configuration --- tasks/neovim.yml | 4 ++++ templates/nvim/init.lua.j2 | 1 + templates/nvim/lua/indent-blankline.lua.j2 | 10 ++++++++++ vars/archlinux.yml | 2 +- vars/main.yml | 6 ++++++ 5 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 templates/nvim/lua/indent-blankline.lua.j2 diff --git a/tasks/neovim.yml b/tasks/neovim.yml index 7f0f453..a85fd57 100644 --- a/tasks/neovim.yml +++ b/tasks/neovim.yml @@ -137,3 +137,7 @@ src: 'templates/nvim/lua/telescope.lua.j2', dest: '{{ xdg_config_dir }}/nvim/lua/_telescope.lua', } + - { + src: 'templates/nvim/lua/indent-blankline.lua.j2', + dest: '{{ xdg_config_dir }}/nvim/lua/indent-blankline.lua', + } diff --git a/templates/nvim/init.lua.j2 b/templates/nvim/init.lua.j2 index 40b25eb..58d3b70 100644 --- a/templates/nvim/init.lua.j2 +++ b/templates/nvim/init.lua.j2 @@ -9,3 +9,4 @@ require('tree-sitter') require('lua-line') require('git-signs') require('_telescope') +require('indent-blankline') diff --git a/templates/nvim/lua/indent-blankline.lua.j2 b/templates/nvim/lua/indent-blankline.lua.j2 new file mode 100644 index 0000000..458b6a9 --- /dev/null +++ b/templates/nvim/lua/indent-blankline.lua.j2 @@ -0,0 +1,10 @@ +-- {{ ansible_managed }} + +local indent_blankline = require("ibl"); + +indent_blankline.setup { + scope = { + show_start = false, + show_end = false, + } +} diff --git a/vars/archlinux.yml b/vars/archlinux.yml index 0dc1de8..b634a41 100644 --- a/vars/archlinux.yml +++ b/vars/archlinux.yml @@ -1,5 +1,5 @@ ansible_connection: local -ansible_python_interpreter: '/usr/bin/env python' +ansible_python_interpreter: '/usr/bin/python' packages: - python diff --git a/vars/main.yml b/vars/main.yml index c3a3e95..7063c8d 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -36,6 +36,12 @@ neovim_plugins: name: 'catppuccin', version: '045e3499d9ec8d84635fb08877ae44fd33f6a38d', } + - { + url: 'https://github.com/lukas-reineke/indent-blankline.nvim', + name: 'indent-blankline.nvim', + version: 'v3.7.2', + } + gitlab_domain: 'git.fudiggity.nl' gitlab_host_key: 'git.fudiggity.nl ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINh/SlWqWmH2FG+duiJkkSpq0Fm+wUAmc//4/CbzbX5+' From deec1581c589f43b60f579c8346af52a10b7b81c Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sat, 10 Aug 2024 16:08:06 +0200 Subject: [PATCH 065/170] Extract neovim from prebuilt archives for debian hosts --- tasks/neovim.yml | 55 +++++++++++++++++++++++++++++++++-- templates/nvim/lua/lsp.lua.j2 | 12 +++++++- vars/archlinux.yml | 50 ++++++++++++++++++++++++++----- vars/debian.yml | 31 +++++++++++++------- 4 files changed, 126 insertions(+), 22 deletions(-) diff --git a/tasks/neovim.yml b/tasks/neovim.yml index a85fd57..9a3b704 100644 --- a/tasks/neovim.yml +++ b/tasks/neovim.yml @@ -27,14 +27,21 @@ name: neovim global: true -# Note that the "python-lsp-server", "python-lsp-ruff" and "neovim" python -# packages should be installed to the corresponding virtualenv as well. - name: install language servers become: true package: name: '{{ item }}' state: present - loop: '{{ language_servers }}' + loop: '{{ language_servers | map(attribute="package") | list }}' + when: ansible_facts['os_family'] == 'Archlinux' + +- name: install language servers on debian hosts + become: true + npm: + name: '{{ item }}' + global: true + loop: '{{ language_servers | map(attribute="package") | list }}' + when: ansible_facts['os_family'] == 'Debian' - name: remove old neovim configuration file file: @@ -141,3 +148,45 @@ src: 'templates/nvim/lua/indent-blankline.lua.j2', dest: '{{ xdg_config_dir }}/nvim/lua/indent-blankline.lua', } + +- block: + - name: register the current version + command: + argv: + - '{{ neovim.install_path }}/bin/nvim' + - '--version' + register: neovim_stats + + - name: parse the current version + set_fact: + neovim_installed_version: neovim_stats.stdout_lines[0] | regex_search('(v\d+\.\d+\.\d+)') + when: neovim_stats.rc == 0 + + - name: download neovim {{ neovim.version }} + get_url: + url: 'https://github.com/neovim/neovim/releases/download/{{ neovim.version }}/nvim-linux64.tar.gz' + dest: /tmp/nvim-linux64.tar.gz + when: neovim_stats.rc > 0 or neovim_installed_version != neovim.version + register: neovim_download + + - name: extract downloaded neovim version + unarchive: + src: /tmp/nvim-linux64.tar.gz + dest: '{{ neovim.install_path }}' + extra_opts: + - '--strip-components=1' + - '--show-stored-names' + when: neovim_download.rc == 0 + + - name: set updated PATH variable + set_fact: + neovim_new_path: '{{ neovim.install_path }}/bin' + + - name: Update PATH to include {{ neovim_new_path }} + ansible.builtin.replace: + path: '~/.profile' + regexp: '^PATH="{{ ansible_env.PATH }}"' + replace: 'PATH="{{ ansible_env.PATH }}:{{ neovim_new_path }}"' + when: neovim_new_path not in ansible_env.PATH + + when: ansible_facts['os_family'] == 'Debian' diff --git a/templates/nvim/lua/lsp.lua.j2 b/templates/nvim/lua/lsp.lua.j2 index 812dc2c..507eb54 100644 --- a/templates/nvim/lua/lsp.lua.j2 +++ b/templates/nvim/lua/lsp.lua.j2 @@ -23,8 +23,15 @@ end --enable some language servers with the additional completion capabilities --offered by nvim-cmp +-- TODO: use `.join`? local servers = { - 'ansiblels', 'yamlls', 'cssls', 'jsonls', 'tsserver', 'bashls', 'lua_ls' + {% for item in language_servers %} + {% if item.auto_setup and not loop.last %} + '{{ item.server_name }}', + {% elif item.auto_setup %} + '{{ item.server_name }}' + {% endif %} + {% endfor %} } --add additional capabilities supported by nvim-cmp @@ -42,6 +49,7 @@ end local util = require('lspconfig/util') +{% if ansible_facts.os_family == 'Archlinux' %} local python_root_dir = function(fname) return util.root_pattern('.git', 'setup.cfg', 'requirements')(fname) or util.path.dirname(fname) @@ -72,12 +80,14 @@ nvim_lsp.pyright.setup({ root_dir = python_root_dir }) + nvim_lsp.html.setup({ on_attach = on_attach, capabilities = capabilities, filetypes = { 'html', 'htmldjango' }, }) +{% endif %} local cmp = require('cmp') local luasnip = require('luasnip') diff --git a/vars/archlinux.yml b/vars/archlinux.yml index b634a41..3fae616 100644 --- a/vars/archlinux.yml +++ b/vars/archlinux.yml @@ -32,15 +32,49 @@ aur_build_dir: '/usr/local/src' python_build_dir: '/usr/local/src' python_install_dir: '/opt' +# Note that the "python-lsp-server", "python-lsp-ruff" and "neovim" python +# packages should be installed to the corresponding virtualenv as well. language_servers: - - ansible-language-server - - yaml-language-server - - typescript-language-server - - vscode-html-languageserver - - vscode-json-languageserver - - vscode-css-languageserver - - bash-language-server - - lua-language-server + - { + package: ansible-language-server, + server_name: 'ansiblels', + auto_setup: true + } + - { + package: yaml-language-server, + server_name: 'yamlls', + auto_setup: true + } + - { + package: typescript-language-server, + server_name: 'tsserver', + auto_setup: true + } + - { + package: vscode-html-languageserver, + server_name: 'html', + auto_setup: false + } + - { + package: vscode-json-languageserver, + server_name: 'jsonls', + auto_setup: true + } + - { + package: vscode-css-languageserver, + server_name: 'cssls', + auto_setup: true + } + - { + package: bash-language-server, + server_name: 'bashls', + auto_setup: true + } + - { + package: lua-language-server, + server_name: 'lua_ls', + auto_setup: true + } python_download_url: 'https://www.python.org/ftp/python' python_versions: diff --git a/vars/debian.yml b/vars/debian.yml index 64641e3..6ccab17 100644 --- a/vars/debian.yml +++ b/vars/debian.yml @@ -5,18 +5,29 @@ packages: - python3 - git - vim - - neovim - npm - tree-sitter - ripgrep -# TODO: investigate available lsps +neovim: + version: 'v0.10.1' + install_path: '/opt/nvim' + download_checksum: 4867de01a17f6083f902f8aa5215b40b0ed3a36e83cc0293de3f11708f1f9793 + +# TODO: add lua language server, see https://github.com/LuaLS/lua-language-server? language_servers: - - ansible-language-server - - yaml-language-server - - typescript-language-server - - vscode-html-languageserver - - vscode-json-languageserver - - vscode-css-languageserver - - bash-language-server - - lua-language-server + - { + package: '@ansible/ansible-language-server', + server_name: 'ansiblels', + auto_setup: true + } + - { + package: yaml-language-server, + server_name: 'yamlls', + auto_setup: true + } + - { + package: bash-language-server, + server_name: 'bashls', + auto_setup: true + } From 8f273cc775c5c0c4ec6a36c109271f3e50d98fdb Mon Sep 17 00:00:00 2001 From: sonny Date: Sat, 10 Aug 2024 16:45:02 +0200 Subject: [PATCH 066/170] Update debian setup --- debian.yml | 2 -- tasks/neovim.yml | 28 +++++++++++++++------------- vars/debian.yml | 4 ++-- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/debian.yml b/debian.yml index e86c7c1..1125ae0 100644 --- a/debian.yml +++ b/debian.yml @@ -14,8 +14,6 @@ user: '{{ ansible_user_id }}' items: - { domain: '{{ gitlab_domain }}', key: '{{ gitlab_host_key }}' } - roles: - - common tasks: - import_tasks: 'tasks/dotfiles.yml' - import_tasks: 'tasks/neovim.yml' diff --git a/tasks/neovim.yml b/tasks/neovim.yml index 9a3b704..6a98873 100644 --- a/tasks/neovim.yml +++ b/tasks/neovim.yml @@ -150,14 +150,23 @@ } - block: - - name: register the current version + - name: create neovim install directory + become: true + file: + state: directory + path: '{{ neovim.install_path }}' + owner: '{{ ansible_user_id }}' + group: '{{ ansible_user_gid }}' + + - name: register the current neovim version command: argv: - '{{ neovim.install_path }}/bin/nvim' - '--version' register: neovim_stats + ignore_errors: true - - name: parse the current version + - name: parse the current neovim version set_fact: neovim_installed_version: neovim_stats.stdout_lines[0] | regex_search('(v\d+\.\d+\.\d+)') when: neovim_stats.rc == 0 @@ -176,17 +185,10 @@ extra_opts: - '--strip-components=1' - '--show-stored-names' - when: neovim_download.rc == 0 + - '--overwrite' + when: neovim_download.state == 'file' and + (neovim_installed_version is undefined or neovim_installed_version != neovim.version) - - name: set updated PATH variable - set_fact: - neovim_new_path: '{{ neovim.install_path }}/bin' - - - name: Update PATH to include {{ neovim_new_path }} - ansible.builtin.replace: - path: '~/.profile' - regexp: '^PATH="{{ ansible_env.PATH }}"' - replace: 'PATH="{{ ansible_env.PATH }}:{{ neovim_new_path }}"' - when: neovim_new_path not in ansible_env.PATH + # TODO: add new entry to PATH when: ansible_facts['os_family'] == 'Debian' diff --git a/vars/debian.yml b/vars/debian.yml index 6ccab17..2b3d914 100644 --- a/vars/debian.yml +++ b/vars/debian.yml @@ -1,12 +1,12 @@ ansible_connection: local -ansible_python_interpreter: '/usr/bin/env python' +ansible_python_interpreter: '/usr/bin/python3' packages: - python3 - git - vim - npm - - tree-sitter + - libtree-sitter0 - ripgrep neovim: From fe9f6788c338c7d508bff583df55bb82364293cf Mon Sep 17 00:00:00 2001 From: sonny Date: Mon, 12 Aug 2024 20:36:26 +0200 Subject: [PATCH 067/170] Add neovim to PATH --- debian.yml | 8 -------- tasks/neovim.yml | 6 +++++- templates/nvim.profile.j2 | 3 +++ 3 files changed, 8 insertions(+), 9 deletions(-) create mode 100644 templates/nvim.profile.j2 diff --git a/debian.yml b/debian.yml index 1125ae0..16a0d80 100644 --- a/debian.yml +++ b/debian.yml @@ -6,14 +6,6 @@ name: '{{ item }}' state: present loop: '{{ packages }}' - - name: add gitlab to known hosts - include_role: - name: common - tasks_from: 'known_hosts.yml' - vars: - user: '{{ ansible_user_id }}' - items: - - { domain: '{{ gitlab_domain }}', key: '{{ gitlab_host_key }}' } tasks: - import_tasks: 'tasks/dotfiles.yml' - import_tasks: 'tasks/neovim.yml' diff --git a/tasks/neovim.yml b/tasks/neovim.yml index 6a98873..1e13e3c 100644 --- a/tasks/neovim.yml +++ b/tasks/neovim.yml @@ -189,6 +189,10 @@ when: neovim_download.state == 'file' and (neovim_installed_version is undefined or neovim_installed_version != neovim.version) - # TODO: add new entry to PATH + - name: add neovim to PATH + become: true + template: + src: 'templates/nvim.profile.j2' + dest: '/etc/profile.d/neovim.sh' when: ansible_facts['os_family'] == 'Debian' diff --git a/templates/nvim.profile.j2 b/templates/nvim.profile.j2 new file mode 100644 index 0000000..9feea09 --- /dev/null +++ b/templates/nvim.profile.j2 @@ -0,0 +1,3 @@ +# {{ ansible_managed }} + +PATH="{{ neovim.install_path }}:$PATH" From 8254bfee9f07b939bb1a92a882263123cf47a19d Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Tue, 13 Aug 2024 20:40:20 +0200 Subject: [PATCH 068/170] Add nvm setup --- archlinux.yml | 1 + tasks/neovim.yml | 1 + tasks/nvm.yml | 35 +++++++++++++++++++++++++++++++++++ vars/archlinux.yml | 4 ++++ 4 files changed, 41 insertions(+) create mode 100644 tasks/nvm.yml diff --git a/archlinux.yml b/archlinux.yml index 8aefd7c..972f696 100644 --- a/archlinux.yml +++ b/archlinux.yml @@ -28,6 +28,7 @@ - name: setup python versions include_tasks: 'tasks/python.yml' loop: '{{ python_versions }}' + - import_tasks: 'tasks/nvm.yml' vars_files: - 'vars/main.yml' - 'vars/archlinux.yml' diff --git a/tasks/neovim.yml b/tasks/neovim.yml index 1e13e3c..633db0a 100644 --- a/tasks/neovim.yml +++ b/tasks/neovim.yml @@ -171,6 +171,7 @@ neovim_installed_version: neovim_stats.stdout_lines[0] | regex_search('(v\d+\.\d+\.\d+)') when: neovim_stats.rc == 0 + # TODO: verify checksum - name: download neovim {{ neovim.version }} get_url: url: 'https://github.com/neovim/neovim/releases/download/{{ neovim.version }}/nvim-linux64.tar.gz' diff --git a/tasks/nvm.yml b/tasks/nvm.yml new file mode 100644 index 0000000..36e6ece --- /dev/null +++ b/tasks/nvm.yml @@ -0,0 +1,35 @@ +- name: create nvm install directory + file: + path: '{{ nvm.install_dir }}' + state: directory + +- name: register the current nvm version + shell: 'source {{ nvm.install_dir }}/nvm.sh && nvm --version' + register: nvm_stats + ignore_errors: true + +- name: parse the current nvm version + set_fact: + nvm_installed_version: nvm_stats.stdout + when: nvm_stats.rc == 0 + +- name: download nvm {{ nvm.version }} + get_url: + url: 'https://raw.githubusercontent.com/nvm-sh/nvm/{{ nvm.version }}/install.sh' + dest: '/tmp/nvm-{{ nvm.version }}-install.sh' + when: nvm_stats.rc > 0 or nvm_installed_version != nvm.version + register: nvm_download + +- name: install nvm {{ nvm.version }} + ansible.builtin.command: 'bash /tmp/nvm-{{ nvm.version }}-install.sh' + environment: + PROFILE: /dev/null + NVM_DIR: '{{ nvm.install_dir }}' + args: + creates: '{{ nvm.install_dir }}/nvm.sh' + +- name: ensure nvm gets loaded + lineinfile: + path: '{{ ansible_env.HOME }}/.bashrc.override' + line: > + [ -s "{{ nvm.install_dir }}/nvm.sh" ] && \. "{{ nvm.install_dir }}/nvm.sh" # This loads nvm diff --git a/vars/archlinux.yml b/vars/archlinux.yml index 3fae616..3888723 100644 --- a/vars/archlinux.yml +++ b/vars/archlinux.yml @@ -84,3 +84,7 @@ python_versions: - { version: 3.8.14, path: 'python3.8', binary: 'python3.8' } - { version: 3.7.14, path: 'python3.7', binary: 'python3.7' } - { version: 3.6.15, path: 'python3.6', binary: 'python3.6' } + +nvm: + install_dir: '{{ xdg_config_dir }}/nvm' + version: 'v0.40.0' From aef5ca81383acb30dc93ad987f9dfab35a44acaf Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Fri, 16 Aug 2024 09:02:42 +0200 Subject: [PATCH 069/170] Remove nvm bash installation --- tasks/nvm.yml | 39 +++++++++------------------------------ vars/archlinux.yml | 4 ---- 2 files changed, 9 insertions(+), 34 deletions(-) diff --git a/tasks/nvm.yml b/tasks/nvm.yml index 36e6ece..afa2cc9 100644 --- a/tasks/nvm.yml +++ b/tasks/nvm.yml @@ -1,35 +1,14 @@ -- name: create nvm install directory +- set_fact: + install_dir: '{{ xdg_config_dir }}/nvm' + +- name: remove manually installed nvm install directory file: - path: '{{ nvm.install_dir }}' - state: directory + path: 'install_dir' + state: absent -- name: register the current nvm version - shell: 'source {{ nvm.install_dir }}/nvm.sh && nvm --version' - register: nvm_stats - ignore_errors: true - -- name: parse the current nvm version - set_fact: - nvm_installed_version: nvm_stats.stdout - when: nvm_stats.rc == 0 - -- name: download nvm {{ nvm.version }} - get_url: - url: 'https://raw.githubusercontent.com/nvm-sh/nvm/{{ nvm.version }}/install.sh' - dest: '/tmp/nvm-{{ nvm.version }}-install.sh' - when: nvm_stats.rc > 0 or nvm_installed_version != nvm.version - register: nvm_download - -- name: install nvm {{ nvm.version }} - ansible.builtin.command: 'bash /tmp/nvm-{{ nvm.version }}-install.sh' - environment: - PROFILE: /dev/null - NVM_DIR: '{{ nvm.install_dir }}' - args: - creates: '{{ nvm.install_dir }}/nvm.sh' - -- name: ensure nvm gets loaded +- name: remove nvm entry from bashrc lineinfile: path: '{{ ansible_env.HOME }}/.bashrc.override' line: > - [ -s "{{ nvm.install_dir }}/nvm.sh" ] && \. "{{ nvm.install_dir }}/nvm.sh" # This loads nvm + [ -s "{{ install_dir }}/nvm.sh" ] && \. "{{ install_dir }}/nvm.sh" # This loads nvm + state: absent diff --git a/vars/archlinux.yml b/vars/archlinux.yml index 3888723..3fae616 100644 --- a/vars/archlinux.yml +++ b/vars/archlinux.yml @@ -84,7 +84,3 @@ python_versions: - { version: 3.8.14, path: 'python3.8', binary: 'python3.8' } - { version: 3.7.14, path: 'python3.7', binary: 'python3.7' } - { version: 3.6.15, path: 'python3.6', binary: 'python3.6' } - -nvm: - install_dir: '{{ xdg_config_dir }}/nvm' - version: 'v0.40.0' From ae424f066d90076227343c0632a339df0db905bb Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Fri, 16 Aug 2024 09:02:52 +0200 Subject: [PATCH 070/170] Update AUR packages --- archlinux.yml | 1 - tasks/aur-package.yml | 46 +++++++++++++++++++++++++++++++++++-------- tasks/aur.yml | 2 -- vars/archlinux.yml | 16 +++++++++------ 4 files changed, 48 insertions(+), 17 deletions(-) diff --git a/archlinux.yml b/archlinux.yml index 972f696..018d516 100644 --- a/archlinux.yml +++ b/archlinux.yml @@ -23,7 +23,6 @@ package_facts: manager: pacman - import_tasks: 'tasks/aur.yml' - when: aur_packages|map(attribute='package_name')|list is not subset(ansible_facts.packages) - import_tasks: 'tasks/docker.yml' - name: setup python versions include_tasks: 'tasks/python.yml' diff --git a/tasks/aur-package.yml b/tasks/aur-package.yml index 0652047..7163824 100644 --- a/tasks/aur-package.yml +++ b/tasks/aur-package.yml @@ -1,22 +1,52 @@ -- name: 'build package {{ item.name }}' - command: 'makepkg --syncdeps --rmdeps --clean --noconfirm --force' - args: - chdir: '{{ aur_build_dir }}/{{ item.name }}' +- name: set package directory + set_fact: + build_dir: '{{ aur_build_dir }}/{{ item.name }}' - name: 'retrieve package name for {{ item.name }}' - command: 'grep -oP "(?<=pkgname=).*" {{ aur_build_dir }}/{{ item.name }}/PKGBUILD' + command: + argv: + - grep + - --only-matching + - --perl-regexp + - "(?<=pkgname=).*" + - "{{ build_dir }}/PKGBUILD" register: pkg_name - name: 'retrieve package version for {{ item.name }}' - command: 'grep -oP "(?<=pkgver=).*" {{ aur_build_dir }}/{{ item.name }}/PKGBUILD' + command: + argv: + - grep + - --only-matching + - --perl-regexp + - "(?<=pkgver=).*" + - "{{ build_dir }}/PKGBUILD" register: pkg_version - name: 'retrieve package release for {{ item.name }}' - command: 'grep -oP "(?<=pkgrel=).*" {{ aur_build_dir }}/{{ item.name }}/PKGBUILD' + command: + argv: + - grep + - --only-matching + - --perl-regexp + - "(?<=pkgrel=).*" + - "{{ build_dir }}/PKGBUILD" register: pkg_release +- set_fact: + package_filename: '{{ pkg_name.stdout }}-{{ pkg_version.stdout }}-{{ pkg_release.stdout }}-{{ item.arch }}.pkg.tar.zst' + installed_version: ansible_facts.packages[item.package_name].version|default('') + +- name: 'build package {{ item.name }}' + command: 'makepkg --syncdeps --rmdeps --clean --noconfirm --force' + args: + chdir: '{{ build_dir }}' + creates: '{{ build_dir }}/{{ package_filename }}' + register: package_build + when: item.version != installed_version + - name: 'install {{ item.name }}' become: true pacman: - name: '{{ aur_build_dir }}/{{ item.name }}/{{ pkg_name.stdout }}-{{ pkg_version.stdout }}-{{ pkg_release.stdout }}-x86_64.pkg.tar.zst' + name: '{{ build_dir }}/{{ package_filename }}' state: present + when: package_build.changed diff --git a/tasks/aur.yml b/tasks/aur.yml index 1b7ecc9..6dd8c75 100644 --- a/tasks/aur.yml +++ b/tasks/aur.yml @@ -1,10 +1,8 @@ - name: retrieve directory stats stat: path: '{{ aur_build_dir }}/{{ item.name }}' - register: build_dir_stats loop: '{{ aur_packages }}' -# TODO become based on the directories stats - name: clone aur packages become: true git: diff --git a/vars/archlinux.yml b/vars/archlinux.yml index 3fae616..8a9b760 100644 --- a/vars/archlinux.yml +++ b/vars/archlinux.yml @@ -18,14 +18,18 @@ packages: aur_packages: - { - url: 'https://aur.archlinux.org/rootlesskit.git', - name: 'rootlesskit', - package_name: 'rootlesskit', + url: 'https://aur.archlinux.org/docker-rootless-extras.git', + name: 'docker-rootless', + package_name: 'docker-rootless-extras', + version: '27.1.2-1', + arch: 'x86_64', } - { - url: 'https://aur.archlinux.org/docker-rootless-extras-bin.git', - name: 'docker-rootless', - package_name: 'docker-rootless-extras-bin', + url: 'https://aur.archlinux.org/nvm.git', + name: 'nvm', + package_name: 'nvm', + version: '0.40.0-1', + arch: 'any', } aur_build_dir: '/usr/local/src' From 905e696cbfd2524369d9ca3df1e451f76a6a4c45 Mon Sep 17 00:00:00 2001 From: sonny Date: Tue, 20 Aug 2024 07:51:06 +0200 Subject: [PATCH 071/170] Set correct path for neovim binary --- templates/nvim.profile.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/nvim.profile.j2 b/templates/nvim.profile.j2 index 9feea09..d424aca 100644 --- a/templates/nvim.profile.j2 +++ b/templates/nvim.profile.j2 @@ -1,3 +1,3 @@ # {{ ansible_managed }} -PATH="{{ neovim.install_path }}:$PATH" +PATH="{{ neovim.install_path }}/bin:$PATH" From f8173799500824f38e784c0bda5cfcb54001aff1 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Fri, 23 Aug 2024 07:54:38 +0200 Subject: [PATCH 072/170] Fix removing previous nvm dir --- tasks/nvm.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/nvm.yml b/tasks/nvm.yml index afa2cc9..d99859a 100644 --- a/tasks/nvm.yml +++ b/tasks/nvm.yml @@ -3,7 +3,7 @@ - name: remove manually installed nvm install directory file: - path: 'install_dir' + path: '{{ install_dir }}' state: absent - name: remove nvm entry from bashrc From a458963ff065ff52007f12bfa203ff6475690521 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Fri, 23 Aug 2024 07:55:15 +0200 Subject: [PATCH 073/170] Update neovim keybindings & setup ruff lsp --- templates/nvim/lua/keybindings.lua.j2 | 4 +++ templates/nvim/lua/lsp.lua.j2 | 51 ++++++++++++++++++--------- vars/archlinux.yml | 7 +++- 3 files changed, 45 insertions(+), 17 deletions(-) diff --git a/templates/nvim/lua/keybindings.lua.j2 b/templates/nvim/lua/keybindings.lua.j2 index 23c272a..a9cad32 100644 --- a/templates/nvim/lua/keybindings.lua.j2 +++ b/templates/nvim/lua/keybindings.lua.j2 @@ -5,3 +5,7 @@ vim.api.nvim_set_keymap('n', 'ff', 'lua require("telescope.builtin").find_f vim.api.nvim_set_keymap('n', 'fg', 'lua require("telescope.builtin").live_grep()', opts) vim.api.nvim_set_keymap('n', 'fb', 'lua require("telescope.builtin").buffers()', opts) vim.api.nvim_set_keymap('n', 'fh', 'lua require("telescope.builtin").help_tags()', opts) +vim.api.nvim_set_keymap('n', 'fj', 'lua require("telescope.builtin").jumplist()', opts) +vim.api.nvim_set_keymap('n', 'fl', 'lua require("telescope.builtin").loclist()', opts) +vim.api.nvim_set_keymap('n', 'fq', 'lua require("telescope.builtin").quickfix()', opts) +vim.api.nvim_set_keymap('n', 'fm', 'lua require("telescope.builtin").marks()', opts) diff --git a/templates/nvim/lua/lsp.lua.j2 b/templates/nvim/lua/lsp.lua.j2 index 507eb54..23a12ce 100644 --- a/templates/nvim/lua/lsp.lua.j2 +++ b/templates/nvim/lua/lsp.lua.j2 @@ -10,14 +10,26 @@ local on_attach = function(client, bufnr) buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc') -- mappings - local opts = { noremap=true, silent=true } + local opts = { buffer = bufnr, noremap = true, silent = true } + vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, opts) + vim.keymap.set('n', 'gd', vim.lsp.buf.definition, opts) + vim.keymap.set('n', 'K', vim.lsp.buf.hover, opts) + vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, opts) + vim.keymap.set('n', '', vim.lsp.buf.signature_help, opts) + vim.keymap.set('n', 'wa', vim.lsp.buf.add_workspace_folder, opts) + vim.keymap.set('n', 'wr', vim.lsp.buf.remove_workspace_folder, opts) + vim.keymap.set('n', 'wl', function() + print(vim.inspect(vim.lsp.buf.list_workspace_folders())) + end, opts) + vim.keymap.set('n', 'D', vim.lsp.buf.type_definition, opts) + vim.keymap.set('n', 'rn', vim.lsp.buf.rename, opts) + vim.keymap.set('n', 'gr', vim.lsp.buf.references, opts) + vim.keymap.set('n', 'e', vim.diagnostic.open_float, opts) + vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, opts) + vim.keymap.set('n', ']d', vim.diagnostic.goto_next, opts) + vim.keymap.set('n', 'q', vim.diagnostic.setloclist, opts) + vim.keymap.set('n', 'la', vim.lsp.buf.code_action, opts) - --see `:help vim.lsp.*` for documentation on any of the below functions - buf_set_keymap('n', 'gD', 'lua vim.lsp.buf.declaration()', opts) - buf_set_keymap('n', 'gd', 'lua vim.lsp.buf.definition()', opts) - buf_set_keymap('n', 'K', 'lua vim.lsp.buf.hover()', opts) - buf_set_keymap('n', 'gi', 'lua vim.lsp.buf.implementation()', opts) - buf_set_keymap('n', '', 'lua vim.lsp.buf.signature_help()', opts) end @@ -55,6 +67,13 @@ local python_root_dir = function(fname) util.path.dirname(fname) end +nvim_lsp.ruff_lsp.setup({ + on_attach = on_attach, + capabilities = capabilities, + root_dir = python_root_dir +}) + + nvim_lsp.pylsp.setup({ on_attach = on_attach, capabilities = capabilities, @@ -63,24 +82,24 @@ nvim_lsp.pylsp.setup({ pylsp = { plugins = { ruff = { - enabled = true - } + enabled = false + }, + jedi_completion = { fuzzy = true } } } }, root_dir = python_root_dir }) -local pyright_capabilities = vim.lsp.protocol.make_client_capabilities() -pyright_capabilities.textDocument.publishDiagnostics.tagSupport.valueSet = { 2 } - nvim_lsp.pyright.setup({ - on_attach = on_attach, - capabilities = pyright_capabilities, - root_dir = python_root_dir + settings = { + pyright = { + -- Using Ruff's import organizer + disableOrganizeImports = true, + }, + }, }) - nvim_lsp.html.setup({ on_attach = on_attach, capabilities = capabilities, diff --git a/vars/archlinux.yml b/vars/archlinux.yml index 8a9b760..e9767d3 100644 --- a/vars/archlinux.yml +++ b/vars/archlinux.yml @@ -36,7 +36,7 @@ aur_build_dir: '/usr/local/src' python_build_dir: '/usr/local/src' python_install_dir: '/opt' -# Note that the "python-lsp-server", "python-lsp-ruff" and "neovim" python +# Note that the "python-lsp-server" and "neovim" python # packages should be installed to the corresponding virtualenv as well. language_servers: - { @@ -79,6 +79,11 @@ language_servers: server_name: 'lua_ls', auto_setup: true } + - { + package: ruff-lsp, + server_name: 'ruff_lsp', + auto_setup: false + } python_download_url: 'https://www.python.org/ftp/python' python_versions: From 6247861f0f0ac1b7d1d33c65ac2f51bdd51c48dd Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sat, 24 Aug 2024 09:54:11 +0200 Subject: [PATCH 074/170] Add missing pyright lsp --- vars/archlinux.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/vars/archlinux.yml b/vars/archlinux.yml index e9767d3..6f969d2 100644 --- a/vars/archlinux.yml +++ b/vars/archlinux.yml @@ -84,6 +84,11 @@ language_servers: server_name: 'ruff_lsp', auto_setup: false } + - { + package: pyright, + server_name: 'pyright', + auto_setup: false + } python_download_url: 'https://www.python.org/ftp/python' python_versions: From 3c3b3952b4d3bc44cb393745102e817f55abc406 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sat, 24 Aug 2024 09:56:18 +0200 Subject: [PATCH 075/170] Squashed commit of the following: commit 1029099729e656df66264e45814060f9b84b2bf4 Author: Sonny Bakker Date: Sat Aug 24 09:54:59 2024 +0200 [#1] show completion lsp source --- templates/nvim/lua/lsp.lua.j2 | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/templates/nvim/lua/lsp.lua.j2 b/templates/nvim/lua/lsp.lua.j2 index 23a12ce..c689ff6 100644 --- a/templates/nvim/lua/lsp.lua.j2 +++ b/templates/nvim/lua/lsp.lua.j2 @@ -111,11 +111,18 @@ local cmp = require('cmp') local luasnip = require('luasnip') cmp.setup({ - snippet = { - expand = function(args) - luasnip.lsp_expand(args.body) + sources = { + { names = 'nvim_lsp', }, + { names = 'luasnip', }, -- TODO: add snippets + }, + + formatting = { + format = function(entry, vim_item) + vim_item.menu = string.format('[%s]', entry.source.source.client.name) + return vim_item end, }, + mapping = cmp.mapping.preset.insert({ [''] = cmp.mapping(function(fallback) if cmp.visible() then @@ -136,8 +143,10 @@ cmp.setup({ end end, { 'i', 's' }), }), - sources = { - { names = 'nvim_lsp', }, - { names = 'luasnip', }, -- TODO: add snippets + + snippet = { + expand = function(args) + luasnip.lsp_expand(args.body) + end, }, }) From ff290950ba2e08f15c3cf9c69d6e4628812972dd Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sat, 24 Aug 2024 10:06:45 +0200 Subject: [PATCH 076/170] Disable jedi fuzzy completion --- templates/nvim/lua/lsp.lua.j2 | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/templates/nvim/lua/lsp.lua.j2 b/templates/nvim/lua/lsp.lua.j2 index c689ff6..a41af24 100644 --- a/templates/nvim/lua/lsp.lua.j2 +++ b/templates/nvim/lua/lsp.lua.j2 @@ -82,9 +82,8 @@ nvim_lsp.pylsp.setup({ pylsp = { plugins = { ruff = { - enabled = false - }, - jedi_completion = { fuzzy = true } + enabled = false -- now through ruff_lsp + } } } }, From 7f908f1c40722c94256890b2e5d8e1a1c098267b Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sat, 24 Aug 2024 20:56:58 +0200 Subject: [PATCH 077/170] Update when statement --- tasks/aur-package.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/aur-package.yml b/tasks/aur-package.yml index 7163824..0abef44 100644 --- a/tasks/aur-package.yml +++ b/tasks/aur-package.yml @@ -49,4 +49,4 @@ pacman: name: '{{ build_dir }}/{{ package_filename }}' state: present - when: package_build.changed + when: item.version != installed_version From 80222dd4896c1b111dae9a7df0e4e638c5f24cc5 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Mon, 26 Aug 2024 20:14:12 +0200 Subject: [PATCH 078/170] Add nvim-tree setup --- tasks/neovim.yml | 4 ++++ templates/nvim/init.lua.j2 | 1 + templates/nvim/lua/keybindings.lua.j2 | 2 +- templates/nvim/lua/nvim-tree.lua.j2 | 18 ++++++++++++++++++ templates/nvim/lua/options.lua.j2 | 4 ++++ vars/main.yml | 3 +-- 6 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 templates/nvim/lua/nvim-tree.lua.j2 diff --git a/tasks/neovim.yml b/tasks/neovim.yml index 633db0a..af1957c 100644 --- a/tasks/neovim.yml +++ b/tasks/neovim.yml @@ -148,6 +148,10 @@ src: 'templates/nvim/lua/indent-blankline.lua.j2', dest: '{{ xdg_config_dir }}/nvim/lua/indent-blankline.lua', } + - { + src: 'templates/nvim/lua/nvim-tree.lua.j2', + dest: '{{ xdg_config_dir }}/nvim/lua/_nvim-tree.lua', + } - block: - name: create neovim install directory diff --git a/templates/nvim/init.lua.j2 b/templates/nvim/init.lua.j2 index 58d3b70..d38546b 100644 --- a/templates/nvim/init.lua.j2 +++ b/templates/nvim/init.lua.j2 @@ -10,3 +10,4 @@ require('lua-line') require('git-signs') require('_telescope') require('indent-blankline') +require('_nvim-tree') diff --git a/templates/nvim/lua/keybindings.lua.j2 b/templates/nvim/lua/keybindings.lua.j2 index a9cad32..653e2dd 100644 --- a/templates/nvim/lua/keybindings.lua.j2 +++ b/templates/nvim/lua/keybindings.lua.j2 @@ -1,6 +1,6 @@ local opts = {noremap=true, silent=true} -vim.api.nvim_set_keymap('n', '', ':NERDTreeToggle', opts) +vim.api.nvim_set_keymap('n', '', ':NvimTreeToggle', opts) vim.api.nvim_set_keymap('n', 'ff', 'lua require("telescope.builtin").find_files()', opts) vim.api.nvim_set_keymap('n', 'fg', 'lua require("telescope.builtin").live_grep()', opts) vim.api.nvim_set_keymap('n', 'fb', 'lua require("telescope.builtin").buffers()', opts) diff --git a/templates/nvim/lua/nvim-tree.lua.j2 b/templates/nvim/lua/nvim-tree.lua.j2 new file mode 100644 index 0000000..294e5b1 --- /dev/null +++ b/templates/nvim/lua/nvim-tree.lua.j2 @@ -0,0 +1,18 @@ +local nvim_tree = require('nvim-tree'); + +nvim_tree.setup { + renderer = { + icons = { + show = { + file = false, + folder = false, + modified = false, + hidden = false, + diagnostics = false, + bookmarks = false, + git = false, + folder_arrow = false + } + } + } +} diff --git a/templates/nvim/lua/options.lua.j2 b/templates/nvim/lua/options.lua.j2 index 367a04a..0c2f806 100644 --- a/templates/nvim/lua/options.lua.j2 +++ b/templates/nvim/lua/options.lua.j2 @@ -55,5 +55,9 @@ vim.o.background = 'light' vim.o.laststatus = 2 vim.o.statusline = ' %F %m%r%w %= %{hostname()} %{strlen(&ft)?&ft:"none"} %{(&bomb?",BOM":"")} %{&ff} %l/%L %c %P' +-- use a dedicated file explorer +vim.g.loaded_netrw = 1 +vim.g.loaded_netrwPlugin = 1 + -- python interpreter vim.g.python3_host_prog = './env/bin/python' diff --git a/vars/main.yml b/vars/main.yml index 7063c8d..c4e3dbf 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -8,7 +8,7 @@ dotfiles_repo: 'git@git.fudiggity.nl:sonny/dotfiles.git' public_dotfiles_repo: 'git@git.fudiggity.nl:sonny/dotfiles.git' neovim_plugins: - - { url: 'https://github.com/preservim/nerdtree', name: 'nerdtree' } + - { url: 'https://github.com/nvim-tree/nvim-tree.lua', name: 'nvim-tree' } - { url: 'https://github.com/neovim/nvim-lspconfig', name: 'nvim-lspconfig' } - { url: 'https://github.com/hrsh7th/nvim-cmp/', name: 'nvim-cmp' } - { url: 'https://github.com/hrsh7th/cmp-nvim-lsp/', name: 'cmp-nvim-lsp' } @@ -29,7 +29,6 @@ neovim_plugins: name: 'gitsigns.nvim', version: 'v0.9.0', } - - { url: 'https://github.com/sainnhe/edge', name: 'edge' } - { url: 'https://github.com/nvim-lualine/lualine.nvim', name: 'lualine' } - { url: 'https://github.com/catppuccin/nvim', From 02fbdf438983868a0c44491c351d98fe10e014c5 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Wed, 28 Aug 2024 10:37:17 +0200 Subject: [PATCH 079/170] Add ansible managed template --- templates/nvim/lua/git-signs.lua.j2 | 2 ++ templates/nvim/lua/keybindings.lua.j2 | 2 ++ 2 files changed, 4 insertions(+) diff --git a/templates/nvim/lua/git-signs.lua.j2 b/templates/nvim/lua/git-signs.lua.j2 index d290a1d..1925d1c 100644 --- a/templates/nvim/lua/git-signs.lua.j2 +++ b/templates/nvim/lua/git-signs.lua.j2 @@ -1,3 +1,5 @@ +-- {{ ansible_managed }} + local gitsigns = require('gitsigns'); gitsigns.setup({ diff --git a/templates/nvim/lua/keybindings.lua.j2 b/templates/nvim/lua/keybindings.lua.j2 index 653e2dd..731135a 100644 --- a/templates/nvim/lua/keybindings.lua.j2 +++ b/templates/nvim/lua/keybindings.lua.j2 @@ -1,3 +1,5 @@ +-- {{ ansible_managed }} + local opts = {noremap=true, silent=true} vim.api.nvim_set_keymap('n', '', ':NvimTreeToggle', opts) From d6680fd014d1cf29b6125c0394b84b734f08beff Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Wed, 28 Aug 2024 10:37:42 +0200 Subject: [PATCH 080/170] Set nvim-tree keybindings --- templates/nvim/lua/nvim-tree.lua.j2 | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/templates/nvim/lua/nvim-tree.lua.j2 b/templates/nvim/lua/nvim-tree.lua.j2 index 294e5b1..901d5dc 100644 --- a/templates/nvim/lua/nvim-tree.lua.j2 +++ b/templates/nvim/lua/nvim-tree.lua.j2 @@ -1,6 +1,31 @@ +-- {{ ansible_managed }} + local nvim_tree = require('nvim-tree'); +local function my_on_attach(bufnr) + local api = require('nvim-tree.api') + + local function opts(desc) + return { desc = 'nvim-tree: ' .. desc, buffer = bufnr, noremap = true, silent = true, nowait = true } + end + + vim.keymap.set('n', '', api.tree.change_root_to_node, opts('CD')) + vim.keymap.set('n', '', api.tree.toggle_hidden_filter, opts('Toggle Filter: Dotfiles')) + vim.keymap.set('n', '', api.node.open.edit, opts('Open')) + vim.keymap.set('n', 'E', api.tree.expand_all, opts('Expand All')) + vim.keymap.set('n', 'F', api.live_filter.clear, opts('Live Filter: Clear')) + vim.keymap.set('n', 'f', api.live_filter.start, opts('Live Filter: Start')) + vim.keymap.set('n', 'g?', api.tree.toggle_help, opts('Help')) + vim.keymap.set('n', 'I', api.tree.toggle_gitignore_filter, opts('Toggle Filter: Git Ignore')) + vim.keymap.set('n', 'm', api.marks.toggle, opts('Toggle Bookmark')) + vim.keymap.set('n', 'q', api.tree.close, opts('Close')) + vim.keymap.set('n', 'R', api.tree.reload, opts('Refresh')) + vim.keymap.set('n', 'S', api.tree.search_node, opts('Search')) + +end + nvim_tree.setup { + on_attach = my_on_attach, renderer = { icons = { show = { From 613b72cd157951f0a066d873574dbdb108a5b275 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Fri, 30 Aug 2024 17:41:59 +0200 Subject: [PATCH 081/170] Add nvim-tree icons --- templates/nvim/lua/nvim-tree.lua.j2 | 17 +++-------------- vars/main.yml | 3 +++ 2 files changed, 6 insertions(+), 14 deletions(-) diff --git a/templates/nvim/lua/nvim-tree.lua.j2 b/templates/nvim/lua/nvim-tree.lua.j2 index 901d5dc..b29942b 100644 --- a/templates/nvim/lua/nvim-tree.lua.j2 +++ b/templates/nvim/lua/nvim-tree.lua.j2 @@ -1,6 +1,7 @@ -- {{ ansible_managed }} local nvim_tree = require('nvim-tree'); +local nvim_tree_icons = require('nvim-web-devicons'); local function my_on_attach(bufnr) local api = require('nvim-tree.api') @@ -26,18 +27,6 @@ end nvim_tree.setup { on_attach = my_on_attach, - renderer = { - icons = { - show = { - file = false, - folder = false, - modified = false, - hidden = false, - diagnostics = false, - bookmarks = false, - git = false, - folder_arrow = false - } - } - } } + +nvim_tree_icons.setup(); diff --git a/vars/main.yml b/vars/main.yml index c4e3dbf..3d4850d 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -9,6 +9,9 @@ public_dotfiles_repo: 'git@git.fudiggity.nl:sonny/dotfiles.git' neovim_plugins: - { url: 'https://github.com/nvim-tree/nvim-tree.lua', name: 'nvim-tree' } + - { + url: 'https://github.com/nvim-tree/nvim-web-devicons', name: 'nvim-tree-icons' + } - { url: 'https://github.com/neovim/nvim-lspconfig', name: 'nvim-lspconfig' } - { url: 'https://github.com/hrsh7th/nvim-cmp/', name: 'nvim-cmp' } - { url: 'https://github.com/hrsh7th/cmp-nvim-lsp/', name: 'cmp-nvim-lsp' } From 0d855402817649c803b9adc9f7c64e451b142a9f Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Mon, 2 Sep 2024 08:14:11 +0200 Subject: [PATCH 082/170] Add vim-colors-xcode --- vars/main.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/vars/main.yml b/vars/main.yml index 3d4850d..870f831 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -38,6 +38,11 @@ neovim_plugins: name: 'catppuccin', version: '045e3499d9ec8d84635fb08877ae44fd33f6a38d', } + - { + url: 'https://github.com/lunacookies/vim-colors-xcode', + name: 'vim-colors-xcode', + version: '3d1f81ce9550d609ce962f66407759eb581bd725', + } - { url: 'https://github.com/lukas-reineke/indent-blankline.nvim', name: 'indent-blankline.nvim', From 3587460d3765fd329672b5b47cebad8f2a3792c8 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Fri, 20 Sep 2024 20:47:56 +0200 Subject: [PATCH 083/170] Fix gitignore location --- tasks/dotfiles.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tasks/dotfiles.yml b/tasks/dotfiles.yml index 6c9381f..3cf84f3 100644 --- a/tasks/dotfiles.yml +++ b/tasks/dotfiles.yml @@ -15,6 +15,11 @@ update: yes when: dotfile_ssh_clone.failed +- name: create git configuration directory + file: + path: '{{ xdg_config_dir }}/git' + state: directory + - name: setup dotfiles file: path: '{{ item.dest }}' @@ -40,5 +45,5 @@ } - { src: '{{ ansible_env.HOME }}/dotfiles/.gitignore', - dest: '{{ ansible_env.HOME }}/.gitignore', + dest: '{{ xdg_config_dir }}/git/ignore', } From 373dad84489472f54bdb32e4735a1b3409f78e7b Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Fri, 20 Sep 2024 21:20:01 +0200 Subject: [PATCH 084/170] Detect colorscheme from dbus --- tasks/neovim.yml | 4 ++ templates/nvim/init.lua.j2 | 1 + templates/nvim/lua/auto-commands.lua.j2 | 3 - templates/nvim/lua/colorscheme.lua.j2 | 91 +++++++++++++++++++++++++ templates/nvim/lua/options.lua.j2 | 1 - 5 files changed, 96 insertions(+), 4 deletions(-) create mode 100644 templates/nvim/lua/colorscheme.lua.j2 diff --git a/tasks/neovim.yml b/tasks/neovim.yml index af1957c..112916b 100644 --- a/tasks/neovim.yml +++ b/tasks/neovim.yml @@ -152,6 +152,10 @@ src: 'templates/nvim/lua/nvim-tree.lua.j2', dest: '{{ xdg_config_dir }}/nvim/lua/_nvim-tree.lua', } + - { + src: 'templates/nvim/lua/colorscheme.lua.j2', + dest: '{{ xdg_config_dir }}/nvim/lua/colorscheme.lua', + } - block: - name: create neovim install directory diff --git a/templates/nvim/init.lua.j2 b/templates/nvim/init.lua.j2 index d38546b..61dfc38 100644 --- a/templates/nvim/init.lua.j2 +++ b/templates/nvim/init.lua.j2 @@ -11,3 +11,4 @@ require('git-signs') require('_telescope') require('indent-blankline') require('_nvim-tree') +require('colorscheme') diff --git a/templates/nvim/lua/auto-commands.lua.j2 b/templates/nvim/lua/auto-commands.lua.j2 index a16ab8d..bc6ef63 100644 --- a/templates/nvim/lua/auto-commands.lua.j2 +++ b/templates/nvim/lua/auto-commands.lua.j2 @@ -1,8 +1,5 @@ -- {{ ansible_managed }} ---colorscheme -vim.cmd('colorscheme catppuccin-latte') - --enable this option here as the events are used in this buffer vim.cmd('syntax on') diff --git a/templates/nvim/lua/colorscheme.lua.j2 b/templates/nvim/lua/colorscheme.lua.j2 new file mode 100644 index 0000000..f24b052 --- /dev/null +++ b/templates/nvim/lua/colorscheme.lua.j2 @@ -0,0 +1,91 @@ +-- {{ ansible_managed }} + +-- set the colorscheme whenever the background setting changes +vim.api.nvim_create_autocmd({'OptionSet'}, { + pattern = {'background'}, + callback = function() + if vim.o.background == 'dark' then + vim.cmd('colorscheme xcodedark') + else + vim.cmd('colorscheme catppuccin-latte') + end + + -- force a full redraw: + vim.cmd('mode') + end +}) + +--[[ +Use `busctl --user tree` to show a tree of available services. +Use the `Introspect` option to inspect available options: + +dbus-send \ +--session \ +--print-reply ] +--reply-timeout=2000 \ +--type=method_call \ +--dest=org.freedesktop.portal.Desktop \ +/org/freedesktop/portal/desktop \ +org.freedesktop.DBus.Introspectable.Introspect + +--]] +local oneshot = { + 'dbus-send', + '--session', + '--print-reply', + '--reply-timeout=2000', + '--type=method_call', + '--dest=org.freedesktop.portal.Desktop', + '/org/freedesktop/portal/desktop', + 'org.freedesktop.portal.Settings.ReadOne', + 'string:org.freedesktop.appearance', + 'string:color-scheme' +} + +local set_background = vim.schedule_wrap( + function(object) + local default_background = 'light' + + if object.code ~= 0 then + print(string.format('An error occured: \n %s', object.stderr)) + vim.api.nvim_command(string.format('set background=%s', default_background)) + end + + local colorscheme_output = tonumber(string.match(object.stdout, 'uint32 (%d)')) + + if colorscheme_output == 1 then + vim.api.nvim_command('set background=dark') + elseif colorscheme_output == 2 then + vim.api.nvim_command('set background=light') + end + end +) + +vim.schedule( + function() vim.system(oneshot, { text = true }, set_background) end +) + +-- Note that the last argument is a match rule, +-- see https://dbus.freedesktop.org/doc/dbus-specification.html#message-bus-routing-match-rules. +local monitor_command = { + 'dbus-monitor', + '--session', + 'path=/org/freedesktop/portal/desktop,' .. + 'interface=org.freedesktop.portal.Settings,' .. + 'member=SettingChanged,' .. + 'arg0=org.freedesktop.appearance,'.. + 'arg1=color-scheme' +} + +local detect_scheme_change = function(channel_id, data, name) + local line = table.concat(data) + local match_output = tonumber(string.match(line, "uint32 (%d)")) + + if match_output == 1 then + vim.api.nvim_command('set background=dark') + elseif match_output == 2 then + vim.api.nvim_command('set background=light') + end +end + +vim.fn.jobstart(monitor_command, { on_stdout = detect_scheme_change } ) diff --git a/templates/nvim/lua/options.lua.j2 b/templates/nvim/lua/options.lua.j2 index 0c2f806..be4a259 100644 --- a/templates/nvim/lua/options.lua.j2 +++ b/templates/nvim/lua/options.lua.j2 @@ -49,7 +49,6 @@ vim.o.cursorline = true -- theme related vim.o.termguicolors = true -vim.o.background = 'light' -- enable statusbar vim.o.laststatus = 2 From dc1285358e2f56b38b7fc53310e2451257072c33 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Fri, 20 Sep 2024 21:58:24 +0200 Subject: [PATCH 085/170] Only add dbus related calls for arch setups --- templates/nvim/lua/colorscheme.lua.j2 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/templates/nvim/lua/colorscheme.lua.j2 b/templates/nvim/lua/colorscheme.lua.j2 index f24b052..995b0c1 100644 --- a/templates/nvim/lua/colorscheme.lua.j2 +++ b/templates/nvim/lua/colorscheme.lua.j2 @@ -15,6 +15,7 @@ vim.api.nvim_create_autocmd({'OptionSet'}, { end }) +{% if ansible_facts['os_family'] == 'Archlinux' %} --[[ Use `busctl --user tree` to show a tree of available services. Use the `Introspect` option to inspect available options: @@ -89,3 +90,4 @@ local detect_scheme_change = function(channel_id, data, name) end vim.fn.jobstart(monitor_command, { on_stdout = detect_scheme_change } ) +{% endif %} From c2dc0f5c8b3902c2f75100ed0061bec2b1625509 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Fri, 20 Sep 2024 22:01:35 +0200 Subject: [PATCH 086/170] Use correct typescript lsp --- vars/archlinux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vars/archlinux.yml b/vars/archlinux.yml index 6f969d2..188113b 100644 --- a/vars/archlinux.yml +++ b/vars/archlinux.yml @@ -51,7 +51,7 @@ language_servers: } - { package: typescript-language-server, - server_name: 'tsserver', + server_name: 'ts_ls', auto_setup: true } - { From 10469b1d42a960176b3c8955f9773bc4edc21859 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sun, 6 Oct 2024 08:02:27 +0200 Subject: [PATCH 087/170] Update colorscheme --- tasks/neovim.yml | 9 +++++++++ templates/nvim/lua/colorscheme.lua.j2 | 4 ++-- vars/main.yml | 16 +++++----------- 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/tasks/neovim.yml b/tasks/neovim.yml index 112916b..9658816 100644 --- a/tasks/neovim.yml +++ b/tasks/neovim.yml @@ -12,6 +12,14 @@ - '{{ xdg_data_dir }}/nvim/site/pack/default' - '{{ xdg_data_dir }}/nvim/site/pack/default/start' +- name: remove old neovim packages + file: + path: '{{ item }}' + state: absent + loop: + - '{{ xdg_data_dir }}/nvim/site/pack/default/start/catpuccin' + - '{{ xdg_data_dir }}/nvim/site/pack/default/start/vim-colors-xcode' + # Note that helptags may need to be regenerated (see `:h helptags`) - name: clone neovim packages git: @@ -19,6 +27,7 @@ dest: '{{ xdg_data_dir }}/nvim/site/pack/default/start/{{ item.name }}' update: true version: '{{ item.version|default("HEAD") }}' + force: true # some maintainers overwrite existing tags :/ loop: '{{ neovim_plugins }}' - name: install neovim node package diff --git a/templates/nvim/lua/colorscheme.lua.j2 b/templates/nvim/lua/colorscheme.lua.j2 index 995b0c1..f500a86 100644 --- a/templates/nvim/lua/colorscheme.lua.j2 +++ b/templates/nvim/lua/colorscheme.lua.j2 @@ -5,9 +5,9 @@ vim.api.nvim_create_autocmd({'OptionSet'}, { pattern = {'background'}, callback = function() if vim.o.background == 'dark' then - vim.cmd('colorscheme xcodedark') + vim.cmd('colorscheme github_dark_dimmed') else - vim.cmd('colorscheme catppuccin-latte') + vim.cmd('colorscheme github_light') end -- force a full redraw: diff --git a/vars/main.yml b/vars/main.yml index 870f831..f0f99e9 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -33,22 +33,16 @@ neovim_plugins: version: 'v0.9.0', } - { url: 'https://github.com/nvim-lualine/lualine.nvim', name: 'lualine' } - - { - url: 'https://github.com/catppuccin/nvim', - name: 'catppuccin', - version: '045e3499d9ec8d84635fb08877ae44fd33f6a38d', - } - - { - url: 'https://github.com/lunacookies/vim-colors-xcode', - name: 'vim-colors-xcode', - version: '3d1f81ce9550d609ce962f66407759eb581bd725', - } - { url: 'https://github.com/lukas-reineke/indent-blankline.nvim', name: 'indent-blankline.nvim', version: 'v3.7.2', } - + - { + url: 'https://github.com/projekt0n/github-nvim-theme.git', + name: 'github-colors', + version: 'v1.1.2', + } gitlab_domain: 'git.fudiggity.nl' gitlab_host_key: 'git.fudiggity.nl ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINh/SlWqWmH2FG+duiJkkSpq0Fm+wUAmc//4/CbzbX5+' From 4dba4f2bb00c14ce2232ca68aa0615abcb023175 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Thu, 10 Oct 2024 21:39:19 +0200 Subject: [PATCH 088/170] Remove color files & add additional completion sources --- files/nvim/colors/PaperColor.vim | 2231 ----------------- files/nvim/colors/ayu.vim | 268 -- files/nvim/colors/breezy.vim | 87 - files/nvim/colors/solarized8_low.vim | 3004 ----------------------- files/nvim/colors/space_vim_theme.vim | 2402 ------------------ files/nvim/colors/vim-material.vim | 234 -- tasks/neovim.yml | 5 - templates/nvim/lua/auto-commands.lua.j2 | 8 - templates/nvim/lua/lsp.lua.j2 | 50 +- templates/nvim/lua/options.lua.j2 | 2 +- vars/main.yml | 8 +- 11 files changed, 35 insertions(+), 8264 deletions(-) delete mode 100644 files/nvim/colors/PaperColor.vim delete mode 100644 files/nvim/colors/ayu.vim delete mode 100644 files/nvim/colors/breezy.vim delete mode 100644 files/nvim/colors/solarized8_low.vim delete mode 100644 files/nvim/colors/space_vim_theme.vim delete mode 100644 files/nvim/colors/vim-material.vim diff --git a/files/nvim/colors/PaperColor.vim b/files/nvim/colors/PaperColor.vim deleted file mode 100644 index 69b78c3..0000000 --- a/files/nvim/colors/PaperColor.vim +++ /dev/null @@ -1,2231 +0,0 @@ -" Theme: PaperColor -" Author: Nikyle Nguyen -" License: MIT -" Source: http://github.com/NLKNguyen/papercolor-theme - -let s:version = '0.9.x' - -" Note on navigating this source code: -" - Use folding feature to collapse/uncollapse blocks of marked code -" zM to fold all markers in this file to see the structure of the source code -" zR to unfold all recursively -" za to toggle a fold -" See: http://vim.wikia.com/wiki/Folding -" - The main section is at the end where the functions are called in order. - -" Theme Repository: {{{ - -let s:themes = {} - -" }}} - -fun! s:register_default_theme() - " Theme name should be lowercase - let s:themes['default'] = { - \ 'maintainer' : 'Nikyle Nguyen ', - \ 'source' : 'http://github.com/NLKNguyen/papercolor-theme', - \ 'description' : 'The original PaperColor Theme, inspired by Google Material Design', - \ 'options' : { - \ 'allow_bold': 1 - \ } - \ } - - " Theme can have 'light' and/or 'dark' color palette. - " Color values can be HEX and/or 256-color. Use empty string '' if not provided. - " Only color00 -> color15 are required. The rest are optional. - let s:themes['default'].light = { - \ 'NO_CONVERSION': 1, - \ 'TEST_256_COLOR_CONSISTENCY' : 1, - \ 'palette' : { - \ 'color00' : ['#eeeeee', '255'], - \ 'color01' : ['#af0000', '124'], - \ 'color02' : ['#008700', '28'], - \ 'color03' : ['#5f8700', '64'], - \ 'color04' : ['#0087af', '31'], - \ 'color05' : ['#878787', '102'], - \ 'color06' : ['#005f87', '24'], - \ 'color07' : ['#444444', '238'], - \ 'color08' : ['#bcbcbc', '250'], - \ 'color09' : ['#d70000', '160'], - \ 'color10' : ['#d70087', '162'], - \ 'color11' : ['#8700af', '91'], - \ 'color12' : ['#d75f00', '166'], - \ 'color13' : ['#d75f00', '166'], - \ 'color14' : ['#005faf', '25'], - \ 'color15' : ['#005f87', '24'], - \ 'color16' : ['#0087af', '31'], - \ 'color17' : ['#008700', '28'], - \ 'cursor_fg' : ['#eeeeee', '255'], - \ 'cursor_bg' : ['#005f87', '24'], - \ 'cursorline' : ['#e4e4e4', '254'], - \ 'cursorcolumn' : ['#e4e4e4', '254'], - \ 'cursorlinenr_fg' : ['#af5f00', '130'], - \ 'cursorlinenr_bg' : ['#eeeeee', '255'], - \ 'popupmenu_fg' : ['#444444', '238'], - \ 'popupmenu_bg' : ['#d0d0d0', '252'], - \ 'search_fg' : ['#444444', '238'], - \ 'search_bg' : ['#ffff5f', '227'], - \ 'linenumber_fg' : ['#b2b2b2', '249'], - \ 'linenumber_bg' : ['#eeeeee', '255'], - \ 'vertsplit_fg' : ['#005f87', '24'], - \ 'vertsplit_bg' : ['#eeeeee', '255'], - \ 'statusline_active_fg' : ['#e4e4e4', '254'], - \ 'statusline_active_bg' : ['#005f87', '24'], - \ 'statusline_inactive_fg' : ['#444444', '238'], - \ 'statusline_inactive_bg' : ['#d0d0d0', '252'], - \ 'todo_fg' : ['#00af5f', '35'], - \ 'todo_bg' : ['#eeeeee', '255'], - \ 'error_fg' : ['#af0000', '124'], - \ 'error_bg' : ['#ffd7ff', '225'], - \ 'matchparen_bg' : ['#c6c6c6', '251'], - \ 'matchparen_fg' : ['#005f87', '24'], - \ 'visual_fg' : ['#eeeeee', '255'], - \ 'visual_bg' : ['#0087af', '31'], - \ 'folded_fg' : ['#0087af', '31'], - \ 'folded_bg' : ['#afd7ff', '153'], - \ 'wildmenu_fg': ['#444444', '238'], - \ 'wildmenu_bg': ['#ffff00', '226'], - \ 'spellbad': ['#ffafd7', '218'], - \ 'spellcap': ['#ffffaf', '229'], - \ 'spellrare': ['#afff87', '156'], - \ 'spelllocal': ['#d7d7ff', '189'], - \ 'diffadd_fg': ['#008700', '28'], - \ 'diffadd_bg': ['#afffaf', '157'], - \ 'diffdelete_fg': ['#af0000', '124'], - \ 'diffdelete_bg': ['#ffd7ff', '225'], - \ 'difftext_fg': ['#0087af', '31'], - \ 'difftext_bg': ['#ffffd7', '230'], - \ 'diffchange_fg': ['#444444', '238'], - \ 'diffchange_bg': ['#ffd787', '222'], - \ 'tabline_bg': ['#005f87', '24'], - \ 'tabline_active_fg': ['#444444', '238'], - \ 'tabline_active_bg': ['#e4e4e4', '254'], - \ 'tabline_inactive_fg': ['#eeeeee', '255'], - \ 'tabline_inactive_bg': ['#0087af', '31'], - \ 'buftabline_bg': ['#005f87', '24'], - \ 'buftabline_current_fg': ['#444444', '238'], - \ 'buftabline_current_bg': ['#e4e4e4', '254'], - \ 'buftabline_active_fg': ['#eeeeee', '255'], - \ 'buftabline_active_bg': ['#005faf', '25'], - \ 'buftabline_inactive_fg': ['#eeeeee', '255'], - \ 'buftabline_inactive_bg': ['#0087af', '31'] - \ } - \ } - - " TODO: idea for subtheme options - " let s:themes['default'].light.subtheme = { - " \ 'alternative' : { - " \ 'options' : { - " \ 'transparent_background': 1 - " \ }, - " \ 'palette' : { - " \ } - " \ } - " \ } - - let s:themes['default'].dark = { - \ 'NO_CONVERSION': 1, - \ 'TEST_256_COLOR_CONSISTENCY' : 1, - \ 'palette' : { - \ 'color00' : ['#1c1c1c', '234'], - \ 'color01' : ['#af005f', '125'], - \ 'color02' : ['#5faf00', '70'], - \ 'color03' : ['#d7af5f', '179'], - \ 'color04' : ['#5fafd7', '74'], - \ 'color05' : ['#808080', '244'], - \ 'color06' : ['#d7875f', '173'], - \ 'color07' : ['#d0d0d0', '252'], - \ 'color08' : ['#585858', '240'], - \ 'color09' : ['#5faf5f', '71'], - \ 'color10' : ['#afd700', '148'], - \ 'color11' : ['#af87d7', '140'], - \ 'color12' : ['#ffaf00', '214'], - \ 'color13' : ['#ff5faf', '205'], - \ 'color14' : ['#00afaf', '37'], - \ 'color15' : ['#5f8787', '66'], - \ 'color16' : ['#5fafd7', '74'], - \ 'color17' : ['#d7af00', '178'], - \ 'cursor_fg' : ['#1c1c1c', '234'], - \ 'cursor_bg' : ['#c6c6c6', '251'], - \ 'cursorline' : ['#303030', '236'], - \ 'cursorcolumn' : ['#303030', '236'], - \ 'cursorlinenr_fg' : ['#ffff00', '226'], - \ 'cursorlinenr_bg' : ['#1c1c1c', '234'], - \ 'popupmenu_fg' : ['#c6c6c6', '251'], - \ 'popupmenu_bg' : ['#303030', '236'], - \ 'search_fg' : ['#000000', '16'], - \ 'search_bg' : ['#00875f', '29'], - \ 'linenumber_fg' : ['#585858', '240'], - \ 'linenumber_bg' : ['#1c1c1c', '234'], - \ 'vertsplit_fg' : ['#5f8787', '66'], - \ 'vertsplit_bg' : ['#1c1c1c', '234'], - \ 'statusline_active_fg' : ['#1c1c1c', '234'], - \ 'statusline_active_bg' : ['#5f8787', '66'], - \ 'statusline_inactive_fg' : ['#bcbcbc', '250'], - \ 'statusline_inactive_bg' : ['#3a3a3a', '237'], - \ 'todo_fg' : ['#ff8700', '208'], - \ 'todo_bg' : ['#1c1c1c', '234'], - \ 'error_fg' : ['#af005f', '125'], - \ 'error_bg' : ['#5f0000', '52'], - \ 'matchparen_bg' : ['#4e4e4e', '239'], - \ 'matchparen_fg' : ['#c6c6c6', '251'], - \ 'visual_fg' : ['#000000', '16'], - \ 'visual_bg' : ['#8787af', '103'], - \ 'folded_fg' : ['#d787ff', '177'], - \ 'folded_bg' : ['#5f005f', '53'], - \ 'wildmenu_fg': ['#1c1c1c', '234'], - \ 'wildmenu_bg': ['#afd700', '148'], - \ 'spellbad': ['#5f0000', '52'], - \ 'spellcap': ['#5f005f', '53'], - \ 'spellrare': ['#005f00', '22'], - \ 'spelllocal': ['#00005f', '17'], - \ 'diffadd_fg': ['#87d700', '112'], - \ 'diffadd_bg': ['#005f00', '22'], - \ 'diffdelete_fg': ['#af005f', '125'], - \ 'diffdelete_bg': ['#5f0000', '52'], - \ 'difftext_fg': ['#5fffff', '87'], - \ 'difftext_bg': ['#008787', '30'], - \ 'diffchange_fg': ['#d0d0d0', '252'], - \ 'diffchange_bg': ['#005f5f', '23'], - \ 'tabline_bg': ['#262626', '235'], - \ 'tabline_active_fg': ['#121212', '233'], - \ 'tabline_active_bg': ['#00afaf', '37'], - \ 'tabline_inactive_fg': ['#bcbcbc', '250'], - \ 'tabline_inactive_bg': ['#585858', '240'], - \ 'buftabline_bg': ['#262626', '235'], - \ 'buftabline_current_fg': ['#121212', '233'], - \ 'buftabline_current_bg': ['#00afaf', '37'], - \ 'buftabline_active_fg': ['#00afaf', '37'], - \ 'buftabline_active_bg': ['#585858', '240'], - \ 'buftabline_inactive_fg': ['#bcbcbc', '250'], - \ 'buftabline_inactive_bg': ['#585858', '240'] - \ } - \ } -endfun - -" ============================ THEME REGISTER ================================= - -" Acquire Theme Data: {{{ - -" Brief: -" Function to get theme information and store in variables for other -" functions to use -" -" Require: -" s:themes collection of all theme palettes -" -" Require Optionally: -" {g:PaperColor_Theme_[s:theme_name]} user custom theme palette -" g:PaperColor_Theme_Options user options -" -" Expose: -" s:theme_name the name of the selected theme -" s:selected_theme the selected theme object (contains palette, etc.) -" s:selected_variant 'light' or 'dark' -" s:palette the palette of selected theme -" s:options user options -fun! s:acquire_theme_data() - - " Get theme name: {{{ - let s:theme_name = 'default' - - if exists("g:PaperColor_Theme") " Users expressed theme preference - let lowercase_theme_name = tolower(g:PaperColor_Theme) - - if lowercase_theme_name !=? 'default' - let theme_identifier = 'PaperColor_' . lowercase_theme_name - let autoload_function = theme_identifier . '#register' - - call {autoload_function}() - - let theme_variable = 'g:' . theme_identifier - - if exists(theme_variable) - let s:theme_name = lowercase_theme_name - let s:themes[s:theme_name] = {theme_variable} - endif - - endif - - endif - " }}} - - if s:theme_name ==? 'default' - " Either no other theme is specified or they failed to load - " Defer loading default theme until now - call s:register_default_theme() - endif - - let s:selected_theme = s:themes[s:theme_name] - - " Get Theme Variant: either dark or light {{{ - let s:selected_variant = 'dark' - - let s:is_dark=(&background == 'dark') - - if s:is_dark - if has_key(s:selected_theme, 'dark') - let s:selected_variant = 'dark' - else " in case the theme only provides the other variant - let s:selected_variant = 'light' - endif - - else " is light background - if has_key(s:selected_theme, 'light') - let s:selected_variant = 'light' - else " in case the theme only provides the other variant - let s:selected_variant = 'dark' - endif - endif - - let s:palette = s:selected_theme[s:selected_variant].palette - - " Systematic User-Config Options: {{{ - " Example config in .vimrc - " let g:PaperColor_Theme_Options = { - " \ 'theme': { - " \ 'default': { - " \ 'allow_bold': 1, - " \ 'allow_italic': 0, - " \ 'transparent_background': 1 - " \ } - " \ }, - " \ 'language': { - " \ 'python': { - " \ 'highlight_builtins' : 1 - " \ }, - " \ 'c': { - " \ 'highlight_builtins' : 1 - " \ }, - " \ 'cpp': { - " \ 'highlight_standard_library': 1 - " \ } - " \ } - " \ } - " - let s:options = {} - - - if exists("g:PaperColor_Theme_Options") - let s:options = g:PaperColor_Theme_Options - endif - " }}} - - " }}} -endfun - - -" }}} - -" Identify Color Mode: {{{ - -fun! s:identify_color_mode() - let s:MODE_16_COLOR = 0 - let s:MODE_256_COLOR = 1 - let s:MODE_GUI_COLOR = 2 - - if has("gui_running") || has('termguicolors') && &termguicolors || has('nvim') && $NVIM_TUI_ENABLE_TRUE_COLOR - let s:mode = s:MODE_GUI_COLOR - elseif (&t_Co >= 256) - let s:mode = s:MODE_256_COLOR - else - let s:mode = s:MODE_16_COLOR - endif -endfun - -" }}} - -" ============================ OPTION HANDLER ================================= - -" Generate Them Option Variables: {{{ - - -fun! s:generate_theme_option_variables() - " 0. All possible theme option names must be registered here - let l:available_theme_options = [ - \ 'allow_bold', - \ 'allow_italic', - \ 'transparent_background', - \ ] - - " 1. Generate variables and set to default value - for l:option in l:available_theme_options - let s:{'themeOpt_' . l:option} = 0 - endfor - - let s:themeOpt_override = {} " special case, this has to be a dictionary - - " 2. Reassign value to the above variables based on theme settings - - " 2.1 In case the theme has top-level options - if has_key(s:selected_theme, 'options') - let l:theme_options = s:selected_theme['options'] - for l:opt_name in keys(l:theme_options) - let s:{'themeOpt_' . l:opt_name} = l:theme_options[l:opt_name] - " echo 's:themeOpt_' . l:opt_name . ' = ' . s:{'themeOpt_' . l:opt_name} - endfor - endif - - " 2.2 In case the theme has specific variant options - if has_key(s:selected_theme[s:selected_variant], 'options') - let l:theme_options = s:selected_theme[s:selected_variant]['options'] - for l:opt_name in keys(l:theme_options) - let s:{'themeOpt_' . l:opt_name} = l:theme_options[l:opt_name] - " echo 's:themeOpt_' . l:opt_name . ' = ' . s:{'themeOpt_' . l:opt_name} - endfor - endif - - - " 3. Reassign value to the above variables which the user customizes - " Part of user-config options - let s:theme_options = {} - if has_key(s:options, 'theme') - let s:theme_options = s:options['theme'] - endif - - " 3.1 In case user sets for a theme without specifying which variant - if has_key(s:theme_options, s:theme_name) - let l:theme_options = s:theme_options[s:theme_name] - for l:opt_name in keys(l:theme_options) - let s:{'themeOpt_' . l:opt_name} = l:theme_options[l:opt_name] - " echo 's:themeOpt_' . l:opt_name . ' = ' . s:{'themeOpt_' . l:opt_name} - endfor - endif - - - " 3.2 In case user sets for a specific variant of a theme - - " Create the string that the user might have set for this theme variant - " for example, 'default.dark' - let l:specific_theme_variant = s:theme_name . '.' . s:selected_variant - - if has_key(s:theme_options, l:specific_theme_variant) - let l:theme_options = s:theme_options[l:specific_theme_variant] - for l:opt_name in keys(l:theme_options) - let s:{'themeOpt_' . l:opt_name} = l:theme_options[l:opt_name] - " echo 's:themeOpt_' . l:opt_name . ' = ' . s:{'themeOpt_' . l:opt_name} - endfor - endif - -endfun -" }}} - -" Check If Theme Has Hint: {{{ -" -" Brief: -" Function to Check if the selected theme and variant has a hint -" -" Details: -" A hint is a known key that has value 1 -" It is not part of theme design but is used for technical purposes -" -" Example: -" If a theme has hint 'NO_CONVERSION', then we can assume that every -" color value is a complete pair, so we don't have to check. - -fun! s:theme_has_hint(hint) - return has_key(s:selected_theme[s:selected_variant], a:hint) && - \ s:selected_theme[s:selected_variant][a:hint] == 1 -endfun -" }}} - -" Set Overriding Colors: {{{ - -fun! s:set_overriding_colors() - - if s:theme_has_hint('NO_CONVERSION') - " s:convert_colors will not do anything, so we take care of conversion - " for the overriding colors that need to be converted - - if s:mode == s:MODE_GUI_COLOR - " if GUI color is not provided, convert from 256 color that must be available - if !empty(s:themeOpt_override) - call s:load_256_to_GUI_converter() - endif - - for l:color in keys(s:themeOpt_override) - let l:value = s:themeOpt_override[l:color] - if l:value[0] == '' - let l:value[0] = s:to_HEX[l:value[1]] - endif - let s:palette[l:color] = l:value - endfor - - elseif s:mode == s:MODE_256_COLOR - " if 256 color is not provided, convert from GUI color that must be available - if !empty(s:themeOpt_override) - call s:load_GUI_to_256_converter() - endif - - for l:color in keys(s:themeOpt_override) - let l:value = s:themeOpt_override[l:color] - if l:value[1] == '' - let l:value[1] = s:to_256(l:value[0]) - endif - let s:palette[l:color] = l:value - endfor - endif - - else " simply set the colors and let s:convert_colors() take care of conversion - - for l:color in keys(s:themeOpt_override) - let s:palette[l:color] = s:themeOpt_override[l:color] - endfor - endif - -endfun -" }}} - -" Generate Language Option Variables: {{{ - -" Brief: -" Function to generate language option variables so that there is no need to -" look up from the dictionary every time the option value is checked in the -" function s:apply_syntax_highlightings() -" -" Require: -" s:options user options -" -" Require Optionally: -" g:PaperColor_Theme_Options user option config in .vimrc -" -" Expose: -" s:langOpt_[LANGUAGE]__[OPTION] variables for language options -" -" Example: -" g:PaperColor_Theme_Options has something like this: -" 'language': { -" \ 'python': { -" \ 'highlight_builtins': 1 -" \ } -" } -" The following variable will be generated: -" s:langOpt_python__highlight_builtins = 1 - -fun! s:generate_language_option_variables() - " 0. All possible theme option names must be registered here - let l:available_language_options = [ - \ 'c__highlight_builtins', - \ 'cpp__highlight_standard_library', - \ 'python__highlight_builtins' - \ ] - - " 1. Generate variables and set to default value - for l:option in l:available_language_options - let s:{'langOpt_' . l:option} = 0 - endfor - - " Part of user-config options - if has_key(s:options, 'language') - let l:language_options = s:options['language'] - " echo l:language_options - for l:lang in keys(l:language_options) - let l:options = l:language_options[l:lang] - " echo l:lang - " echo l:options - for l:option in keys(l:options) - let s:{'langOpt_' . l:lang . '__' . l:option} = l:options[l:option] - " echo 's:langOpt_' . l:lang . '__' . l:option . ' = ' . l:options[l:option] - endfor - endfor - - endif - -endfun -" }}} - -" =========================== COLOR CONVERTER ================================= - -fun! s:load_GUI_to_256_converter() - " GUI-color To 256-color: {{{ - " Returns an approximate grey index for the given grey level - fun! s:grey_number(x) - if &t_Co == 88 - if a:x < 23 - return 0 - elseif a:x < 69 - return 1 - elseif a:x < 103 - return 2 - elseif a:x < 127 - return 3 - elseif a:x < 150 - return 4 - elseif a:x < 173 - return 5 - elseif a:x < 196 - return 6 - elseif a:x < 219 - return 7 - elseif a:x < 243 - return 8 - else - return 9 - endif - else - if a:x < 14 - return 0 - else - let l:n = (a:x - 8) / 10 - let l:m = (a:x - 8) % 10 - if l:m < 5 - return l:n - else - return l:n + 1 - endif - endif - endif - endfun - - " Returns the actual grey level represented by the grey index - fun! s:grey_level(n) - if &t_Co == 88 - if a:n == 0 - return 0 - elseif a:n == 1 - return 46 - elseif a:n == 2 - return 92 - elseif a:n == 3 - return 115 - elseif a:n == 4 - return 139 - elseif a:n == 5 - return 162 - elseif a:n == 6 - return 185 - elseif a:n == 7 - return 208 - elseif a:n == 8 - return 231 - else - return 255 - endif - else - if a:n == 0 - return 0 - else - return 8 + (a:n * 10) - endif - endif - endfun - - " Returns the palette index for the given grey index - fun! s:grey_colour(n) - if &t_Co == 88 - if a:n == 0 - return 16 - elseif a:n == 9 - return 79 - else - return 79 + a:n - endif - else - if a:n == 0 - return 16 - elseif a:n == 25 - return 231 - else - return 231 + a:n - endif - endif - endfun - - " Returns an approximate colour index for the given colour level - fun! s:rgb_number(x) - if &t_Co == 88 - if a:x < 69 - return 0 - elseif a:x < 172 - return 1 - elseif a:x < 230 - return 2 - else - return 3 - endif - else - if a:x < 75 - return 0 - else - let l:n = (a:x - 55) / 40 - let l:m = (a:x - 55) % 40 - if l:m < 20 - return l:n - else - return l:n + 1 - endif - endif - endif - endfun - - " Returns the actual colour level for the given colour index - fun! s:rgb_level(n) - if &t_Co == 88 - if a:n == 0 - return 0 - elseif a:n == 1 - return 139 - elseif a:n == 2 - return 205 - else - return 255 - endif - else - if a:n == 0 - return 0 - else - return 55 + (a:n * 40) - endif - endif - endfun - - " Returns the palette index for the given R/G/B colour indices - fun! s:rgb_colour(x, y, z) - if &t_Co == 88 - return 16 + (a:x * 16) + (a:y * 4) + a:z - else - return 16 + (a:x * 36) + (a:y * 6) + a:z - endif - endfun - - " Returns the palette index to approximate the given R/G/B colour levels - fun! s:colour(r, g, b) - " Get the closest grey - let l:gx = s:grey_number(a:r) - let l:gy = s:grey_number(a:g) - let l:gz = s:grey_number(a:b) - - " Get the closest colour - let l:x = s:rgb_number(a:r) - let l:y = s:rgb_number(a:g) - let l:z = s:rgb_number(a:b) - - if l:gx == l:gy && l:gy == l:gz - " There are two possibilities - let l:dgr = s:grey_level(l:gx) - a:r - let l:dgg = s:grey_level(l:gy) - a:g - let l:dgb = s:grey_level(l:gz) - a:b - let l:dgrey = (l:dgr * l:dgr) + (l:dgg * l:dgg) + (l:dgb * l:dgb) - let l:dr = s:rgb_level(l:gx) - a:r - let l:dg = s:rgb_level(l:gy) - a:g - let l:db = s:rgb_level(l:gz) - a:b - let l:drgb = (l:dr * l:dr) + (l:dg * l:dg) + (l:db * l:db) - if l:dgrey < l:drgb - " Use the grey - return s:grey_colour(l:gx) - else - " Use the colour - return s:rgb_colour(l:x, l:y, l:z) - endif - else - " Only one possibility - return s:rgb_colour(l:x, l:y, l:z) - endif - endfun - - " Returns the palette index to approximate the '#rrggbb' hex string - fun! s:to_256(rgb) - let l:r = ("0x" . strpart(a:rgb, 1, 2)) + 0 - let l:g = ("0x" . strpart(a:rgb, 3, 2)) + 0 - let l:b = ("0x" . strpart(a:rgb, 5, 2)) + 0 - - return s:colour(l:r, l:g, l:b) - endfun - - - - " }}} -endfun - -fun! s:load_256_to_GUI_converter() -" 256-color To GUI-color: {{{ - -""" Xterm 256 color dictionary -" See: http://www.calmar.ws/vim/256-xterm-24bit-rgb-color-chart.html -" -let s:to_HEX = { - \ '00': '#000000', '01': '#800000', '02': '#008000', '03': '#808000', '04': '#000080', - \ '05': '#800080', '06': '#008080', '07': '#c0c0c0', '08': '#808080', '09': '#ff0000', - \ '10': '#00ff00', '11': '#ffff00', '12': '#0000ff', '13': '#ff00ff', '14': '#00ffff', - \ '15': '#ffffff', '16': '#000000', '17': '#00005f', '18': '#000087', '19': '#0000af', - \ '20': '#0000d7', '21': '#0000ff', '22': '#005f00', '23': '#005f5f', '24': '#005f87', - \ '25': '#005faf', '26': '#005fd7', '27': '#005fff', '28': '#008700', '29': '#00875f', - \ '30': '#008787', '31': '#0087af', '32': '#0087d7', '33': '#0087ff', '34': '#00af00', - \ '35': '#00af5f', '36': '#00af87', '37': '#00afaf', '38': '#00afd7', '39': '#00afff', - \ '40': '#00d700', '41': '#00d75f', '42': '#00d787', '43': '#00d7af', '44': '#00d7d7', - \ '45': '#00d7ff', '46': '#00ff00', '47': '#00ff5f', '48': '#00ff87', '49': '#00ffaf', - \ '50': '#00ffd7', '51': '#00ffff', '52': '#5f0000', '53': '#5f005f', '54': '#5f0087', - \ '55': '#5f00af', '56': '#5f00d7', '57': '#5f00ff', '58': '#5f5f00', '59': '#5f5f5f', - \ '60': '#5f5f87', '61': '#5f5faf', '62': '#5f5fd7', '63': '#5f5fff', '64': '#5f8700', - \ '65': '#5f875f', '66': '#5f8787', '67': '#5f87af', '68': '#5f87d7', '69': '#5f87ff', - \ '70': '#5faf00', '71': '#5faf5f', '72': '#5faf87', '73': '#5fafaf', '74': '#5fafd7', - \ '75': '#5fafff', '76': '#5fd700', '77': '#5fd75f', '78': '#5fd787', '79': '#5fd7af', - \ '80': '#5fd7d7', '81': '#5fd7ff', '82': '#5fff00', '83': '#5fff5f', '84': '#5fff87', - \ '85': '#5fffaf', '86': '#5fffd7', '87': '#5fffff', '88': '#870000', '89': '#87005f', - \ '90': '#870087', '91': '#8700af', '92': '#8700d7', '93': '#8700ff', '94': '#875f00', - \ '95': '#875f5f', '96': '#875f87', '97': '#875faf', '98': '#875fd7', '99': '#875fff', - \ '100': '#878700', '101': '#87875f', '102': '#878787', '103': '#8787af', '104': '#8787d7', - \ '105': '#8787ff', '106': '#87af00', '107': '#87af5f', '108': '#87af87', '109': '#87afaf', - \ '110': '#87afd7', '111': '#87afff', '112': '#87d700', '113': '#87d75f', '114': '#87d787', - \ '115': '#87d7af', '116': '#87d7d7', '117': '#87d7ff', '118': '#87ff00', '119': '#87ff5f', - \ '120': '#87ff87', '121': '#87ffaf', '122': '#87ffd7', '123': '#87ffff', '124': '#af0000', - \ '125': '#af005f', '126': '#af0087', '127': '#af00af', '128': '#af00d7', '129': '#af00ff', - \ '130': '#af5f00', '131': '#af5f5f', '132': '#af5f87', '133': '#af5faf', '134': '#af5fd7', - \ '135': '#af5fff', '136': '#af8700', '137': '#af875f', '138': '#af8787', '139': '#af87af', - \ '140': '#af87d7', '141': '#af87ff', '142': '#afaf00', '143': '#afaf5f', '144': '#afaf87', - \ '145': '#afafaf', '146': '#afafd7', '147': '#afafff', '148': '#afd700', '149': '#afd75f', - \ '150': '#afd787', '151': '#afd7af', '152': '#afd7d7', '153': '#afd7ff', '154': '#afff00', - \ '155': '#afff5f', '156': '#afff87', '157': '#afffaf', '158': '#afffd7', '159': '#afffff', - \ '160': '#d70000', '161': '#d7005f', '162': '#d70087', '163': '#d700af', '164': '#d700d7', - \ '165': '#d700ff', '166': '#d75f00', '167': '#d75f5f', '168': '#d75f87', '169': '#d75faf', - \ '170': '#d75fd7', '171': '#d75fff', '172': '#d78700', '173': '#d7875f', '174': '#d78787', - \ '175': '#d787af', '176': '#d787d7', '177': '#d787ff', '178': '#d7af00', '179': '#d7af5f', - \ '180': '#d7af87', '181': '#d7afaf', '182': '#d7afd7', '183': '#d7afff', '184': '#d7d700', - \ '185': '#d7d75f', '186': '#d7d787', '187': '#d7d7af', '188': '#d7d7d7', '189': '#d7d7ff', - \ '190': '#d7ff00', '191': '#d7ff5f', '192': '#d7ff87', '193': '#d7ffaf', '194': '#d7ffd7', - \ '195': '#d7ffff', '196': '#ff0000', '197': '#ff005f', '198': '#ff0087', '199': '#ff00af', - \ '200': '#ff00d7', '201': '#ff00ff', '202': '#ff5f00', '203': '#ff5f5f', '204': '#ff5f87', - \ '205': '#ff5faf', '206': '#ff5fd7', '207': '#ff5fff', '208': '#ff8700', '209': '#ff875f', - \ '210': '#ff8787', '211': '#ff87af', '212': '#ff87d7', '213': '#ff87ff', '214': '#ffaf00', - \ '215': '#ffaf5f', '216': '#ffaf87', '217': '#ffafaf', '218': '#ffafd7', '219': '#ffafff', - \ '220': '#ffd700', '221': '#ffd75f', '222': '#ffd787', '223': '#ffd7af', '224': '#ffd7d7', - \ '225': '#ffd7ff', '226': '#ffff00', '227': '#ffff5f', '228': '#ffff87', '229': '#ffffaf', - \ '230': '#ffffd7', '231': '#ffffff', '232': '#080808', '233': '#121212', '234': '#1c1c1c', - \ '235': '#262626', '236': '#303030', '237': '#3a3a3a', '238': '#444444', '239': '#4e4e4e', - \ '240': '#585858', '241': '#626262', '242': '#6c6c6c', '243': '#767676', '244': '#808080', - \ '245': '#8a8a8a', '246': '#949494', '247': '#9e9e9e', '248': '#a8a8a8', '249': '#b2b2b2', - \ '250': '#bcbcbc', '251': '#c6c6c6', '252': '#d0d0d0', '253': '#dadada', '254': '#e4e4e4', - \ '255': '#eeeeee' } - -" }}} -endfun - -" ========================== ENVIRONMENT ADAPTER ============================== - -" Set Format Attributes: {{{ - -fun! s:set_format_attributes() - " These are the default - if s:mode == s:MODE_GUI_COLOR - let s:ft_bold = " cterm=bold gui=bold " - let s:ft_none = " cterm=none gui=none " - let s:ft_reverse = " cterm=reverse gui=reverse " - let s:ft_italic = " cterm=italic gui=italic " - let s:ft_italic_bold = " cterm=italic,bold gui=italic,bold " - elseif s:mode == s:MODE_256_COLOR - let s:ft_bold = " cterm=bold " - let s:ft_none = " cterm=none " - let s:ft_reverse = " cterm=reverse " - let s:ft_italic = " cterm=italic " - let s:ft_italic_bold = " cterm=italic,bold " - else - let s:ft_bold = "" - let s:ft_none = " cterm=none " - let s:ft_reverse = " cterm=reverse " - let s:ft_italic = "" - let s:ft_italic_bold = "" - endif - - " Unless instructed otherwise either by theme setting or user overriding - - if s:themeOpt_allow_bold == 0 - let s:ft_bold = "" - endif - if s:themeOpt_allow_italic == 0 - let s:ft_italic = "" - let s:ft_italic_bold = s:ft_bold - endif - -endfun - -" }}} - -" Convert Colors If Needed: {{{ -fun! s:convert_colors() - if s:theme_has_hint('NO_CONVERSION') - return - endif - - if s:mode == s:MODE_GUI_COLOR - " if GUI color is not provided, convert from 256 color that must be available - call s:load_256_to_GUI_converter() - - for l:color in keys(s:palette) - let l:value = s:palette[l:color] - if l:value[0] == '' - let l:value[0] = s:to_HEX[l:value[1]] - endif - let s:palette[l:color] = l:value - endfor - - elseif s:mode == s:MODE_256_COLOR - " if 256 color is not provided, convert from GUI color that must be available - call s:load_GUI_to_256_converter() - - for l:color in keys(s:palette) - let l:value = s:palette[l:color] - if l:value[1] == '' - let l:value[1] = s:to_256(l:value[0]) - endif - let s:palette[l:color] = l:value - endfor - endif - " otherwise use the terminal colors and none of the theme colors are used -endfun - -" }}} - -" ============================ COLOR POPULARIZER =============================== - -" Set Color Variables: {{{ -fun! s:set_color_variables() - - " Helper: {{{ - " ------- - " Function to dynamically generate variables that store the color strings - " for setting highlighting. Each color name will have 2 variables with prefix - " s:fg_ and s:bg_. For example: - " if a:color_name is 'Normal' and a:color_value is ['#000000', '0', 'Black'], - " the following 2 variables will be created: - " s:fg_Normal that stores the string ' guifg=#000000 ' - " s:bg_Normal that stores the string ' guibg=#000000 ' - " Depending on the color mode, ctermfg and ctermbg will be either 0 or Black - " - " Rationale: - " The whole purpose is for speed. We generate these ahead of time so that we - " don't have to do look up or do any if-branch when we set the highlightings. - " - " Furthermore, multiple function definitions for each mode actually reduces - " the need for multiple if-branches inside a single function. This is not - " pretty, but Vim Script is slow, so reducing if-branches in function that is - " often called helps speeding things up quite a bit. Think of this like macro. - " - " If you are familiar with the old code base (v0.9 and ealier), this way of - " generate variables dramatically reduces the loading speed. - " None of previous optimization tricks gets anywhere near this. - if s:mode == s:MODE_GUI_COLOR - fun! s:create_color_variables(color_name, rich_color, term_color) - let {'s:fg_' . a:color_name} = ' guifg=' . a:rich_color[0] . ' ' - let {'s:bg_' . a:color_name} = ' guibg=' . a:rich_color[0] . ' ' - endfun - elseif s:mode == s:MODE_256_COLOR - fun! s:create_color_variables(color_name, rich_color, term_color) - let {'s:fg_' . a:color_name} = ' ctermfg=' . a:rich_color[1] . ' ' - let {'s:bg_' . a:color_name} = ' ctermbg=' . a:rich_color[1] . ' ' - endfun - else - fun! s:create_color_variables(color_name, rich_color, term_color) - let {'s:fg_' . a:color_name} = ' ctermfg=' . a:term_color . ' ' - let {'s:bg_' . a:color_name} = ' ctermbg=' . a:term_color . ' ' - endfun - endif - " }}} - - " Color value format: Array [, <256-Base>, <16-Base>] - " 16-Base is terminal's native color palette that can be alternated through - " the terminal settings. The 16-color names are according to `:h cterm-colors` - - " BASIC COLORS: - " color00-15 are required by all themes. - " These are also how the terminal color palette for the target theme should be. - " See README for theme design guideline - " - " An example format of the below variable's value: ['#262626', '234', 'Black'] - " Where the 1st value is HEX color for GUI Vim, 2nd value is for 256-color terminal, - " and the color name on the right is for 16-color terminal (the actual terminal colors - " can be different from what the color names suggest). See :h cterm-colors - " - " Depending on the provided color palette and current Vim, the 1st and 2nd - " parameter might not exist, for example, on 16-color terminal, the variables below - " only store the color names to use the terminal color palette which is the only - " thing available therefore no need for GUI-color or 256-color. - - let color00 = get(s:palette, 'color00') - let color01 = get(s:palette, 'color01') - let color02 = get(s:palette, 'color02') - let color03 = get(s:palette, 'color03') - let color04 = get(s:palette, 'color04') - let color05 = get(s:palette, 'color05') - let color06 = get(s:palette, 'color06') - let color07 = get(s:palette, 'color07') - let color08 = get(s:palette, 'color08') - let color09 = get(s:palette, 'color09') - let color10 = get(s:palette, 'color10') - let color11 = get(s:palette, 'color11') - let color12 = get(s:palette, 'color12') - let color13 = get(s:palette, 'color13') - let color14 = get(s:palette, 'color14') - let color15 = get(s:palette, 'color15') - - call s:create_color_variables('background', color00 , 'Black') - call s:create_color_variables('negative', color01 , 'DarkRed') - call s:create_color_variables('positive', color02 , 'DarkGreen') - call s:create_color_variables('olive', color03 , 'DarkYellow') " string - call s:create_color_variables('neutral', color04 , 'DarkBlue') - call s:create_color_variables('comment', color05 , 'DarkMagenta') - call s:create_color_variables('navy', color06 , 'DarkCyan') " storageclass - call s:create_color_variables('foreground', color07 , 'LightGray') - - call s:create_color_variables('nontext', color08 , 'DarkGray') - call s:create_color_variables('red', color09 , 'LightRed') " import / try/catch - call s:create_color_variables('pink', color10 , 'LightGreen') " statement, type - call s:create_color_variables('purple', color11 , 'LightYellow') " if / conditional - call s:create_color_variables('accent', color12 , 'LightBlue') - call s:create_color_variables('orange', color13 , 'LightMagenta') " number - call s:create_color_variables('blue', color14 , 'LightCyan') " other keyword - call s:create_color_variables('highlight', color15 , 'White') - - " Note: special case for FoldColumn group. I want to get rid of this case. - call s:create_color_variables('transparent', [color00[0], 'none'], 'none') - - " EXTENDED COLORS: - " From here on, all colors are optional and must have default values (3rd parameter of the - " `get` command) that point to the above basic colors in case the target theme doesn't - " provide the extended colors. The default values should be reasonably sensible. - " The terminal color must be provided also. - - call s:create_color_variables('aqua', get(s:palette, 'color16', color14) , 'LightCyan') - call s:create_color_variables('green', get(s:palette, 'color17', color13) , 'LightMagenta') - call s:create_color_variables('wine', get(s:palette, 'color18', color11) , 'LightYellow') - - " LineNumber: when set number - call s:create_color_variables('linenumber_fg', get(s:palette, 'linenumber_fg', color08) , 'DarkGray') - call s:create_color_variables('linenumber_bg', get(s:palette, 'linenumber_bg', color00) , 'Black') - - " Vertical Split: when there are more than 1 window side by side, ex: - call s:create_color_variables('vertsplit_fg', get(s:palette, 'vertsplit_fg', color15) , 'White') - call s:create_color_variables('vertsplit_bg', get(s:palette, 'vertsplit_bg', color00) , 'Black') - - " Statusline: when set status=2 - call s:create_color_variables('statusline_active_fg', get(s:palette, 'statusline_active_fg', color00) , 'Black') - call s:create_color_variables('statusline_active_bg', get(s:palette, 'statusline_active_bg', color15) , 'White') - call s:create_color_variables('statusline_inactive_fg', get(s:palette, 'statusline_inactive_fg', color07) , 'LightGray') - call s:create_color_variables('statusline_inactive_bg', get(s:palette, 'statusline_inactive_bg', color08) , 'DarkGray') - - - " Cursor: in normal mode - call s:create_color_variables('cursor_fg', get(s:palette, 'cursor_fg', color00) , 'Black') - call s:create_color_variables('cursor_bg', get(s:palette, 'cursor_bg', color07) , 'LightGray') - - call s:create_color_variables('cursorline', get(s:palette, 'cursorline', color00) , 'Black') - - " CursorColumn: when set cursorcolumn - call s:create_color_variables('cursorcolumn', get(s:palette, 'cursorcolumn', color00) , 'Black') - - " CursorLine Number: when set cursorline number - call s:create_color_variables('cursorlinenr_fg', get(s:palette, 'cursorlinenr_fg', color13) , 'LightMagenta') - call s:create_color_variables('cursorlinenr_bg', get(s:palette, 'cursorlinenr_bg', color00) , 'Black') - - " Popup Menu: when for autocomplete - call s:create_color_variables('popupmenu_fg', get(s:palette, 'popupmenu_fg', color07) , 'LightGray') - call s:create_color_variables('popupmenu_bg', get(s:palette, 'popupmenu_bg', color08) , 'DarkGray') " TODO: double check this, might resolve an issue - - " Search: ex: when * on a word - call s:create_color_variables('search_fg', get(s:palette, 'search_fg', color00) , 'Black') - call s:create_color_variables('search_bg', get(s:palette, 'search_bg', color15) , 'Yellow') - - " Todo: ex: TODO - call s:create_color_variables('todo_fg', get(s:palette, 'todo_fg', color05) , 'LightYellow') - call s:create_color_variables('todo_bg', get(s:palette, 'todo_bg', color00) , 'Black') - - " Error: ex: turn spell on and have invalid words - call s:create_color_variables('error_fg', get(s:palette, 'error_fg', color01) , 'DarkRed') - call s:create_color_variables('error_bg', get(s:palette, 'error_bg', color00) , 'Black') - - " Match Parenthesis: selecting an opening/closing pair and the other one will be highlighted - call s:create_color_variables('matchparen_fg', get(s:palette, 'matchparen_fg', color00) , 'LightMagenta') - call s:create_color_variables('matchparen_bg', get(s:palette, 'matchparen_bg', color05) , 'Black') - - " Visual: - call s:create_color_variables('visual_fg', get(s:palette, 'visual_fg', color08) , 'Black') - call s:create_color_variables('visual_bg', get(s:palette, 'visual_bg', color07) , 'White') - - " Folded: - call s:create_color_variables('folded_fg', get(s:palette, 'folded_fg', color00) , 'Black') - call s:create_color_variables('folded_bg', get(s:palette, 'folded_bg', color05) , 'DarkYellow') - - " WildMenu: Autocomplete command, ex: :color - call s:create_color_variables('wildmenu_fg', get(s:palette, 'wildmenu_fg', color00) , 'Black') - call s:create_color_variables('wildmenu_bg', get(s:palette, 'wildmenu_bg', color06) , 'LightGray') - - " Spelling: when spell on and there are spelling problems like this for example: papercolor. a vim color scheme - call s:create_color_variables('spellbad', get(s:palette, 'spellbad', color04) , 'DarkRed') - call s:create_color_variables('spellcap', get(s:palette, 'spellcap', color05) , 'DarkMagenta') - call s:create_color_variables('spellrare', get(s:palette, 'spellrare', color06) , 'DarkYellow') - call s:create_color_variables('spelllocal', get(s:palette, 'spelllocal', color01) , 'DarkBlue') - - " Diff: - call s:create_color_variables('diffadd_fg', get(s:palette, 'diffadd_fg', color00) , 'Black') - call s:create_color_variables('diffadd_bg', get(s:palette, 'diffadd_bg', color02) , 'DarkGreen') - - call s:create_color_variables('diffdelete_fg', get(s:palette, 'diffdelete_fg', color00) , 'Black') - call s:create_color_variables('diffdelete_bg', get(s:palette, 'diffdelete_bg', color04) , 'DarkRed') - - call s:create_color_variables('difftext_fg', get(s:palette, 'difftext_fg', color00) , 'Black') - call s:create_color_variables('difftext_bg', get(s:palette, 'difftext_bg', color06) , 'DarkYellow') - - call s:create_color_variables('diffchange_fg', get(s:palette, 'diffchange_fg', color00) , 'Black') - call s:create_color_variables('diffchange_bg', get(s:palette, 'diffchange_bg', color14) , 'LightYellow') - - " Tabline: when having tabs, ex: :tabnew - call s:create_color_variables('tabline_bg', get(s:palette, 'tabline_bg', color00) , 'Black') - call s:create_color_variables('tabline_active_fg', get(s:palette, 'tabline_active_fg', color07) , 'LightGray') - call s:create_color_variables('tabline_active_bg', get(s:palette, 'tabline_active_bg', color00) , 'Black') - call s:create_color_variables('tabline_inactive_fg', get(s:palette, 'tabline_inactive_fg', color07) , 'Black') - call s:create_color_variables('tabline_inactive_bg', get(s:palette, 'tabline_inactive_bg', color08) , 'DarkMagenta') - - " Plugin: BufTabLine https://github.com/ap/vim-buftabline - call s:create_color_variables('buftabline_bg', get(s:palette, 'buftabline_bg', color00) , 'Black') - call s:create_color_variables('buftabline_current_fg', get(s:palette, 'buftabline_current_fg', color07) , 'LightGray') - call s:create_color_variables('buftabline_current_bg', get(s:palette, 'buftabline_current_bg', color05) , 'DarkMagenta') - call s:create_color_variables('buftabline_active_fg', get(s:palette, 'buftabline_active_fg', color07) , 'LightGray') - call s:create_color_variables('buftabline_active_bg', get(s:palette, 'buftabline_active_bg', color12) , 'LightBlue') - call s:create_color_variables('buftabline_inactive_fg', get(s:palette, 'buftabline_inactive_fg', color07) , 'LightGray') - call s:create_color_variables('buftabline_inactive_bg', get(s:palette, 'buftabline_inactive_bg', color00) , 'Black') - - " Neovim terminal colors https://neovim.io/doc/user/nvim_terminal_emulator.html#nvim-terminal-emulator-configuration - " TODO: Fix this - let g:terminal_color_0 = color00[0] - let g:terminal_color_1 = color01[0] - let g:terminal_color_2 = color02[0] - let g:terminal_color_3 = color03[0] - let g:terminal_color_4 = color04[0] - let g:terminal_color_5 = color05[0] - let g:terminal_color_6 = color06[0] - let g:terminal_color_7 = color07[0] - let g:terminal_color_8 = color08[0] - let g:terminal_color_9 = color09[0] - let g:terminal_color_10 = color10[0] - let g:terminal_color_11 = color11[0] - let g:terminal_color_12 = color12[0] - let g:terminal_color_13 = color13[0] - let g:terminal_color_14 = color14[0] - let g:terminal_color_15 = color15[0] - -endfun -" }}} - -" Apply Syntax Highlightings: {{{ - -fun! s:apply_syntax_highlightings() - - if s:themeOpt_transparent_background - exec 'hi Normal' . s:fg_foreground - " Switching between dark & light variant through `set background` - " NOTE: Handle background switching right after `Normal` group because of - " God-know-why reason. Not doing this way had caused issue before - if s:is_dark " DARK VARIANT - set background=dark - else " LIGHT VARIANT - set background=light - endif - - exec 'hi NonText' . s:fg_nontext - exec 'hi LineNr' . s:fg_linenumber_fg - exec 'hi Conceal' . s:fg_linenumber_fg - exec 'hi VertSplit' . s:fg_vertsplit_fg . s:ft_none - exec 'hi FoldColumn' . s:fg_folded_fg . s:bg_transparent . s:ft_none - else - exec 'hi Normal' . s:fg_foreground . s:bg_background - " Switching between dark & light variant through `set background` - if s:is_dark " DARK VARIANT - set background=dark - exec 'hi EndOfBuffer' . s:fg_cursor_fg . s:ft_none - else " LIGHT VARIANT - set background=light - endif - - exec 'hi NonText' . s:fg_nontext . s:bg_background - exec 'hi LineNr' . s:fg_linenumber_fg . s:bg_linenumber_bg - exec 'hi Conceal' . s:fg_linenumber_fg . s:bg_linenumber_bg - exec 'hi VertSplit' . s:fg_vertsplit_bg . s:bg_vertsplit_fg - exec 'hi FoldColumn' . s:fg_folded_fg . s:bg_background . s:ft_none - endif - - exec 'hi Cursor' . s:fg_cursor_fg . s:bg_cursor_bg - exec 'hi SpecialKey' . s:fg_nontext - exec 'hi Search' . s:fg_search_fg . s:bg_search_bg - exec 'hi StatusLine' . s:fg_statusline_active_bg . s:bg_statusline_active_fg - exec 'hi StatusLineNC' . s:fg_statusline_inactive_bg . s:bg_statusline_inactive_fg - exec 'hi StatusLineTerm' . s:fg_statusline_active_bg . s:bg_statusline_active_fg - exec 'hi StatusLineTermNC' . s:fg_statusline_inactive_bg . s:bg_statusline_inactive_fg - exec 'hi Visual' . s:fg_visual_fg . s:bg_visual_bg - exec 'hi Directory' . s:fg_blue - exec 'hi ModeMsg' . s:fg_olive - exec 'hi MoreMsg' . s:fg_olive - exec 'hi Question' . s:fg_olive - exec 'hi WarningMsg' . s:fg_pink - exec 'hi MatchParen' . s:fg_matchparen_fg . s:bg_matchparen_bg - exec 'hi Folded' . s:fg_folded_fg . s:bg_folded_bg - exec 'hi WildMenu' . s:fg_wildmenu_fg . s:bg_wildmenu_bg . s:ft_bold - - if version >= 700 - exec 'hi CursorLine' . s:bg_cursorline . s:ft_none - if s:mode == s:MODE_16_COLOR - exec 'hi CursorLineNr' . s:fg_cursorlinenr_fg . s:bg_cursorlinenr_bg - else - exec 'hi CursorLineNr' . s:fg_cursorlinenr_fg . s:bg_cursorlinenr_bg . s:ft_none - endif - exec 'hi CursorColumn' . s:bg_cursorcolumn . s:ft_none - exec 'hi PMenu' . s:fg_popupmenu_fg . s:bg_popupmenu_bg . s:ft_none - exec 'hi PMenuSel' . s:fg_popupmenu_fg . s:bg_popupmenu_bg . s:ft_reverse - if s:themeOpt_transparent_background - exec 'hi SignColumn' . s:fg_green . s:ft_none - else - exec 'hi SignColumn' . s:fg_green . s:bg_background . s:ft_none - endif - end - if version >= 703 - exec 'hi ColorColumn' . s:bg_cursorcolumn . s:ft_none - end - - exec 'hi TabLine' . s:fg_tabline_inactive_fg . s:bg_tabline_inactive_bg . s:ft_none - exec 'hi TabLineFill' . s:fg_tabline_bg . s:bg_tabline_bg . s:ft_none - exec 'hi TabLineSel' . s:fg_tabline_active_fg . s:bg_tabline_active_bg . s:ft_none - - exec 'hi BufTabLineCurrent' . s:fg_buftabline_current_fg . s:bg_buftabline_current_bg . s:ft_none - exec 'hi BufTabLineActive' . s:fg_buftabline_active_fg . s:bg_buftabline_active_bg . s:ft_none - exec 'hi BufTabLineHidden' . s:fg_buftabline_inactive_fg . s:bg_buftabline_inactive_bg . s:ft_none - exec 'hi BufTabLineFill' . s:bg_buftabline_bg . s:ft_none - - " Standard Group Highlighting: - exec 'hi Comment' . s:fg_comment . s:ft_italic - - exec 'hi Constant' . s:fg_orange - exec 'hi String' . s:fg_olive - exec 'hi Character' . s:fg_olive - exec 'hi Number' . s:fg_orange - exec 'hi Boolean' . s:fg_green . s:ft_bold - exec 'hi Float' . s:fg_orange - - exec 'hi Identifier' . s:fg_navy - exec 'hi Function' . s:fg_foreground - - exec 'hi Statement' . s:fg_pink . s:ft_none - exec 'hi Conditional' . s:fg_purple . s:ft_bold - exec 'hi Repeat' . s:fg_purple . s:ft_bold - exec 'hi Label' . s:fg_blue - exec 'hi Operator' . s:fg_aqua . s:ft_none - exec 'hi Keyword' . s:fg_blue - exec 'hi Exception' . s:fg_red - - exec 'hi PreProc' . s:fg_blue - exec 'hi Include' . s:fg_red - exec 'hi Define' . s:fg_blue - exec 'hi Macro' . s:fg_blue - exec 'hi PreCondit' . s:fg_aqua - - exec 'hi Type' . s:fg_pink . s:ft_bold - exec 'hi StorageClass' . s:fg_navy . s:ft_bold - exec 'hi Structure' . s:fg_blue . s:ft_bold - exec 'hi Typedef' . s:fg_pink . s:ft_bold - - exec 'hi Special' . s:fg_foreground - exec 'hi SpecialChar' . s:fg_foreground - exec 'hi Tag' . s:fg_green - exec 'hi Delimiter' . s:fg_aqua - exec 'hi SpecialComment' . s:fg_comment . s:ft_bold - exec 'hi Debug' . s:fg_orange - - exec 'hi Error' . s:fg_error_fg . s:bg_error_bg - exec 'hi Todo' . s:fg_todo_fg . s:bg_todo_bg . s:ft_bold - - exec 'hi Title' . s:fg_comment - exec 'hi Global' . s:fg_blue - - - " Extension {{{ - " VimL Highlighting - exec 'hi vimCommand' . s:fg_pink - exec 'hi vimVar' . s:fg_navy - exec 'hi vimFuncKey' . s:fg_pink - exec 'hi vimFunction' . s:fg_blue . s:ft_bold - exec 'hi vimNotFunc' . s:fg_pink - exec 'hi vimMap' . s:fg_red - exec 'hi vimAutoEvent' . s:fg_aqua . s:ft_bold - exec 'hi vimMapModKey' . s:fg_aqua - exec 'hi vimFuncName' . s:fg_purple - exec 'hi vimIsCommand' . s:fg_foreground - exec 'hi vimFuncVar' . s:fg_aqua - exec 'hi vimLet' . s:fg_red - exec 'hi vimContinue' . s:fg_aqua - exec 'hi vimMapRhsExtend' . s:fg_foreground - exec 'hi vimCommentTitle' . s:fg_comment . s:ft_italic_bold - exec 'hi vimBracket' . s:fg_aqua - exec 'hi vimParenSep' . s:fg_aqua - exec 'hi vimNotation' . s:fg_aqua - exec 'hi vimOper' . s:fg_foreground - exec 'hi vimOperParen' . s:fg_foreground - exec 'hi vimSynType' . s:fg_purple - exec 'hi vimSynReg' . s:fg_pink . s:ft_none - exec 'hi vimSynRegion' . s:fg_foreground - exec 'hi vimSynMtchGrp' . s:fg_pink - exec 'hi vimSynNextgroup' . s:fg_pink - exec 'hi vimSynKeyRegion' . s:fg_green - exec 'hi vimSynRegOpt' . s:fg_blue - exec 'hi vimSynMtchOpt' . s:fg_blue - exec 'hi vimSynContains' . s:fg_pink - exec 'hi vimGroupName' . s:fg_foreground - exec 'hi vimGroupList' . s:fg_foreground - exec 'hi vimHiGroup' . s:fg_foreground - exec 'hi vimGroup' . s:fg_navy . s:ft_bold - exec 'hi vimOnlyOption' . s:fg_blue - - " Makefile Highlighting - exec 'hi makeIdent' . s:fg_blue - exec 'hi makeSpecTarget' . s:fg_olive - exec 'hi makeTarget' . s:fg_red - exec 'hi makeStatement' . s:fg_aqua . s:ft_bold - exec 'hi makeCommands' . s:fg_foreground - exec 'hi makeSpecial' . s:fg_orange . s:ft_bold - - " CMake Highlighting (Builtin) - exec 'hi cmakeStatement' . s:fg_blue - exec 'hi cmakeArguments' . s:fg_foreground - exec 'hi cmakeVariableValue' . s:fg_pink - - " CMake Highlighting (Plugin: https://github.com/pboettch/vim-cmake-syntax) - exec 'hi cmakeCommand' . s:fg_blue - exec 'hi cmakeCommandConditional' . s:fg_purple . s:ft_bold - exec 'hi cmakeKWset' . s:fg_orange - exec 'hi cmakeKWvariable_watch' . s:fg_orange - exec 'hi cmakeKWif' . s:fg_orange - exec 'hi cmakeArguments' . s:fg_foreground - exec 'hi cmakeKWproject' . s:fg_pink - exec 'hi cmakeGeneratorExpressions' . s:fg_orange - exec 'hi cmakeGeneratorExpression' . s:fg_aqua - exec 'hi cmakeVariable' . s:fg_pink - exec 'hi cmakeProperty' . s:fg_aqua - exec 'hi cmakeKWforeach' . s:fg_aqua - exec 'hi cmakeKWunset' . s:fg_aqua - exec 'hi cmakeKWmacro' . s:fg_aqua - exec 'hi cmakeKWget_property' . s:fg_aqua - exec 'hi cmakeKWset_tests_properties' . s:fg_aqua - exec 'hi cmakeKWmessage' . s:fg_aqua - exec 'hi cmakeKWinstall_targets' . s:fg_orange - exec 'hi cmakeKWsource_group' . s:fg_orange - exec 'hi cmakeKWfind_package' . s:fg_aqua - exec 'hi cmakeKWstring' . s:fg_olive - exec 'hi cmakeKWinstall' . s:fg_aqua - exec 'hi cmakeKWtarget_sources' . s:fg_orange - - " C Highlighting - exec 'hi cType' . s:fg_pink . s:ft_bold - exec 'hi cFormat' . s:fg_olive - exec 'hi cStorageClass' . s:fg_navy . s:ft_bold - - exec 'hi cBoolean' . s:fg_green . s:ft_bold - exec 'hi cCharacter' . s:fg_olive - exec 'hi cConstant' . s:fg_green . s:ft_bold - exec 'hi cConditional' . s:fg_purple . s:ft_bold - exec 'hi cSpecial' . s:fg_olive . s:ft_bold - exec 'hi cDefine' . s:fg_blue - exec 'hi cNumber' . s:fg_orange - exec 'hi cPreCondit' . s:fg_aqua - exec 'hi cRepeat' . s:fg_purple . s:ft_bold - exec 'hi cLabel' . s:fg_aqua - " exec 'hi cAnsiFunction' . s:fg_aqua . s:ft_bold - " exec 'hi cAnsiName' . s:fg_pink - exec 'hi cDelimiter' . s:fg_blue - " exec 'hi cBraces' . s:fg_foreground - " exec 'hi cIdentifier' . s:fg_blue . s:bg_pink - " exec 'hi cSemiColon' . s:bg_blue - exec 'hi cOperator' . s:fg_aqua - " exec 'hi cStatement' . s:fg_pink - " exec 'hi cTodo' . s:fg_comment . s:ft_bold - " exec 'hi cStructure' . s:fg_blue . s:ft_bold - exec 'hi cCustomParen' . s:fg_foreground - " exec 'hi cCustomFunc' . s:fg_foreground - " exec 'hi cUserFunction' . s:fg_blue . s:ft_bold - exec 'hi cOctalZero' . s:fg_purple . s:ft_bold - if s:langOpt_c__highlight_builtins == 1 - exec 'hi cFunction' . s:fg_blue - else - exec 'hi cFunction' . s:fg_foreground - endif - - " CPP highlighting - exec 'hi cppBoolean' . s:fg_green . s:ft_bold - exec 'hi cppSTLnamespace' . s:fg_purple - exec 'hi cppSTLexception' . s:fg_pink - exec 'hi cppSTLfunctional' . s:fg_foreground . s:ft_bold - exec 'hi cppSTLiterator' . s:fg_foreground . s:ft_bold - exec 'hi cppExceptions' . s:fg_red - exec 'hi cppStatement' . s:fg_blue - exec 'hi cppStorageClass' . s:fg_navy . s:ft_bold - exec 'hi cppAccess' . s:fg_orange . s:ft_bold - if s:langOpt_cpp__highlight_standard_library == 1 - exec 'hi cppSTLconstant' . s:fg_green . s:ft_bold - exec 'hi cppSTLtype' . s:fg_pink . s:ft_bold - exec 'hi cppSTLfunction' . s:fg_blue - exec 'hi cppSTLios' . s:fg_olive . s:ft_bold - else - exec 'hi cppSTLconstant' . s:fg_foreground - exec 'hi cppSTLtype' . s:fg_foreground - exec 'hi cppSTLfunction' . s:fg_foreground - exec 'hi cppSTLios' . s:fg_foreground - endif - " exec 'hi cppSTL' . s:fg_blue - - " Rust highlighting - exec 'hi rustKeyword' . s:fg_pink - exec 'hi rustModPath' . s:fg_blue - exec 'hi rustModPathSep' . s:fg_blue - exec 'hi rustLifetime' . s:fg_purple - exec 'hi rustStructure' . s:fg_aqua . s:ft_bold - exec 'hi rustAttribute' . s:fg_aqua . s:ft_bold - exec 'hi rustPanic' . s:fg_olive . s:ft_bold - exec 'hi rustTrait' . s:fg_blue . s:ft_bold - exec 'hi rustEnum' . s:fg_green . s:ft_bold - exec 'hi rustEnumVariant' . s:fg_green - exec 'hi rustSelf' . s:fg_orange - exec 'hi rustSigil' . s:fg_aqua . s:ft_bold - exec 'hi rustOperator' . s:fg_aqua . s:ft_bold - exec 'hi rustMacro' . s:fg_olive . s:ft_bold - exec 'hi rustMacroVariable' . s:fg_olive - exec 'hi rustAssert' . s:fg_olive . s:ft_bold - exec 'hi rustConditional' . s:fg_purple . s:ft_bold - - " Lex highlighting - exec 'hi lexCFunctions' . s:fg_foreground - exec 'hi lexAbbrv' . s:fg_purple - exec 'hi lexAbbrvRegExp' . s:fg_aqua - exec 'hi lexAbbrvComment' . s:fg_comment - exec 'hi lexBrace' . s:fg_navy - exec 'hi lexPat' . s:fg_aqua - exec 'hi lexPatComment' . s:fg_comment - exec 'hi lexPatTag' . s:fg_orange - " exec 'hi lexPatBlock' . s:fg_foreground . s:ft_bold - exec 'hi lexSlashQuote' . s:fg_foreground - exec 'hi lexSep' . s:fg_foreground - exec 'hi lexStartState' . s:fg_orange - exec 'hi lexPatTagZone' . s:fg_olive . s:ft_bold - exec 'hi lexMorePat' . s:fg_olive . s:ft_bold - exec 'hi lexOptions' . s:fg_olive . s:ft_bold - exec 'hi lexPatString' . s:fg_olive - - " Yacc highlighting - exec 'hi yaccNonterminal' . s:fg_navy - exec 'hi yaccDelim' . s:fg_orange - exec 'hi yaccInitKey' . s:fg_aqua - exec 'hi yaccInit' . s:fg_navy - exec 'hi yaccKey' . s:fg_purple - exec 'hi yaccVar' . s:fg_aqua - - " NASM highlighting - exec 'hi nasmStdInstruction' . s:fg_navy - exec 'hi nasmGen08Register' . s:fg_aqua - exec 'hi nasmGen16Register' . s:fg_aqua - exec 'hi nasmGen32Register' . s:fg_aqua - exec 'hi nasmGen64Register' . s:fg_aqua - exec 'hi nasmHexNumber' . s:fg_purple - exec 'hi nasmStorage' . s:fg_aqua . s:ft_bold - exec 'hi nasmLabel' . s:fg_pink - exec 'hi nasmDirective' . s:fg_blue . s:ft_bold - exec 'hi nasmLocalLabel' . s:fg_orange - - " GAS highlighting - exec 'hi gasSymbol' . s:fg_pink - exec 'hi gasDirective' . s:fg_blue . s:ft_bold - exec 'hi gasOpcode_386_Base' . s:fg_navy - exec 'hi gasDecimalNumber' . s:fg_purple - exec 'hi gasSymbolRef' . s:fg_pink - exec 'hi gasRegisterX86' . s:fg_blue - exec 'hi gasOpcode_P6_Base' . s:fg_navy - exec 'hi gasDirectiveStore' . s:fg_foreground . s:ft_bold - - " MIPS highlighting - exec 'hi mipsInstruction' . s:fg_pink - exec 'hi mipsRegister' . s:fg_navy - exec 'hi mipsLabel' . s:fg_aqua . s:ft_bold - exec 'hi mipsDirective' . s:fg_purple . s:ft_bold - - " Shell/Bash highlighting - exec 'hi bashStatement' . s:fg_foreground . s:ft_bold - exec 'hi shDerefVar' . s:fg_aqua . s:ft_bold - exec 'hi shDerefSimple' . s:fg_aqua - exec 'hi shFunction' . s:fg_orange . s:ft_bold - exec 'hi shStatement' . s:fg_foreground - exec 'hi shLoop' . s:fg_purple . s:ft_bold - exec 'hi shQuote' . s:fg_olive - exec 'hi shCaseEsac' . s:fg_aqua . s:ft_bold - exec 'hi shSnglCase' . s:fg_purple . s:ft_none - exec 'hi shFunctionOne' . s:fg_navy - exec 'hi shCase' . s:fg_navy - exec 'hi shSetList' . s:fg_navy - " @see Dockerfile Highlighting section for more sh* - - " PowerShell Highlighting - exec 'hi ps1Type' . s:fg_green . s:ft_bold - exec 'hi ps1Variable' . s:fg_navy - exec 'hi ps1Boolean' . s:fg_navy . s:ft_bold - exec 'hi ps1FunctionInvocation' . s:fg_pink - exec 'hi ps1FunctionDeclaration' . s:fg_pink - exec 'hi ps1Keyword' . s:fg_blue . s:ft_bold - exec 'hi ps1Exception' . s:fg_red - exec 'hi ps1Operator' . s:fg_aqua . s:ft_bold - exec 'hi ps1CommentDoc' . s:fg_purple - exec 'hi ps1CDocParam' . s:fg_orange - - " HTML Highlighting - exec 'hi htmlTitle' . s:fg_green . s:ft_bold - exec 'hi htmlH1' . s:fg_green . s:ft_bold - exec 'hi htmlH2' . s:fg_aqua . s:ft_bold - exec 'hi htmlH3' . s:fg_purple . s:ft_bold - exec 'hi htmlH4' . s:fg_orange . s:ft_bold - exec 'hi htmlTag' . s:fg_comment - exec 'hi htmlTagName' . s:fg_wine - exec 'hi htmlArg' . s:fg_pink - exec 'hi htmlEndTag' . s:fg_comment - exec 'hi htmlString' . s:fg_blue - exec 'hi htmlScriptTag' . s:fg_comment - exec 'hi htmlBold' . s:fg_foreground . s:ft_bold - exec 'hi htmlItalic' . s:fg_comment . s:ft_italic - exec 'hi htmlBoldItalic' . s:fg_navy . s:ft_italic_bold - " exec 'hi htmlLink' . s:fg_blue . s:ft_bold - exec 'hi htmlTagN' . s:fg_wine . s:ft_bold - exec 'hi htmlSpecialTagName' . s:fg_wine - exec 'hi htmlComment' . s:fg_comment . s:ft_italic - exec 'hi htmlCommentPart' . s:fg_comment . s:ft_italic - - " CSS Highlighting - exec 'hi cssIdentifier' . s:fg_pink - exec 'hi cssPositioningProp' . s:fg_foreground - exec 'hi cssNoise' . s:fg_foreground - exec 'hi cssBoxProp' . s:fg_foreground - exec 'hi cssTableAttr' . s:fg_purple - exec 'hi cssPositioningAttr' . s:fg_navy - exec 'hi cssValueLength' . s:fg_orange - exec 'hi cssFunctionName' . s:fg_blue - exec 'hi cssUnitDecorators' . s:fg_aqua - exec 'hi cssColor' . s:fg_blue . s:ft_bold - exec 'hi cssBraces' . s:fg_pink - exec 'hi cssBackgroundProp' . s:fg_foreground - exec 'hi cssTextProp' . s:fg_foreground - exec 'hi cssDimensionProp' . s:fg_foreground - exec 'hi cssClassName' . s:fg_pink - - " Markdown Highlighting - exec 'hi markdownHeadingRule' . s:fg_pink . s:ft_bold - exec 'hi markdownH1' . s:fg_pink . s:ft_bold - exec 'hi markdownH2' . s:fg_orange . s:ft_bold - exec 'hi markdownBlockquote' . s:fg_pink - exec 'hi markdownCodeBlock' . s:fg_olive - exec 'hi markdownCode' . s:fg_olive - exec 'hi markdownLink' . s:fg_blue . s:ft_bold - exec 'hi markdownUrl' . s:fg_blue - exec 'hi markdownLinkText' . s:fg_pink - exec 'hi markdownLinkTextDelimiter' . s:fg_purple - exec 'hi markdownLinkDelimiter' . s:fg_purple - exec 'hi markdownCodeDelimiter' . s:fg_blue - - exec 'hi mkdCode' . s:fg_olive - exec 'hi mkdLink' . s:fg_blue . s:ft_bold - exec 'hi mkdURL' . s:fg_comment - exec 'hi mkdString' . s:fg_foreground - exec 'hi mkdBlockQuote' . s:fg_pink - exec 'hi mkdLinkTitle' . s:fg_pink - exec 'hi mkdDelimiter' . s:fg_aqua - exec 'hi mkdRule' . s:fg_pink - - " reStructuredText Highlighting - exec 'hi rstSections' . s:fg_pink . s:ft_bold - exec 'hi rstDelimiter' . s:fg_pink . s:ft_bold - exec 'hi rstExplicitMarkup' . s:fg_pink . s:ft_bold - exec 'hi rstDirective' . s:fg_blue - exec 'hi rstHyperlinkTarget' . s:fg_green - exec 'hi rstExDirective' . s:fg_foreground - exec 'hi rstInlineLiteral' . s:fg_olive - exec 'hi rstInterpretedTextOrHyperlinkReference' . s:fg_blue - - " Python Highlighting - exec 'hi pythonImport' . s:fg_pink . s:ft_bold - exec 'hi pythonExceptions' . s:fg_red - exec 'hi pythonException' . s:fg_purple . s:ft_bold - exec 'hi pythonInclude' . s:fg_red - exec 'hi pythonStatement' . s:fg_pink - exec 'hi pythonConditional' . s:fg_purple . s:ft_bold - exec 'hi pythonRepeat' . s:fg_purple . s:ft_bold - exec 'hi pythonFunction' . s:fg_aqua . s:ft_bold - exec 'hi pythonPreCondit' . s:fg_purple - exec 'hi pythonExClass' . s:fg_orange - exec 'hi pythonOperator' . s:fg_purple . s:ft_bold - exec 'hi pythonBuiltin' . s:fg_foreground - exec 'hi pythonDecorator' . s:fg_orange - - exec 'hi pythonString' . s:fg_olive - exec 'hi pythonEscape' . s:fg_olive . s:ft_bold - exec 'hi pythonStrFormatting' . s:fg_olive . s:ft_bold - - exec 'hi pythonBoolean' . s:fg_green . s:ft_bold - exec 'hi pythonExClass' . s:fg_red - exec 'hi pythonBytesEscape' . s:fg_olive . s:ft_bold - exec 'hi pythonDottedName' . s:fg_purple - exec 'hi pythonStrFormat' . s:fg_foreground - - if s:langOpt_python__highlight_builtins == 1 - exec 'hi pythonBuiltinFunc' . s:fg_blue - exec 'hi pythonBuiltinObj' . s:fg_red - else - exec 'hi pythonBuiltinFunc' . s:fg_foreground - exec 'hi pythonBuiltinObj' . s:fg_foreground - endif - - " Java Highlighting - exec 'hi javaExternal' . s:fg_pink - exec 'hi javaAnnotation' . s:fg_orange - exec 'hi javaTypedef' . s:fg_aqua - exec 'hi javaClassDecl' . s:fg_aqua . s:ft_bold - exec 'hi javaScopeDecl' . s:fg_blue . s:ft_bold - exec 'hi javaStorageClass' . s:fg_navy . s:ft_bold - exec 'hi javaBoolean' . s:fg_green . s:ft_bold - exec 'hi javaConstant' . s:fg_blue - exec 'hi javaCommentTitle' . s:fg_wine - exec 'hi javaDocTags' . s:fg_aqua - exec 'hi javaDocComment' . s:fg_comment - exec 'hi javaDocParam' . s:fg_foreground - exec 'hi javaStatement' . s:fg_pink - - " JavaScript Highlighting - exec 'hi javaScriptBraces' . s:fg_blue - exec 'hi javaScriptParens' . s:fg_blue - exec 'hi javaScriptIdentifier' . s:fg_pink - exec 'hi javaScriptFunction' . s:fg_blue . s:ft_bold - exec 'hi javaScriptConditional' . s:fg_purple . s:ft_bold - exec 'hi javaScriptRepeat' . s:fg_purple . s:ft_bold - exec 'hi javaScriptBoolean' . s:fg_green . s:ft_bold - exec 'hi javaScriptNumber' . s:fg_orange - exec 'hi javaScriptMember' . s:fg_navy - exec 'hi javaScriptReserved' . s:fg_navy - exec 'hi javascriptNull' . s:fg_comment . s:ft_bold - exec 'hi javascriptGlobal' . s:fg_foreground - exec 'hi javascriptStatement' . s:fg_pink - exec 'hi javaScriptMessage' . s:fg_foreground - exec 'hi javaScriptMember' . s:fg_foreground - - " @target https://github.com/pangloss/vim-javascript - exec 'hi jsFuncParens' . s:fg_blue - exec 'hi jsFuncBraces' . s:fg_blue - exec 'hi jsParens' . s:fg_blue - exec 'hi jsBraces' . s:fg_blue - exec 'hi jsNoise' . s:fg_blue - - " Jsx Highlighting - " @target https://github.com/MaxMEllon/vim-jsx-pretty - exec 'hi jsxTagName' . s:fg_wine - exec 'hi jsxComponentName' . s:fg_wine - exec 'hi jsxAttrib' . s:fg_pink - exec 'hi jsxEqual' . s:fg_comment - exec 'hi jsxString' . s:fg_blue - exec 'hi jsxCloseTag' . s:fg_comment - exec 'hi jsxCloseString' . s:fg_comment - exec 'hi jsxDot' . s:fg_wine - exec 'hi jsxNamespace' . s:fg_wine - exec 'hi jsxPunct' . s:fg_comment - - " Json Highlighting - " @target https://github.com/elzr/vim-json - exec 'hi jsonKeyword' . s:fg_blue - exec 'hi jsonString' . s:fg_olive - exec 'hi jsonQuote' . s:fg_comment - exec 'hi jsonNoise' . s:fg_foreground - exec 'hi jsonKeywordMatch' . s:fg_foreground - exec 'hi jsonBraces' . s:fg_foreground - exec 'hi jsonNumber' . s:fg_orange - exec 'hi jsonNull' . s:fg_purple . s:ft_bold - exec 'hi jsonBoolean' . s:fg_green . s:ft_bold - exec 'hi jsonCommentError' . s:fg_pink . s:bg_background - - " Go Highlighting - exec 'hi goDirective' . s:fg_red - exec 'hi goDeclaration' . s:fg_blue . s:ft_bold - exec 'hi goStatement' . s:fg_pink - exec 'hi goConditional' . s:fg_purple . s:ft_bold - exec 'hi goConstants' . s:fg_orange - exec 'hi goFunction' . s:fg_orange - " exec 'hi goTodo' . s:fg_comment . s:ft_bold - exec 'hi goDeclType' . s:fg_blue - exec 'hi goBuiltins' . s:fg_purple - - " Systemtap Highlighting - " exec 'hi stapBlock' . s:fg_comment . s:ft_none - exec 'hi stapComment' . s:fg_comment . s:ft_none - exec 'hi stapProbe' . s:fg_aqua . s:ft_bold - exec 'hi stapStat' . s:fg_navy . s:ft_bold - exec 'hi stapFunc' . s:fg_foreground - exec 'hi stapString' . s:fg_olive - exec 'hi stapTarget' . s:fg_navy - exec 'hi stapStatement' . s:fg_pink - exec 'hi stapType' . s:fg_pink . s:ft_bold - exec 'hi stapSharpBang' . s:fg_comment - exec 'hi stapDeclaration' . s:fg_pink - exec 'hi stapCMacro' . s:fg_blue - - " DTrace Highlighting - exec 'hi dtraceProbe' . s:fg_blue - exec 'hi dtracePredicate' . s:fg_purple . s:ft_bold - exec 'hi dtraceComment' . s:fg_comment - exec 'hi dtraceFunction' . s:fg_foreground - exec 'hi dtraceAggregatingFunction' . s:fg_blue . s:ft_bold - exec 'hi dtraceStatement' . s:fg_navy . s:ft_bold - exec 'hi dtraceIdentifier' . s:fg_pink - exec 'hi dtraceOption' . s:fg_pink - exec 'hi dtraceConstant' . s:fg_orange - exec 'hi dtraceType' . s:fg_pink . s:ft_bold - - " PlantUML Highlighting - exec 'hi plantumlPreProc' . s:fg_orange . s:ft_bold - exec 'hi plantumlDirectedOrVerticalArrowRL' . s:fg_pink - exec 'hi plantumlDirectedOrVerticalArrowLR' . s:fg_pink - exec 'hi plantumlString' . s:fg_olive - exec 'hi plantumlActivityThing' . s:fg_purple - exec 'hi plantumlText' . s:fg_navy - exec 'hi plantumlClassPublic' . s:fg_olive . s:ft_bold - exec 'hi plantumlClassPrivate' . s:fg_red - exec 'hi plantumlColonLine' . s:fg_orange - exec 'hi plantumlClass' . s:fg_navy - exec 'hi plantumlHorizontalArrow' . s:fg_pink - exec 'hi plantumlTypeKeyword' . s:fg_blue . s:ft_bold - exec 'hi plantumlKeyword' . s:fg_pink . s:ft_bold - - exec 'hi plantumlType' . s:fg_blue . s:ft_bold - exec 'hi plantumlBlock' . s:fg_pink . s:ft_bold - exec 'hi plantumlPreposition' . s:fg_orange - exec 'hi plantumlLayout' . s:fg_blue . s:ft_bold - exec 'hi plantumlNote' . s:fg_orange - exec 'hi plantumlLifecycle' . s:fg_aqua - exec 'hi plantumlParticipant' . s:fg_foreground . s:ft_bold - - - " Haskell Highlighting - exec 'hi haskellType' . s:fg_aqua . s:ft_bold - exec 'hi haskellIdentifier' . s:fg_orange . s:ft_bold - exec 'hi haskellOperators' . s:fg_pink - exec 'hi haskellWhere' . s:fg_foreground . s:ft_bold - exec 'hi haskellDelimiter' . s:fg_aqua - exec 'hi haskellImportKeywords' . s:fg_pink - exec 'hi haskellStatement' . s:fg_purple . s:ft_bold - - - " SQL/MySQL Highlighting - exec 'hi sqlStatement' . s:fg_pink . s:ft_bold - exec 'hi sqlType' . s:fg_blue . s:ft_bold - exec 'hi sqlKeyword' . s:fg_pink - exec 'hi sqlOperator' . s:fg_aqua - exec 'hi sqlSpecial' . s:fg_green . s:ft_bold - - exec 'hi mysqlVariable' . s:fg_olive . s:ft_bold - exec 'hi mysqlType' . s:fg_blue . s:ft_bold - exec 'hi mysqlKeyword' . s:fg_pink - exec 'hi mysqlOperator' . s:fg_aqua - exec 'hi mysqlSpecial' . s:fg_green . s:ft_bold - - - " Octave/MATLAB Highlighting - exec 'hi octaveVariable' . s:fg_foreground - exec 'hi octaveDelimiter' . s:fg_pink - exec 'hi octaveQueryVar' . s:fg_foreground - exec 'hi octaveSemicolon' . s:fg_purple - exec 'hi octaveFunction' . s:fg_navy - exec 'hi octaveSetVar' . s:fg_blue - exec 'hi octaveUserVar' . s:fg_foreground - exec 'hi octaveArithmeticOperator' . s:fg_aqua - exec 'hi octaveBeginKeyword' . s:fg_purple . s:ft_bold - exec 'hi octaveElseKeyword' . s:fg_purple . s:ft_bold - exec 'hi octaveEndKeyword' . s:fg_purple . s:ft_bold - exec 'hi octaveStatement' . s:fg_pink - - " Ruby Highlighting - exec 'hi rubyModule' . s:fg_navy . s:ft_bold - exec 'hi rubyClass' . s:fg_pink . s:ft_bold - exec 'hi rubyPseudoVariable' . s:fg_comment . s:ft_bold - exec 'hi rubyKeyword' . s:fg_pink - exec 'hi rubyInstanceVariable' . s:fg_purple - exec 'hi rubyFunction' . s:fg_foreground . s:ft_bold - exec 'hi rubyDefine' . s:fg_pink - exec 'hi rubySymbol' . s:fg_aqua - exec 'hi rubyConstant' . s:fg_blue - exec 'hi rubyAccess' . s:fg_navy - exec 'hi rubyAttribute' . s:fg_green - exec 'hi rubyInclude' . s:fg_red - exec 'hi rubyLocalVariableOrMethod' . s:fg_orange - exec 'hi rubyCurlyBlock' . s:fg_foreground - exec 'hi rubyCurlyBlockDelimiter' . s:fg_aqua - exec 'hi rubyArrayDelimiter' . s:fg_aqua - exec 'hi rubyStringDelimiter' . s:fg_olive - exec 'hi rubyInterpolationDelimiter' . s:fg_orange - exec 'hi rubyConditional' . s:fg_purple . s:ft_bold - exec 'hi rubyRepeat' . s:fg_purple . s:ft_bold - exec 'hi rubyControl' . s:fg_purple . s:ft_bold - exec 'hi rubyException' . s:fg_purple . s:ft_bold - exec 'hi rubyExceptional' . s:fg_purple . s:ft_bold - exec 'hi rubyBoolean' . s:fg_green . s:ft_bold - - " Fortran Highlighting - exec 'hi fortranUnitHeader' . s:fg_blue . s:ft_bold - exec 'hi fortranIntrinsic' . s:fg_blue . s:bg_background . s:ft_none - exec 'hi fortranType' . s:fg_pink . s:ft_bold - exec 'hi fortranTypeOb' . s:fg_pink . s:ft_bold - exec 'hi fortranStructure' . s:fg_aqua - exec 'hi fortranStorageClass' . s:fg_navy . s:ft_bold - exec 'hi fortranStorageClassR' . s:fg_navy . s:ft_bold - exec 'hi fortranKeyword' . s:fg_pink - exec 'hi fortranReadWrite' . s:fg_aqua . s:ft_bold - exec 'hi fortranIO' . s:fg_navy - exec 'hi fortranOperator' . s:fg_aqua . s:ft_bold - exec 'hi fortranCall' . s:fg_aqua . s:ft_bold - exec 'hi fortranContinueMark' . s:fg_green - - " ALGOL Highlighting (Plugin: https://github.com/sterpe/vim-algol68) - exec 'hi algol68Statement' . s:fg_blue . s:ft_bold - exec 'hi algol68Operator' . s:fg_aqua . s:ft_bold - exec 'hi algol68PreProc' . s:fg_green - exec 'hi algol68Function' . s:fg_blue - - " R Highlighting - exec 'hi rType' . s:fg_blue - exec 'hi rArrow' . s:fg_pink - exec 'hi rDollar' . s:fg_blue - - " XXD Highlighting - exec 'hi xxdAddress' . s:fg_navy - exec 'hi xxdSep' . s:fg_pink - exec 'hi xxdAscii' . s:fg_pink - exec 'hi xxdDot' . s:fg_aqua - - " PHP Highlighting - exec 'hi phpIdentifier' . s:fg_foreground - exec 'hi phpVarSelector' . s:fg_pink - exec 'hi phpKeyword' . s:fg_blue - exec 'hi phpRepeat' . s:fg_purple . s:ft_bold - exec 'hi phpConditional' . s:fg_purple . s:ft_bold - exec 'hi phpStatement' . s:fg_pink - exec 'hi phpAssignByRef' . s:fg_aqua . s:ft_bold - exec 'hi phpSpecialFunction' . s:fg_blue - exec 'hi phpFunctions' . s:fg_blue - exec 'hi phpComparison' . s:fg_aqua - exec 'hi phpBackslashSequences' . s:fg_olive . s:ft_bold - exec 'hi phpMemberSelector' . s:fg_blue - exec 'hi phpStorageClass' . s:fg_purple . s:ft_bold - exec 'hi phpDefine' . s:fg_navy - exec 'hi phpIntVar' . s:fg_navy . s:ft_bold - - " Perl Highlighting - exec 'hi perlFiledescRead' . s:fg_green - exec 'hi perlMatchStartEnd' . s:fg_pink - exec 'hi perlStatementFlow' . s:fg_pink - exec 'hi perlStatementStorage' . s:fg_pink - exec 'hi perlFunction' . s:fg_pink . s:ft_bold - exec 'hi perlMethod' . s:fg_foreground - exec 'hi perlStatementFiledesc' . s:fg_orange - exec 'hi perlVarPlain' . s:fg_navy - exec 'hi perlSharpBang' . s:fg_comment - exec 'hi perlStatementInclude' . s:fg_aqua . s:ft_bold - exec 'hi perlStatementScalar' . s:fg_purple - exec 'hi perlSubName' . s:fg_aqua . s:ft_bold - exec 'hi perlSpecialString' . s:fg_olive . s:ft_bold - - " Pascal Highlighting - exec 'hi pascalType' . s:fg_pink . s:ft_bold - exec 'hi pascalStatement' . s:fg_blue . s:ft_bold - exec 'hi pascalPredefined' . s:fg_pink - exec 'hi pascalFunction' . s:fg_foreground - exec 'hi pascalStruct' . s:fg_navy . s:ft_bold - exec 'hi pascalOperator' . s:fg_aqua . s:ft_bold - exec 'hi pascalPreProc' . s:fg_green - exec 'hi pascalAcces' . s:fg_navy . s:ft_bold - - " Lua Highlighting - exec 'hi luaFunc' . s:fg_foreground - exec 'hi luaIn' . s:fg_blue . s:ft_bold - exec 'hi luaFunction' . s:fg_pink - exec 'hi luaStatement' . s:fg_blue - exec 'hi luaRepeat' . s:fg_blue . s:ft_bold - exec 'hi luaCondStart' . s:fg_purple . s:ft_bold - exec 'hi luaTable' . s:fg_aqua . s:ft_bold - exec 'hi luaConstant' . s:fg_green . s:ft_bold - exec 'hi luaElse' . s:fg_purple . s:ft_bold - exec 'hi luaCondElseif' . s:fg_purple . s:ft_bold - exec 'hi luaCond' . s:fg_purple . s:ft_bold - exec 'hi luaCondEnd' . s:fg_purple - - " Clojure highlighting: - exec 'hi clojureConstant' . s:fg_blue - exec 'hi clojureBoolean' . s:fg_orange - exec 'hi clojureCharacter' . s:fg_olive - exec 'hi clojureKeyword' . s:fg_pink - exec 'hi clojureNumber' . s:fg_orange - exec 'hi clojureString' . s:fg_olive - exec 'hi clojureRegexp' . s:fg_purple - exec 'hi clojureRegexpEscape' . s:fg_pink - exec 'hi clojureParen' . s:fg_aqua - exec 'hi clojureVariable' . s:fg_olive - exec 'hi clojureCond' . s:fg_blue - exec 'hi clojureDefine' . s:fg_blue . s:ft_bold - exec 'hi clojureException' . s:fg_red - exec 'hi clojureFunc' . s:fg_navy - exec 'hi clojureMacro' . s:fg_blue - exec 'hi clojureRepeat' . s:fg_blue - exec 'hi clojureSpecial' . s:fg_blue . s:ft_bold - exec 'hi clojureQuote' . s:fg_blue - exec 'hi clojureUnquote' . s:fg_blue - exec 'hi clojureMeta' . s:fg_blue - exec 'hi clojureDeref' . s:fg_blue - exec 'hi clojureAnonArg' . s:fg_blue - exec 'hi clojureRepeat' . s:fg_blue - exec 'hi clojureDispatch' . s:fg_aqua - - " Dockerfile Highlighting - " @target https://github.com/docker/docker/tree/master/contrib/syntax/vim - exec 'hi dockerfileKeyword' . s:fg_blue - exec 'hi shDerefVar' . s:fg_purple . s:ft_bold - exec 'hi shOperator' . s:fg_aqua - exec 'hi shOption' . s:fg_navy - exec 'hi shLine' . s:fg_foreground - exec 'hi shWrapLineOperator' . s:fg_pink - - " NGINX Highlighting - " @target https://github.com/evanmiller/nginx-vim-syntax - exec 'hi ngxDirectiveBlock' . s:fg_pink . s:ft_bold - exec 'hi ngxDirective' . s:fg_blue . s:ft_none - exec 'hi ngxDirectiveImportant' . s:fg_blue . s:ft_bold - exec 'hi ngxString' . s:fg_olive - exec 'hi ngxVariableString' . s:fg_purple - exec 'hi ngxVariable' . s:fg_purple . s:ft_none - - " Yaml Highlighting - exec 'hi yamlBlockMappingKey' . s:fg_blue - exec 'hi yamlKeyValueDelimiter' . s:fg_pink - exec 'hi yamlBlockCollectionItemStart' . s:fg_pink - - " Qt QML Highlighting - exec 'hi qmlObjectLiteralType' . s:fg_pink - exec 'hi qmlReserved' . s:fg_purple - exec 'hi qmlBindingProperty' . s:fg_navy - exec 'hi qmlType' . s:fg_navy - - " Dosini Highlighting - exec 'hi dosiniHeader' . s:fg_pink - exec 'hi dosiniLabel' . s:fg_blue - - " Mail highlighting - exec 'hi mailHeaderKey' . s:fg_blue - exec 'hi mailHeaderEmail' . s:fg_purple - exec 'hi mailSubject' . s:fg_pink - exec 'hi mailHeader' . s:fg_comment - exec 'hi mailURL' . s:fg_aqua - exec 'hi mailEmail' . s:fg_purple - exec 'hi mailQuoted1' . s:fg_olive - exec 'hi mailQuoted2' . s:fg_navy - - " XML Highlighting - exec 'hi xmlProcessingDelim' . s:fg_pink - exec 'hi xmlString' . s:fg_olive - exec 'hi xmlEqual' . s:fg_orange - exec 'hi xmlAttrib' . s:fg_navy - exec 'hi xmlAttribPunct' . s:fg_pink - exec 'hi xmlTag' . s:fg_blue - exec 'hi xmlTagName' . s:fg_blue - exec 'hi xmlEndTag' . s:fg_blue - exec 'hi xmlNamespace' . s:fg_orange - - " Exlixir Highlighting - " @target https://github.com/elixir-lang/vim-elixir - exec 'hi elixirAlias' . s:fg_blue . s:ft_bold - exec 'hi elixirAtom' . s:fg_navy - exec 'hi elixirVariable' . s:fg_navy - exec 'hi elixirUnusedVariable' . s:fg_foreground . s:ft_bold - exec 'hi elixirInclude' . s:fg_purple - exec 'hi elixirStringDelimiter' . s:fg_olive - exec 'hi elixirKeyword' . s:fg_purple . s:ft_bold - exec 'hi elixirFunctionDeclaration' . s:fg_aqua . s:ft_bold - exec 'hi elixirBlockDefinition' . s:fg_pink - exec 'hi elixirDefine' . s:fg_pink - exec 'hi elixirStructDefine' . s:fg_pink - exec 'hi elixirPrivateDefine' . s:fg_pink - exec 'hi elixirModuleDefine' . s:fg_pink - exec 'hi elixirProtocolDefine' . s:fg_pink - exec 'hi elixirImplDefine' . s:fg_pink - exec 'hi elixirModuleDeclaration' . s:fg_aqua . s:ft_bold - exec 'hi elixirDocString' . s:fg_olive - exec 'hi elixirDocTest' . s:fg_green . s:ft_bold - - " Erlang Highlighting - exec 'hi erlangBIF' . s:fg_purple . s:ft_bold - exec 'hi erlangBracket' . s:fg_pink - exec 'hi erlangLocalFuncCall' . s:fg_foreground - exec 'hi erlangVariable' . s:fg_foreground - exec 'hi erlangAtom' . s:fg_navy - exec 'hi erlangAttribute' . s:fg_blue . s:ft_bold - exec 'hi erlangRecordDef' . s:fg_blue . s:ft_bold - exec 'hi erlangRecord' . s:fg_blue - exec 'hi erlangRightArrow' . s:fg_blue . s:ft_bold - exec 'hi erlangStringModifier' . s:fg_olive . s:ft_bold - exec 'hi erlangInclude' . s:fg_blue . s:ft_bold - exec 'hi erlangKeyword' . s:fg_pink - exec 'hi erlangGlobalFuncCall' . s:fg_foreground - - " Cucumber Highlighting - exec 'hi cucumberFeature' . s:fg_blue . s:ft_bold - exec 'hi cucumberBackground' . s:fg_pink . s:ft_bold - exec 'hi cucumberScenario' . s:fg_pink . s:ft_bold - exec 'hi cucumberGiven' . s:fg_orange - exec 'hi cucumberGivenAnd' . s:fg_blue - exec 'hi cucumberThen' . s:fg_orange - exec 'hi cucumberThenAnd' . s:fg_blue - exec 'hi cucumberWhen' . s:fg_purple . s:ft_bold - exec 'hi cucumberScenarioOutline' . s:fg_pink . s:ft_bold - exec 'hi cucumberExamples' . s:fg_aqua - exec 'hi cucumberTags' . s:fg_aqua - exec 'hi cucumberPlaceholder' . s:fg_aqua - - " Ada Highlighting - exec 'hi adaInc' . s:fg_aqua . s:ft_bold - exec 'hi adaSpecial' . s:fg_aqua . s:ft_bold - exec 'hi adaKeyword' . s:fg_pink - exec 'hi adaBegin' . s:fg_pink - exec 'hi adaEnd' . s:fg_pink - exec 'hi adaTypedef' . s:fg_navy . s:ft_bold - exec 'hi adaAssignment' . s:fg_aqua . s:ft_bold - exec 'hi adaAttribute' . s:fg_green - - " COBOL Highlighting - exec 'hi cobolMarker' . s:fg_comment . s:bg_cursorline - exec 'hi cobolLine' . s:fg_foreground - exec 'hi cobolReserved' . s:fg_blue - exec 'hi cobolDivision' . s:fg_pink . s:ft_bold - exec 'hi cobolDivisionName' . s:fg_pink . s:ft_bold - exec 'hi cobolSection' . s:fg_navy . s:ft_bold - exec 'hi cobolSectionName' . s:fg_navy . s:ft_bold - exec 'hi cobolParagraph' . s:fg_purple - exec 'hi cobolParagraphName' . s:fg_purple - exec 'hi cobolDeclA' . s:fg_purple - exec 'hi cobolDecl' . s:fg_green - exec 'hi cobolCALLs' . s:fg_aqua . s:ft_bold - exec 'hi cobolEXECs' . s:fg_aqua . s:ft_bold - - " GNU sed highlighting - exec 'hi sedST' . s:fg_purple . s:ft_bold - exec 'hi sedFlag' . s:fg_purple . s:ft_bold - exec 'hi sedRegexp47' . s:fg_pink - exec 'hi sedRegexpMeta' . s:fg_blue . s:ft_bold - exec 'hi sedReplacement47' . s:fg_olive - exec 'hi sedReplaceMeta' . s:fg_orange . s:ft_bold - exec 'hi sedAddress' . s:fg_pink - exec 'hi sedFunction' . s:fg_aqua . s:ft_bold - exec 'hi sedBranch' . s:fg_green . s:ft_bold - exec 'hi sedLabel' . s:fg_green . s:ft_bold - - " GNU awk highlighting - exec 'hi awkPatterns' . s:fg_pink . s:ft_bold - exec 'hi awkSearch' . s:fg_pink - exec 'hi awkRegExp' . s:fg_blue . s:ft_bold - exec 'hi awkCharClass' . s:fg_blue . s:ft_bold - exec 'hi awkFieldVars' . s:fg_green . s:ft_bold - exec 'hi awkStatement' . s:fg_blue . s:ft_bold - exec 'hi awkFunction' . s:fg_blue - exec 'hi awkVariables' . s:fg_green . s:ft_bold - exec 'hi awkArrayElement' . s:fg_orange - exec 'hi awkOperator' . s:fg_foreground - exec 'hi awkBoolLogic' . s:fg_foreground - exec 'hi awkExpression' . s:fg_foreground - exec 'hi awkSpecialPrintf' . s:fg_olive . s:ft_bold - - " Elm highlighting - exec 'hi elmImport' . s:fg_navy - exec 'hi elmAlias' . s:fg_aqua - exec 'hi elmType' . s:fg_pink - exec 'hi elmOperator' . s:fg_aqua . s:ft_bold - exec 'hi elmBraces' . s:fg_aqua . s:ft_bold - exec 'hi elmTypedef' . s:fg_blue . s:ft_bold - exec 'hi elmTopLevelDecl' . s:fg_green . s:ft_bold - - " Purescript highlighting - exec 'hi purescriptModuleKeyword' . s:fg_navy - exec 'hi purescriptImportKeyword' . s:fg_navy - exec 'hi purescriptModuleName' . s:fg_pink - exec 'hi purescriptOperator' . s:fg_aqua . s:ft_bold - exec 'hi purescriptType' . s:fg_pink - exec 'hi purescriptTypeVar' . s:fg_navy - exec 'hi purescriptStructure' . s:fg_blue . s:ft_bold - exec 'hi purescriptLet' . s:fg_blue . s:ft_bold - exec 'hi purescriptFunction' . s:fg_green . s:ft_bold - exec 'hi purescriptDelimiter' . s:fg_aqua . s:ft_bold - exec 'hi purescriptStatement' . s:fg_purple . s:ft_bold - exec 'hi purescriptConstructor' . s:fg_pink - exec 'hi purescriptWhere' . s:fg_purple . s:ft_bold - - " F# highlighting - exec 'hi fsharpTypeName' . s:fg_pink - exec 'hi fsharpCoreClass' . s:fg_pink - exec 'hi fsharpType' . s:fg_pink - exec 'hi fsharpKeyword' . s:fg_blue . s:ft_bold - exec 'hi fsharpOperator' . s:fg_aqua . s:ft_bold - exec 'hi fsharpBoolean' . s:fg_green . s:ft_bold - exec 'hi fsharpFormat' . s:fg_foreground - exec 'hi fsharpLinq' . s:fg_blue - exec 'hi fsharpKeyChar' . s:fg_aqua . s:ft_bold - exec 'hi fsharpOption' . s:fg_orange - exec 'hi fsharpCoreMethod' . s:fg_purple - exec 'hi fsharpAttrib' . s:fg_orange - exec 'hi fsharpModifier' . s:fg_aqua - exec 'hi fsharpOpen' . s:fg_red - - " ASN.1 highlighting - exec 'hi asnExternal' . s:fg_green . s:ft_bold - exec 'hi asnTagModifier' . s:fg_purple - exec 'hi asnBraces' . s:fg_aqua . s:ft_bold - exec 'hi asnDefinition' . s:fg_foreground - exec 'hi asnStructure' . s:fg_blue - exec 'hi asnType' . s:fg_pink - exec 'hi asnTypeInfo' . s:fg_aqua . s:ft_bold - exec 'hi asnFieldOption' . s:fg_purple - - " }}} - - " Plugin: Netrw - exec 'hi netrwVersion' . s:fg_red - exec 'hi netrwList' . s:fg_pink - exec 'hi netrwHidePat' . s:fg_olive - exec 'hi netrwQuickHelp' . s:fg_blue - exec 'hi netrwHelpCmd' . s:fg_blue - exec 'hi netrwDir' . s:fg_aqua . s:ft_bold - exec 'hi netrwClassify' . s:fg_pink - exec 'hi netrwExe' . s:fg_green - exec 'hi netrwSuffixes' . s:fg_comment - exec 'hi netrwTreeBar' . s:fg_linenumber_fg - - " Plugin: NERDTree - exec 'hi NERDTreeUp' . s:fg_comment - exec 'hi NERDTreeHelpCommand' . s:fg_pink - exec 'hi NERDTreeHelpTitle' . s:fg_blue . s:ft_bold - exec 'hi NERDTreeHelpKey' . s:fg_pink - exec 'hi NERDTreeHelp' . s:fg_foreground - exec 'hi NERDTreeToggleOff' . s:fg_red - exec 'hi NERDTreeToggleOn' . s:fg_green - exec 'hi NERDTreeDir' . s:fg_blue . s:ft_bold - exec 'hi NERDTreeDirSlash' . s:fg_pink - exec 'hi NERDTreeFile' . s:fg_foreground - exec 'hi NERDTreeExecFile' . s:fg_green - exec 'hi NERDTreeOpenable' . s:fg_aqua . s:ft_bold - exec 'hi NERDTreeClosable' . s:fg_pink - - " Plugin: Tagbar - exec 'hi TagbarHelpTitle' . s:fg_blue . s:ft_bold - exec 'hi TagbarHelp' . s:fg_foreground - exec 'hi TagbarKind' . s:fg_pink - exec 'hi TagbarSignature' . s:fg_aqua - - " Plugin: Vimdiff - exec 'hi DiffAdd' . s:fg_diffadd_fg . s:bg_diffadd_bg . s:ft_none - exec 'hi DiffChange' . s:fg_diffchange_fg . s:bg_diffchange_bg . s:ft_none - exec 'hi DiffDelete' . s:fg_diffdelete_fg . s:bg_diffdelete_bg . s:ft_none - exec 'hi DiffText' . s:fg_difftext_fg . s:bg_difftext_bg . s:ft_none - - " Plugin: AGit - exec 'hi agitHead' . s:fg_green . s:ft_bold - exec 'hi agitHeader' . s:fg_olive - exec 'hi agitStatAdded' . s:fg_diffadd_fg - exec 'hi agitStatRemoved' . s:fg_diffdelete_fg - exec 'hi agitDiffAdd' . s:fg_diffadd_fg - exec 'hi agitDiffRemove' . s:fg_diffdelete_fg - exec 'hi agitDiffHeader' . s:fg_pink - exec 'hi agitDiff' . s:fg_foreground - exec 'hi agitDiffIndex' . s:fg_purple - exec 'hi agitDiffFileName' . s:fg_aqua - exec 'hi agitLog' . s:fg_foreground - exec 'hi agitAuthorMark' . s:fg_olive - exec 'hi agitDateMark' . s:fg_comment - exec 'hi agitHeaderLabel' . s:fg_aqua - exec 'hi agitDate' . s:fg_aqua - exec 'hi agitTree' . s:fg_pink - exec 'hi agitRef' . s:fg_blue . s:ft_bold - exec 'hi agitRemote' . s:fg_purple . s:ft_bold - exec 'hi agitTag' . s:fg_orange . s:ft_bold - - " Plugin: Spell Checking - exec 'hi SpellBad' . s:fg_foreground . s:bg_spellbad - exec 'hi SpellCap' . s:fg_foreground . s:bg_spellcap - exec 'hi SpellRare' . s:fg_foreground . s:bg_spellrare - exec 'hi SpellLocal' . s:fg_foreground . s:bg_spelllocal - - " Plugin: Indent Guides - exec 'hi IndentGuidesOdd' . s:bg_background - exec 'hi IndentGuidesEven' . s:bg_cursorline - - " Plugin: Startify - exec 'hi StartifyFile' . s:fg_blue . s:ft_bold - exec 'hi StartifyNumber' . s:fg_orange - exec 'hi StartifyHeader' . s:fg_comment - exec 'hi StartifySection' . s:fg_pink - exec 'hi StartifyPath' . s:fg_foreground - exec 'hi StartifySlash' . s:fg_navy - exec 'hi StartifyBracket' . s:fg_aqua - exec 'hi StartifySpecial' . s:fg_aqua - - " Git commit message - exec 'hi gitcommitSummary' . s:fg_blue - exec 'hi gitcommitHeader' . s:fg_green . s:ft_bold - exec 'hi gitcommitSelectedType' . s:fg_blue - exec 'hi gitcommitSelectedFile' . s:fg_pink - exec 'hi gitcommitUntrackedFile' . s:fg_diffdelete_fg - exec 'hi gitcommitBranch' . s:fg_aqua . s:ft_bold - exec 'hi gitcommitDiscardedType' . s:fg_diffdelete_fg - exec 'hi gitcommitDiff' . s:fg_comment - - exec 'hi diffFile' . s:fg_blue - exec 'hi diffSubname' . s:fg_comment - exec 'hi diffIndexLine' . s:fg_comment - exec 'hi diffAdded' . s:fg_diffadd_fg - exec 'hi diffRemoved' . s:fg_diffdelete_fg - exec 'hi diffLine' . s:fg_orange - exec 'hi diffBDiffer' . s:fg_orange - exec 'hi diffNewFile' . s:fg_comment - -endfun -" }}} - -" ================================== MISC ===================================== -" Command to show theme information {{{ -fun! g:PaperColor() - echom 'PaperColor Theme Framework' - echom ' version ' . s:version - echom ' by Nikyle Nguyen et al.' - echom ' at https://github.com/NLKNguyen/papercolor-theme/' - echom ' ' - echom 'Current theme: ' . s:theme_name - echom ' ' . s:selected_theme['description'] - echom ' by ' . s:selected_theme['maintainer'] - echom ' at ' . s:selected_theme['source'] - - " TODO: add diff display for theme color names between 'default' and current - " theme if it is a custom theme, i.e. child theme. -endfun - -" @brief command alias for g:PaperColor() -command! -nargs=0 PaperColor :call g:PaperColor() -" }}} - -" =============================== MAIN ======================================== - -hi clear -syntax reset -let g:colors_name = "PaperColor" - -call s:acquire_theme_data() -call s:identify_color_mode() - -call s:generate_theme_option_variables() -call s:generate_language_option_variables() - -call s:set_format_attributes() -call s:set_overriding_colors() - -call s:convert_colors() -call s:set_color_variables() - -call s:apply_syntax_highlightings() - -" ============================================================================= -" Cheers! -" vim: fdm=marker ff=unix \ No newline at end of file diff --git a/files/nvim/colors/ayu.vim b/files/nvim/colors/ayu.vim deleted file mode 100644 index 585a4db..0000000 --- a/files/nvim/colors/ayu.vim +++ /dev/null @@ -1,268 +0,0 @@ -" Initialisation:"{{{ -" ---------------------------------------------------------------------------- -hi clear -if exists("syntax_on") - syntax reset -endif - -let s:style = get(g:, 'ayucolor', 'dark') -let g:colors_name = "ayu" -"}}} - -" Palettes:"{{{ -" ---------------------------------------------------------------------------- - -let s:palette = {} - -let s:palette.bg = {'dark': "#0F1419", 'light': "#FAFAFA", 'mirage': "#212733"} - -let s:palette.comment = {'dark': "#5C6773", 'light': "#ABB0B6", 'mirage': "#5C6773"} -let s:palette.markup = {'dark': "#F07178", 'light': "#F07178", 'mirage': "#F07178"} -let s:palette.constant = {'dark': "#FFEE99", 'light': "#A37ACC", 'mirage': "#D4BFFF"} -let s:palette.operator = {'dark': "#E7C547", 'light': "#E7C547", 'mirage': "#80D4FF"} -let s:palette.tag = {'dark': "#36A3D9", 'light': "#36A3D9", 'mirage': "#5CCFE6"} -let s:palette.regexp = {'dark': "#95E6CB", 'light': "#4CBF99", 'mirage': "#95E6CB"} -let s:palette.string = {'dark': "#B8CC52", 'light': "#86B300", 'mirage': "#BBE67E"} -let s:palette.function = {'dark': "#FFB454", 'light': "#F29718", 'mirage': "#FFD57F"} -let s:palette.special = {'dark': "#E6B673", 'light': "#E6B673", 'mirage': "#FFC44C"} -let s:palette.keyword = {'dark': "#FF7733", 'light': "#FF7733", 'mirage': "#FFAE57"} - -let s:palette.error = {'dark': "#FF3333", 'light': "#FF3333", 'mirage': "#FF3333"} -let s:palette.accent = {'dark': "#F29718", 'light': "#FF6A00", 'mirage': "#FFCC66"} -let s:palette.panel = {'dark': "#14191F", 'light': "#FFFFFF", 'mirage': "#272D38"} -let s:palette.guide = {'dark': "#2D3640", 'light': "#D9D8D7", 'mirage': "#3D4751"} -let s:palette.line = {'dark': "#151A1E", 'light': "#F3F3F3", 'mirage': "#242B38"} -let s:palette.selection = {'dark': "#253340", 'light': "#F0EEE4", 'mirage': "#343F4C"} -let s:palette.fg = {'dark': "#E6E1CF", 'light': "#5C6773", 'mirage': "#D9D7CE"} -let s:palette.fg_idle = {'dark': "#3E4B59", 'light': "#828C99", 'mirage': "#607080"} - -"}}} - -" Highlighting Primitives:"{{{ -" ---------------------------------------------------------------------------- - -function! s:build_prim(hi_elem, field) - let l:vname = "s:" . a:hi_elem . "_" . a:field " s:bg_gray - let l:gui_assign = "gui".a:hi_elem."=".s:palette[a:field][s:style] " guibg=... - exe "let " . l:vname . " = ' " . l:gui_assign . "'" -endfunction - -let s:bg_none = ' guibg=NONE ctermbg=NONE' -let s:fg_none = ' guifg=NONE ctermfg=NONE' -for [key_name, d_value] in items(s:palette) - call s:build_prim('bg', key_name) - call s:build_prim('fg', key_name) -endfor -" }}} - -" Formatting Options:"{{{ -" ---------------------------------------------------------------------------- -let s:none = "NONE" -let s:t_none = "NONE" -let s:n = "NONE" -let s:c = ",undercurl" -let s:r = ",reverse" -let s:s = ",standout" -let s:b = ",bold" -let s:u = ",underline" -let s:i = ",italic" - -exe "let s:fmt_none = ' gui=NONE". " cterm=NONE". " term=NONE" ."'" -exe "let s:fmt_bold = ' gui=NONE".s:b. " cterm=NONE".s:b. " term=NONE".s:b ."'" -exe "let s:fmt_bldi = ' gui=NONE".s:b. " cterm=NONE".s:b. " term=NONE".s:b ."'" -exe "let s:fmt_undr = ' gui=NONE".s:u. " cterm=NONE".s:u. " term=NONE".s:u ."'" -exe "let s:fmt_undb = ' gui=NONE".s:u.s:b. " cterm=NONE".s:u.s:b. " term=NONE".s:u.s:b."'" -exe "let s:fmt_undi = ' gui=NONE".s:u. " cterm=NONE".s:u. " term=NONE".s:u ."'" -exe "let s:fmt_curl = ' gui=NONE".s:c. " cterm=NONE".s:c. " term=NONE".s:c ."'" -exe "let s:fmt_ital = ' gui=NONE".s:i. " cterm=NONE".s:i. " term=NONE".s:i ."'" -exe "let s:fmt_stnd = ' gui=NONE".s:s. " cterm=NONE".s:s. " term=NONE".s:s ."'" -exe "let s:fmt_revr = ' gui=NONE".s:r. " cterm=NONE".s:r. " term=NONE".s:r ."'" -exe "let s:fmt_revb = ' gui=NONE".s:r.s:b. " cterm=NONE".s:r.s:b. " term=NONE".s:r.s:b."'" -"}}} - - -" Vim Highlighting: (see :help highlight-groups)"{{{ -" ---------------------------------------------------------------------------- -exe "hi! Normal" .s:fg_fg .s:bg_bg .s:fmt_none -exe "hi! ColorColumn" .s:fg_none .s:bg_line .s:fmt_none -" Conceal, Cursor, CursorIM -exe "hi! CursorColumn" .s:fg_none .s:bg_line .s:fmt_none -exe "hi! CursorLine" .s:fg_none .s:bg_line .s:fmt_none -exe "hi! CursorLineNr" .s:fg_accent .s:bg_line .s:fmt_none -exe "hi! LineNr" .s:fg_guide .s:bg_none .s:fmt_none - -exe "hi! Directory" .s:fg_fg_idle .s:bg_none .s:fmt_none -exe "hi! DiffAdd" .s:fg_string .s:bg_panel .s:fmt_none -exe "hi! DiffChange" .s:fg_tag .s:bg_panel .s:fmt_none -exe "hi! DiffText" .s:fg_fg .s:bg_panel .s:fmt_none -exe "hi! ErrorMsg" .s:fg_fg .s:bg_error .s:fmt_stnd -exe "hi! VertSplit" .s:fg_bg .s:bg_none .s:fmt_none -exe "hi! Folded" .s:fg_fg_idle .s:bg_panel .s:fmt_none -exe "hi! FoldColumn" .s:fg_none .s:bg_panel .s:fmt_none -exe "hi! SignColumn" .s:fg_none .s:bg_panel .s:fmt_none -" Incsearch" - -exe "hi! MatchParen" .s:fg_fg .s:bg_bg .s:fmt_undr -exe "hi! ModeMsg" .s:fg_string .s:bg_none .s:fmt_none -exe "hi! MoreMsg" .s:fg_string .s:bg_none .s:fmt_none -exe "hi! NonText" .s:fg_bg .s:bg_none .s:fmt_none -exe "hi! Pmenu" .s:fg_fg .s:bg_selection .s:fmt_none -exe "hi! PmenuSel" .s:fg_fg .s:bg_selection .s:fmt_revr -" PmenuSbar" -" PmenuThumb" -exe "hi! Question" .s:fg_string .s:bg_none .s:fmt_none -exe "hi! Search" .s:fg_bg .s:bg_constant .s:fmt_none -exe "hi! SpecialKey" .s:fg_selection .s:bg_none .s:fmt_none -exe "hi! SpellCap" .s:fg_tag .s:bg_none .s:fmt_undr -exe "hi! SpellLocal" .s:fg_keyword .s:bg_none .s:fmt_undr -exe "hi! SpellBad" .s:fg_error .s:bg_none .s:fmt_undr -exe "hi! SpellRare" .s:fg_regexp .s:bg_none .s:fmt_undr -exe "hi! StatusLine" .s:fg_fg .s:bg_panel .s:fmt_none -exe "hi! StatusLineNC" .s:fg_fg_idle .s:bg_panel .s:fmt_none -exe "hi! WildMenu" .s:fg_bg .s:bg_markup .s:fmt_none -exe "hi! TabLine" .s:fg_fg .s:bg_panel .s:fmt_revr -" TabLineFill" -" TabLineSel" -exe "hi! Title" .s:fg_keyword .s:bg_none .s:fmt_none -exe "hi! Visual" .s:fg_none .s:bg_selection .s:fmt_none -" VisualNos" -exe "hi! WarningMsg" .s:fg_error .s:bg_none .s:fmt_none - -" TODO LongLineWarning to use variables instead of hardcoding -hi LongLineWarning guifg=NONE guibg=#371F1C gui=underline ctermfg=NONE ctermbg=NONE cterm=underline -" WildMenu" - -"}}} - -" Generic Syntax Highlighting: (see :help group-name)"{{{ -" ---------------------------------------------------------------------------- -exe "hi! Comment" .s:fg_comment .s:bg_none .s:fmt_none - -exe "hi! Constant" .s:fg_constant .s:bg_none .s:fmt_none -exe "hi! String" .s:fg_string .s:bg_none .s:fmt_none -" Character" -" Number" -" Boolean" -" Float" - -exe "hi! Identifier" .s:fg_tag .s:bg_none .s:fmt_none -exe "hi! Function" .s:fg_function .s:bg_none .s:fmt_none - -exe "hi! Statement" .s:fg_keyword .s:bg_none .s:fmt_none -" Conditional" -" Repeat" -" Label" -exe "hi! Operator" .s:fg_operator .s:bg_none .s:fmt_none -" Keyword" -" Exception" - -exe "hi! PreProc" .s:fg_special .s:bg_none .s:fmt_none -" Include" -" Define" -" Macro" -" PreCondit" - -exe "hi! Type" .s:fg_tag .s:bg_none .s:fmt_none -" StorageClass" -exe "hi! Structure" .s:fg_special .s:bg_none .s:fmt_none -" Typedef" - -exe "hi! Special" .s:fg_special .s:bg_none .s:fmt_none -" SpecialChar" -" Tag" -" Delimiter" -" SpecialComment" -" Debug" -" -exe "hi! Underlined" .s:fg_tag .s:bg_none .s:fmt_undr - -exe "hi! Ignore" .s:fg_none .s:bg_none .s:fmt_none - -exe "hi! Error" .s:fg_fg .s:bg_error .s:fmt_none - -exe "hi! Todo" .s:fg_markup .s:bg_none .s:fmt_none - -" Quickfix window highlighting -exe "hi! qfLineNr" .s:fg_keyword .s:bg_none .s:fmt_none -" qfFileName" -" qfLineNr" -" qfError" - -exe "hi! Conceal" .s:fg_guide .s:bg_none .s:fmt_none -exe "hi! CursorLineConceal" .s:fg_guide .s:bg_line .s:fmt_none - - -" Terminal in NVIM -" --------- -if has("nvim") - let g:terminal_color_0 = s:palette.bg[s:style] - let g:terminal_color_1 = s:palette.markup[s:style] - let g:terminal_color_2 = s:palette.string[s:style] - let g:terminal_color_3 = s:palette.accent[s:style] - let g:terminal_color_4 = s:palette.tag[s:style] - let g:terminal_color_5 = s:palette.constant[s:style] - let g:terminal_color_6 = s:palette.regexp[s:style] - let g:terminal_color_7 = "#FFFFFF" - let g:terminal_color_8 = s:palette.fg_idle[s:style] - let g:terminal_color_9 = s:palette.error[s:style] - let g:terminal_color_10 = s:palette.string[s:style] - let g:terminal_color_11 = s:palette.accent[s:style] - let g:terminal_color_12 = s:palette.tag[s:style] - let g:terminal_color_13 = s:palette.constant[s:style] - let g:terminal_color_14 = s:palette.regexp[s:style] - let g:terminal_color_15 = s:palette.comment[s:style] - let g:terminal_color_background = g:terminal_color_0 - let g:terminal_color_foreground = s:palette.fg[s:style] -endif - - -" NerdTree -" --------- -exe "hi! NERDTreeOpenable" .s:fg_fg_idle .s:bg_none .s:fmt_none -exe "hi! NERDTreeClosable" .s:fg_accent .s:bg_none .s:fmt_none -" exe "hi! NERDTreeBookmarksHeader" .s:fg_pink .s:bg_none .s:fmt_none -" exe "hi! NERDTreeBookmarksLeader" .s:fg_bg .s:bg_none .s:fmt_none -" exe "hi! NERDTreeBookmarkName" .s:fg_keyword .s:bg_none .s:fmt_none -" exe "hi! NERDTreeCWD" .s:fg_pink .s:bg_none .s:fmt_none -exe "hi! NERDTreeUp" .s:fg_fg_idle .s:bg_none .s:fmt_none -exe "hi! NERDTreeDir" .s:fg_fg_idle .s:bg_none .s:fmt_none -exe "hi! NERDTreeFile" .s:fg_fg_idle .s:bg_none .s:fmt_none -exe "hi! NERDTreeDirSlash" .s:fg_guide .s:bg_none .s:fmt_none - - -" GitGutter -" --------- -exe "hi! GitGutterAdd" .s:fg_string .s:bg_none .s:fmt_none -exe "hi! GitGutterChange" .s:fg_tag .s:bg_none .s:fmt_none -exe "hi! GitGutterDelete" .s:fg_markup .s:bg_none .s:fmt_none -exe "hi! GitGutterChangeDelete" .s:fg_function .s:bg_none .s:fmt_none - -"}}} - -" Diff Syntax Highlighting:"{{{ -" ---------------------------------------------------------------------------- -" Diff -" diffOldFile -" diffNewFile -" diffFile -" diffOnly -" diffIdentical -" diffDiffer -" diffBDiffer -" diffIsA -" diffNoEOL -" diffCommon -hi! link diffRemoved Constant -" diffChanged -hi! link diffAdded String -" diffLine -" diffSubname -" diffComment - -"}}} -" -" This is needed for some reason: {{{ - -let &background = s:style - -" }}} diff --git a/files/nvim/colors/breezy.vim b/files/nvim/colors/breezy.vim deleted file mode 100644 index 18173a9..0000000 --- a/files/nvim/colors/breezy.vim +++ /dev/null @@ -1,87 +0,0 @@ -highlight clear -if exists('syntax_on') - syntax reset -endif - -let g:colors_name = 'breezy' - - - -" Background Font color -hi LineNr guibg=#31363b guifg=#7a7c7d gui=NONE -hi FoldColumn guibg=#31363b guifg=#7a7c7d gui=NONE -hi Folded guibg=#31363b guifg=#7a7c7d gui=NONE -hi MatchParen guibg=#8e44ad guifg=#cfcfc2 gui=NONE -hi signColumn guibg=#31363b guifg=#7a7c7d gui=NONE - -hi Comment guibg=NONE guifg=#7a7c7d gui=NONE -hi Conceal guibg=NONE guifg=#cfcfc2 gui=NONE -hi Constant guibg=NONE guifg=#f67400 gui=NONE -hi Boolean guibg=NONE guifg=#27aeae gui=NONE -hi Debug guibg=NONE guifg=#a5a6a8 gui=bold -hi Error guibg=#4d1f24 guifg=#95da4c gui=bold -hi Identifier guibg=NONE guifg=#9b44ad gui=NONE -hi Ignore guibg=NONE guifg=NONE gui=NONE -hi Operator guibg=NONE guifg=NONE gui=bold -hi PreProc guibg=NONE guifg=#27ae85 gui=NONE -hi Special guibg=NONE guifg=#3daee9 gui=NONE -hi SpecialComment guibg=NONE guifg=#a5a6a8 gui=NONE -hi Statement guibg=NONE guifg=#fdbc4b gui=bold -hi String guibg=NONE guifg=#27ae60 gui=NONE -hi Todo guibg=#451e1a guifg=#ca9219 gui=NONE -hi Type guibg=NONE guifg=#2980b9 gui=NONE -hi Underlined guibg=NONE guifg=#27ae60 gui=underline - -hi NonText guibg=NONE guifg=#7a7c7d gui=NONE - -hi Pmenu guibg=#31363b guifg=#cfcfc2 gui=NONE -hi PmenuSbar guibg=#606365 guifg=NONE gui=NONE -hi PmenuSel guibg=#2d5c76 guifg=#cfcfc2 gui=NONE -hi PmenuThumb guibg=#a8a9ab guifg=#a8a9ab gui=NONE - -hi ErrorMsg guibg=#4d1f24 guifg=#95da4c gui=bold -hi ModeMsg guibg=NONE guifg=NONE gui=bold -hi MoreMsg guibg=NONE guifg=#fdbc4b gui=bold -hi Question guibg=NONE guifg=#fdbc4b gui=bold -hi WarningMsg guibg=NONE guifg=#ffffff gui=NONE - -hi TabLine guibg=#31363b guifg=#7a7c7d gui=NONE -hi TabLineFill guibg=#31363b guifg=#31363b gui=NONE -hi TabLineSel guibg=#2d5c76 guifg=NONE gui=NONE - -hi Cursor guibg=NONE guifg=NONE gui=reverse -hi CursorColumn guibg=#2a2e32 guifg=NONE gui=NONE -hi CursorLineNr guibg=#31363b guifg=#a5a6a8 gui=NONE -hi CursorLine guibg=#2a2e32 guifg=NONE gui=NONE cterm=NONE - -hi helpLeadBlank guibg=NONE guifg=NONE gui=NONE -hi helpNormal guibg=NONE guifg=NONE gui=NONE - -hi StatusLine guibg=#7a7c7d guifg=#2a2e32 gui=NONE -hi StatusLineNC guibg=#7a7c7d guifg=#2a2e32 gui=NONE - -hi Visual guibg=#2d5c76 guifg=NONE gui=NONE -hi VisualNOS guibg=NONE guifg=NONE gui=underline - -hi VertSplit guibg=#2d5c76 guifg=#2d5c76 gui=NONE -hi WildMenu guibg=NONE guifg=NONE gui=NONE - -hi SpecialKey guibg=NONE guifg=#7a7c7d gui=NONE -hi Title guibg=NONE guifg=#ffffff gui=NONE - -hi DiffAdd guibg=#123723 guifg=NONE gui=NONE -hi DiffChange guibg=#424218 guifg=NONE gui=NONE -hi DiffDelete guibg=#4d1f24 guifg=NONE gui=NONE -hi DiffText guibg=NONE guifg=NONE gui=reverse - -hi IncSearch guibg=#808021 guifg=#cfcfc2 gui=NONE -hi Search guibg=#218058 guifg=#cfcfc2 gui=NONE - -hi Directory guibg=NONE guifg=#ffffff gui=NONE - -hi SpellBad guibg=NONE guifg=NONE gui=undercurl -hi SpellCap guibg=NONE guifg=NONE gui=undercurl -hi SpellLocal guibg=NONE guifg=NONE gui=undercurl -hi SpellRare guibg=NONE guifg=NONE gui=undercurl - -hi ColorColumn guibg=#2a2e32 guifg=NONE gui=NONE diff --git a/files/nvim/colors/solarized8_low.vim b/files/nvim/colors/solarized8_low.vim deleted file mode 100644 index c369625..0000000 --- a/files/nvim/colors/solarized8_low.vim +++ /dev/null @@ -1,3004 +0,0 @@ -" Name: Solarized 8 Low Contrast -" Description: Precision colors for machines and people -" Author: Ethan Schoonover -" Maintainer: Lifepillar -" Website: https://github.com/lifepillar/vim-solarized8 -" License: OSI approved MIT license -" Last Updated: Wed Jun 26 19:26:06 2019 - -" Generated by Colortemplate v2.0.0b3 - -hi clear -if exists('syntax_on') - syntax reset -endif - -let g:colors_name = 'solarized8_low' - -let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co > 1 ? &t_Co : 2 -let s:italics = (((&t_ZH != '' && &t_ZH != '') || has('gui_running')) && !has('iOS')) || has('nvim') - -let s:t_Co = get(g:, 'solarized_use16', 0) ? 16 : s:t_Co -let s:italics = s:italics && get(g:, 'solarized_italics', 1) -let s:termtrans = get(g:, 'solarized_termtrans', 0) && !has('gui_running') -hi! link Boolean Constant -hi! link Character Constant -hi! link Conditional Statement -hi! link Debug Special -hi! link Define PreProc -hi! link Delimiter Special -hi! link Exception Statement -hi! link Float Constant -hi! link Function Identifier -hi! link Include PreProc -hi! link Keyword Statement -hi! link Label Statement -hi! link Macro PreProc -hi! link Number Constant -hi! link Operator Statement -hi! link PreCondit PreProc -hi! link QuickFixLine Search -hi! link Repeat Statement -hi! link SpecialChar Special -hi! link SpecialComment Special -hi! link StatusLineTerm StatusLine -hi! link StatusLineTermNC StatusLineNC -hi! link StorageClass Type -hi! link String Constant -hi! link Structure Type -hi! link Tag Special -hi! link Typedef Type -hi! link lCursor Cursor - -if (has('termguicolors') && &termguicolors) || has('gui_running') - if &background ==# 'dark' - let g:terminal_ansi_colors = ['#073642', '#dc322f', '#859900', '#b58900', - \ '#268bd2', '#d33682', '#2aa198', '#eee8d5', '#002b36', '#cb4b16', - \ '#586e75', '#657b83', '#839496', '#6c71c4', '#93a1a1', '#fdf6e3'] - if has('nvim') - let g:terminal_color_0 = '#073642' - let g:terminal_color_1 = '#dc322f' - let g:terminal_color_2 = '#859900' - let g:terminal_color_3 = '#b58900' - let g:terminal_color_4 = '#268bd2' - let g:terminal_color_5 = '#d33682' - let g:terminal_color_6 = '#2aa198' - let g:terminal_color_7 = '#eee8d5' - let g:terminal_color_8 = '#002b36' - let g:terminal_color_9 = '#cb4b16' - let g:terminal_color_10 = '#586e75' - let g:terminal_color_11 = '#657b83' - let g:terminal_color_12 = '#839496' - let g:terminal_color_13 = '#6c71c4' - let g:terminal_color_14 = '#93a1a1' - let g:terminal_color_15 = '#fdf6e3' - endif - if s:termtrans - hi Normal guifg=#839496 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi CursorLine guifg=NONE guibg=NONE guisp=#93a1a1 gui=underline ctermfg=NONE ctermbg=NONE cterm=underline - hi FoldColumn guifg=fg guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi Folded guifg=fg guibg=NONE guisp=#002b36 gui=bold cterm=bold - hi LineNr guifg=#586e75 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi Terminal guifg=fg guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi ToolbarButton guifg=#93a1a1 guibg=NONE guisp=NONE gui=bold cterm=bold - hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE - else - hi Normal guifg=#839496 guibg=#073642 guisp=NONE gui=NONE cterm=NONE - hi CursorLine guifg=NONE guibg=#073642 guisp=NONE gui=NONE cterm=NONE - hi FoldColumn guifg=#839496 guibg=#073642 guisp=NONE gui=NONE cterm=NONE - hi Folded guifg=#839496 guibg=#073642 guisp=#002b36 gui=bold cterm=bold - hi LineNr guifg=#586e75 guibg=#073642 guisp=NONE gui=NONE cterm=NONE - hi Terminal guifg=fg guibg=#073642 guisp=NONE gui=NONE cterm=NONE - hi ToolbarButton guifg=#93a1a1 guibg=#073642 guisp=NONE gui=bold cterm=bold - hi ToolbarLine guifg=NONE guibg=#073642 guisp=NONE gui=NONE cterm=NONE - endif - if get(g:, 'solarized_visibility', '') ==# 'high' - hi CursorLineNr guifg=#cb4b16 guibg=#073642 guisp=NONE gui=bold cterm=bold - hi NonText guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold - hi SpecialKey guifg=#cb4b16 guibg=NONE guisp=NONE gui=reverse cterm=reverse - hi SpellBad guifg=#6c71c4 guibg=#eee8d5 guisp=#dc322f gui=reverse,undercurl cterm=reverse,undercurl - hi SpellCap guifg=#6c71c4 guibg=#eee8d5 guisp=#dc322f gui=reverse,undercurl cterm=reverse,undercurl - hi SpellLocal guifg=#b58900 guibg=#eee8d5 guisp=#dc322f gui=reverse,undercurl cterm=reverse,undercurl - hi SpellRare guifg=#2aa198 guibg=#eee8d5 guisp=#dc322f gui=reverse,undercurl cterm=reverse,undercurl - hi Title guifg=#b58900 guibg=NONE guisp=NONE gui=bold cterm=bold - elseif get(g:, 'solarized_visibility', '') ==# 'low' - hi CursorLineNr guifg=#586e75 guibg=#073642 guisp=NONE gui=bold cterm=bold - hi NonText guifg=#073642 guibg=NONE guisp=NONE gui=bold cterm=bold - hi SpecialKey guifg=#073642 guibg=NONE guisp=NONE gui=reverse cterm=reverse - hi SpellBad guifg=#6c71c4 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=undercurl - hi SpellCap guifg=#6c71c4 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=undercurl - hi SpellLocal guifg=#b58900 guibg=NONE guisp=#b58900 gui=undercurl cterm=undercurl - hi SpellRare guifg=#2aa198 guibg=NONE guisp=#2aa198 gui=undercurl cterm=undercurl - hi Title guifg=#586e75 guibg=NONE guisp=NONE gui=bold cterm=bold - else - hi CursorLineNr guifg=#839496 guibg=#073642 guisp=NONE gui=bold cterm=bold - hi NonText guifg=#657b83 guibg=NONE guisp=NONE gui=bold cterm=bold - hi SpecialKey guifg=#657b83 guibg=#073642 guisp=NONE gui=bold cterm=bold - hi SpellBad guifg=#6c71c4 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=undercurl - hi SpellCap guifg=#6c71c4 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=undercurl - hi SpellLocal guifg=#b58900 guibg=NONE guisp=#b58900 gui=undercurl cterm=undercurl - hi SpellRare guifg=#2aa198 guibg=NONE guisp=#2aa198 gui=undercurl cterm=undercurl - hi Title guifg=#b58900 guibg=NONE guisp=NONE gui=bold cterm=bold - endif - if s:termtrans - hi CursorLineNr guibg=NONE - endif - if get(g:, 'solarized_old_cursor_style', 0) - hi Cursor guifg=#002b36 guibg=#839496 guisp=NONE gui=NONE cterm=NONE - else - hi Cursor guifg=#fdf6e3 guibg=#268bd2 guisp=NONE gui=NONE cterm=NONE - endif - if get(g:, 'solarized_diffmode', '') ==# 'high' - hi DiffAdd guifg=#859900 guibg=NONE guisp=NONE gui=reverse cterm=reverse - hi DiffChange guifg=#b58900 guibg=NONE guisp=NONE gui=reverse cterm=reverse - hi DiffDelete guifg=#dc322f guibg=NONE guisp=NONE gui=reverse cterm=reverse - hi DiffText guifg=#268bd2 guibg=NONE guisp=NONE gui=reverse cterm=reverse - elseif get(g:, 'solarized_diffmode', '') ==# 'low' - hi DiffAdd guifg=#859900 guibg=NONE guisp=#859900 gui=NONE cterm=NONE - hi DiffChange guifg=#b58900 guibg=NONE guisp=#b58900 gui=NONE cterm=NONE - hi DiffDelete guifg=#dc322f guibg=NONE guisp=NONE gui=bold cterm=bold - hi DiffText guifg=#268bd2 guibg=NONE guisp=#268bd2 gui=NONE cterm=NONE - else " normal diffmode - hi DiffAdd guifg=#859900 guibg=#073642 guisp=#859900 gui=NONE cterm=NONE - hi DiffChange guifg=#b58900 guibg=#073642 guisp=#b58900 gui=NONE cterm=NONE - hi DiffDelete guifg=#dc322f guibg=#073642 guisp=NONE gui=bold cterm=bold - hi DiffText guifg=#268bd2 guibg=#073642 guisp=#268bd2 gui=NONE cterm=NONE - endif - if get(g:, 'solarized_statusline', '') ==# 'low' - hi StatusLine guifg=#586e75 guibg=#eee8d5 guisp=NONE gui=reverse cterm=reverse - hi StatusLineNC guifg=#586e75 guibg=#93a1a1 guisp=NONE gui=reverse cterm=reverse - hi TabLine guifg=#586e75 guibg=#93a1a1 guisp=NONE gui=reverse cterm=reverse - hi TabLineFill guifg=#586e75 guibg=#93a1a1 guisp=NONE gui=reverse cterm=reverse - hi TabLineSel guifg=#586e75 guibg=#eee8d5 guisp=NONE gui=reverse cterm=reverse - hi VertSplit guifg=#93a1a1 guibg=#586e75 guisp=NONE gui=NONE cterm=NONE - elseif get(g:, 'solarized_statusline', '') ==# 'flat' - hi StatusLine guifg=#002b36 guibg=#eee8d5 guisp=NONE gui=reverse cterm=reverse - hi StatusLineNC guifg=#002b36 guibg=#93a1a1 guisp=NONE gui=reverse cterm=reverse - hi TabLineSel guifg=#eee8d5 guibg=#002b36 guisp=NONE gui=NONE cterm=NONE - hi TabLine guifg=#586e75 guibg=#002b36 guisp=NONE gui=NONE cterm=NONE - hi TabLineFill guifg=#586e75 guibg=#002b36 guisp=NONE gui=NONE cterm=NONE - hi VertSplit guifg=#586e75 guibg=#002b36 guisp=NONE gui=NONE cterm=NONE - else - hi StatusLine guifg=#839496 guibg=#073642 guisp=NONE gui=reverse cterm=reverse - hi StatusLineNC guifg=#586e75 guibg=#073642 guisp=NONE gui=reverse cterm=reverse - hi TabLine guifg=#586e75 guibg=#073642 guisp=NONE gui=reverse cterm=reverse - hi TabLineFill guifg=#586e75 guibg=#073642 guisp=NONE gui=reverse cterm=reverse - hi TabLineSel guifg=#839496 guibg=#073642 guisp=NONE gui=reverse cterm=reverse - hi VertSplit guifg=#93a1a1 guibg=#586e75 guisp=NONE gui=NONE cterm=NONE - endif - hi ColorColumn guifg=NONE guibg=#073642 guisp=NONE gui=NONE cterm=NONE - hi Conceal guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi CursorColumn guifg=NONE guibg=#073642 guisp=NONE gui=NONE cterm=NONE - hi Directory guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi EndOfBuffer guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE - hi ErrorMsg guifg=#dc322f guibg=#fdf6e3 guisp=NONE gui=reverse cterm=reverse - hi IncSearch guifg=#cb4b16 guibg=NONE guisp=NONE gui=standout cterm=standout - hi MatchParen guifg=#fdf6e3 guibg=#073642 guisp=NONE gui=bold cterm=bold - hi ModeMsg guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi MoreMsg guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi Pmenu guifg=#657b83 guibg=#002b36 guisp=NONE gui=NONE cterm=NONE - hi PmenuSbar guifg=NONE guibg=#002b36 guisp=NONE gui=NONE cterm=NONE - hi PmenuSel guifg=#657b83 guibg=#073642 guisp=NONE gui=NONE cterm=NONE - hi PmenuThumb guifg=NONE guibg=#002b36 guisp=NONE gui=NONE cterm=NONE - hi Question guifg=#2aa198 guibg=NONE guisp=NONE gui=bold cterm=bold - hi Search guifg=#b58900 guibg=NONE guisp=NONE gui=reverse cterm=reverse - hi SignColumn guifg=#839496 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi Visual guifg=#586e75 guibg=#002b36 guisp=NONE gui=reverse cterm=reverse - hi VisualNOS guifg=NONE guibg=#073642 guisp=NONE gui=reverse cterm=reverse - hi WarningMsg guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold - hi WildMenu guifg=#eee8d5 guibg=#073642 guisp=NONE gui=reverse cterm=reverse - hi Comment guifg=#586e75 guibg=NONE guisp=NONE gui=italic cterm=italic - hi Constant guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi CursorIM guifg=NONE guibg=fg guisp=NONE gui=NONE cterm=NONE - hi Error guifg=#dc322f guibg=#fdf6e3 guisp=NONE gui=bold,reverse cterm=bold,reverse - hi Identifier guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi Ignore guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE - hi PreProc guifg=#cb4b16 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi Special guifg=#cb4b16 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi Statement guifg=#859900 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi Todo guifg=#d33682 guibg=NONE guisp=NONE gui=bold cterm=bold - hi Type guifg=#b58900 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi Underlined guifg=#6c71c4 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi NormalMode guifg=#839496 guibg=#fdf6e3 guisp=NONE gui=reverse cterm=reverse - hi InsertMode guifg=#2aa198 guibg=#fdf6e3 guisp=NONE gui=reverse cterm=reverse - hi ReplaceMode guifg=#cb4b16 guibg=#fdf6e3 guisp=NONE gui=reverse cterm=reverse - hi VisualMode guifg=#d33682 guibg=#fdf6e3 guisp=NONE gui=reverse cterm=reverse - hi CommandMode guifg=#d33682 guibg=#fdf6e3 guisp=NONE gui=reverse cterm=reverse - if !s:italics - hi Comment gui=NONE cterm=NONE - endif - if !get(g:, 'solarized_extra_hi_groups', 0) - unlet s:t_Co s:italics s:termtrans - finish - endif - hi! link vimVar Identifier - hi! link vimFunc Function - hi! link vimUserFunc Function - hi! link helpSpecial Special - hi! link vimSet Normal - hi! link vimSetEqual Normal - hi vimCommentString guifg=#6c71c4 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi vimCommand guifg=#b58900 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi vimCmdSep guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold - hi helpExample guifg=#93a1a1 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi helpOption guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi helpNote guifg=#d33682 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi helpVim guifg=#d33682 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi helpHyperTextJump guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi helpHyperTextEntry guifg=#859900 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi vimIsCommand guifg=#657b83 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi vimSynMtchOpt guifg=#b58900 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi vimSynType guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi vimHiLink guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi vimHiGroup guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi vimGroup guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold - hi! link diffAdded Statement - hi! link diffLine Identifier - hi gitcommitComment guifg=#586e75 guibg=NONE guisp=NONE gui=italic cterm=italic - hi! link gitcommitUntracked gitcommitComment - hi! link gitcommitDiscarded gitcommitComment - hi! link gitcommitSelected gitcommitComment - hi gitcommitUnmerged guifg=#859900 guibg=NONE guisp=NONE gui=bold cterm=bold - hi gitcommitOnBranch guifg=#586e75 guibg=NONE guisp=NONE gui=bold cterm=bold - hi gitcommitBranch guifg=#d33682 guibg=NONE guisp=NONE gui=bold cterm=bold - hi! link gitcommitNoBranch gitcommitBranch - hi gitcommitdiscardedtype guifg=#dc322f guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi gitcommitselectedtype guifg=#859900 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi gitcommitHeader guifg=#586e75 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi gitcommitUntrackedFile guifg=#2aa198 guibg=NONE guisp=NONE gui=bold cterm=bold - hi gitcommitDiscardedFile guifg=#dc322f guibg=NONE guisp=NONE gui=bold cterm=bold - hi gitcommitSelectedFile guifg=#859900 guibg=NONE guisp=NONE gui=bold cterm=bold - hi gitcommitUnmergedFile guifg=#b58900 guibg=NONE guisp=NONE gui=bold cterm=bold - hi gitcommitFile guifg=#839496 guibg=NONE guisp=NONE gui=bold cterm=bold - hi! link gitcommitDiscardedArrow gitcommitDiscardedFile - hi! link gitcommitSelectedArrow gitcommitSelectedFile - hi! link gitcommitUnmergedArrow gitcommitUnmergedFile - hi htmlTag guifg=#586e75 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi htmlEndTag guifg=#586e75 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi htmlTagN guifg=#93a1a1 guibg=NONE guisp=NONE gui=bold cterm=bold - hi htmlTagName guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold - hi htmlSpecialTagName guifg=#268bd2 guibg=NONE guisp=NONE gui=italic cterm=italic - hi htmlArg guifg=#657b83 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi javaScript guifg=#b58900 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi! link jsFuncCall Function - hi perlHereDoc guifg=#93a1a1 guibg=#073642 guisp=NONE gui=NONE cterm=NONE - hi perlVarPlain guifg=#b58900 guibg=#073642 guisp=NONE gui=NONE cterm=NONE - hi perlStatementFileDesc guifg=#2aa198 guibg=#073642 guisp=NONE gui=NONE cterm=NONE - hi texstatement guifg=#2aa198 guibg=#073642 guisp=NONE gui=NONE cterm=NONE - hi texmathzonex guifg=#b58900 guibg=#073642 guisp=NONE gui=NONE cterm=NONE - hi texmathmatcher guifg=#b58900 guibg=#073642 guisp=NONE gui=NONE cterm=NONE - hi texreflabel guifg=#b58900 guibg=#073642 guisp=NONE gui=NONE cterm=NONE - hi rubyDefine guifg=#93a1a1 guibg=#073642 guisp=NONE gui=bold cterm=bold - hi! link rubySymbol Type - hi rubyBoolean guifg=#d33682 guibg=#073642 guisp=NONE gui=NONE cterm=NONE - hi cPreCondit guifg=#cb4b16 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi VarId guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi ConId guifg=#b58900 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi hsImport guifg=#d33682 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi hsString guifg=#657b83 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi hsStructure guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi hs_hlFunctionName guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi hsStatement guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi hsImportLabel guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi hs_OpFunctionName guifg=#b58900 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi hs_DeclareFunction guifg=#cb4b16 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi hsVarSym guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi hsType guifg=#b58900 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi hsTypedef guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi hsModuleName guifg=#859900 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi! link hsImportParams Delimiter - hi! link hsDelimTypeExport Delimiter - hi! link hsModuleStartLabel hsStructure - hi! link hsModuleWhereLabel hsModuleStartLabel - hi hsNiceOperator guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi hsniceoperator guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE - if !s:italics - hi gitcommitComment gui=NONE cterm=NONE - hi htmlSpecialTagName gui=NONE cterm=NONE - endif - let hs_highlight_boolean=1 - let hs_highlight_delimiters=1 - hi pandocTitleBlock guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocTitleBlockTitle guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocTitleComment guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocComment guifg=#586e75 guibg=NONE guisp=NONE gui=italic cterm=italic - hi pandocVerbatimBlock guifg=#b58900 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi! link pandocVerbatimBlockDeep pandocVerbatimBlock - hi! link pandocCodeBlock pandocVerbatimBlock - hi! link pandocCodeBlockDelim pandocVerbatimBlock - hi pandocBlockQuote guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocBlockQuoteLeader1 guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocBlockQuoteLeader2 guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocBlockQuoteLeader3 guifg=#b58900 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocBlockQuoteLeader4 guifg=#dc322f guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocBlockQuoteLeader5 guifg=#839496 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocBlockQuoteLeader6 guifg=#586e75 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocListMarker guifg=#d33682 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocListReference guifg=#d33682 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocDefinitionBlock guifg=#6c71c4 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocDefinitionTerm guifg=#6c71c4 guibg=NONE guisp=NONE gui=standout cterm=standout - hi pandocDefinitionIndctr guifg=#6c71c4 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocEmphasisDefinition guifg=#6c71c4 guibg=NONE guisp=NONE gui=italic cterm=italic - hi pandocEmphasisNestedDefinition guifg=#6c71c4 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocStrongEmphasisDefinition guifg=#6c71c4 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocStrongEmphasisNestedDefinition guifg=#6c71c4 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocStrongEmphasisEmphasisDefinition guifg=#6c71c4 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocStrikeoutDefinition guifg=#6c71c4 guibg=NONE guisp=NONE gui=reverse cterm=reverse - hi pandocVerbatimInlineDefinition guifg=#6c71c4 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocSuperscriptDefinition guifg=#6c71c4 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocSubscriptDefinition guifg=#6c71c4 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocTable guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocTableStructure guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi! link pandocTableStructureTop pandocTableStructre - hi! link pandocTableStructureEnd pandocTableStructre - hi pandocTableZebraLight guifg=#268bd2 guibg=#002b36 guisp=NONE gui=NONE cterm=NONE - hi pandocTableZebraDark guifg=#268bd2 guibg=#073642 guisp=NONE gui=NONE cterm=NONE - hi pandocEmphasisTable guifg=#268bd2 guibg=NONE guisp=NONE gui=italic cterm=italic - hi pandocEmphasisNestedTable guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocStrongEmphasisTable guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocStrongEmphasisNestedTable guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocStrongEmphasisEmphasisTable guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocStrikeoutTable guifg=#268bd2 guibg=NONE guisp=NONE gui=reverse cterm=reverse - hi pandocVerbatimInlineTable guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocSuperscriptTable guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocSubscriptTable guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocHeading guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocHeadingMarker guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocEmphasisHeading guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocEmphasisNestedHeading guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocStrongEmphasisHeading guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocStrongEmphasisNestedHeading guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocStrongEmphasisEmphasisHeading guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocStrikeoutHeading guifg=#cb4b16 guibg=NONE guisp=NONE gui=reverse cterm=reverse - hi pandocVerbatimInlineHeading guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocSuperscriptHeading guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocSubscriptHeading guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocLinkDelim guifg=#586e75 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocLinkLabel guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocLinkText guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocLinkURL guifg=#657b83 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocLinkTitle guifg=#657b83 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocLinkTitleDelim guifg=#586e75 guibg=NONE guisp=#657b83 gui=NONE cterm=NONE - hi pandocLinkDefinition guifg=#2aa198 guibg=NONE guisp=#657b83 gui=NONE cterm=NONE - hi pandocLinkDefinitionID guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocImageCaption guifg=#6c71c4 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocFootnoteLink guifg=#859900 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocFootnoteDefLink guifg=#859900 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocFootnoteInline guifg=#859900 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocFootnote guifg=#859900 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocCitationDelim guifg=#d33682 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocCitation guifg=#d33682 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocCitationID guifg=#d33682 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocCitationRef guifg=#d33682 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocStyleDelim guifg=#586e75 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocEmphasis guifg=#839496 guibg=NONE guisp=NONE gui=italic cterm=italic - hi pandocEmphasisNested guifg=#839496 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocStrongEmphasis guifg=#839496 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocStrongEmphasisNested guifg=#839496 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocStrongEmphasisEmphasis guifg=#839496 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocStrikeout guifg=#586e75 guibg=NONE guisp=NONE gui=reverse cterm=reverse - hi pandocVerbatimInline guifg=#b58900 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocSuperscript guifg=#6c71c4 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocSubscript guifg=#6c71c4 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocRule guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocRuleLine guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocEscapePair guifg=#dc322f guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocCitationRef guifg=#d33682 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocNonBreakingSpace guifg=#dc322f guibg=NONE guisp=NONE gui=reverse cterm=reverse - hi! link pandocEscapedCharacter pandocEscapePair - hi! link pandocLineBreak pandocEscapePair - hi pandocMetadataDelim guifg=#586e75 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocMetadata guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocMetadataKey guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocMetadata guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold - hi! link pandocMetadataTitle pandocMetadata - if !s:italics - hi pandocComment gui=NONE cterm=NONE - hi pandocEmphasisDefinition gui=NONE cterm=NONE - hi pandocEmphasisTable gui=NONE cterm=NONE - hi pandocEmphasis gui=NONE cterm=NONE - endif - unlet s:termtrans - unlet s:t_Co s:italics - finish - endif - " Light background - let g:terminal_ansi_colors = ['#073642', '#dc322f', '#859900', '#b58900', - \ '#268bd2', '#d33682', '#2aa198', '#eee8d5', '#002b36', '#cb4b16', - \ '#586e75', '#657b83', '#839496', '#6c71c4', '#93a1a1', '#fdf6e3'] - if has('nvim') - let g:terminal_color_0 = '#073642' - let g:terminal_color_1 = '#dc322f' - let g:terminal_color_2 = '#859900' - let g:terminal_color_3 = '#b58900' - let g:terminal_color_4 = '#268bd2' - let g:terminal_color_5 = '#d33682' - let g:terminal_color_6 = '#2aa198' - let g:terminal_color_7 = '#eee8d5' - let g:terminal_color_8 = '#002b36' - let g:terminal_color_9 = '#cb4b16' - let g:terminal_color_10 = '#586e75' - let g:terminal_color_11 = '#657b83' - let g:terminal_color_12 = '#839496' - let g:terminal_color_13 = '#6c71c4' - let g:terminal_color_14 = '#93a1a1' - let g:terminal_color_15 = '#fdf6e3' - endif - if s:termtrans - hi Normal guifg=#657b83 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi FoldColumn guifg=#657b83 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi Folded guifg=#657b83 guibg=NONE guisp=#fdf6e3 gui=bold cterm=bold - hi LineNr guifg=#93a1a1 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi Terminal guifg=fg guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi ToolbarButton guifg=#586e75 guibg=NONE guisp=NONE gui=bold cterm=bold - hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE - else - hi Normal guifg=#657b83 guibg=#eee8d5 guisp=NONE gui=NONE cterm=NONE - hi FoldColumn guifg=#657b83 guibg=#eee8d5 guisp=NONE gui=NONE cterm=NONE - hi Folded guifg=#657b83 guibg=#eee8d5 guisp=#fdf6e3 gui=bold cterm=bold - hi LineNr guifg=#93a1a1 guibg=#eee8d5 guisp=NONE gui=NONE cterm=NONE - hi Terminal guifg=fg guibg=#eee8d5 guisp=NONE gui=NONE cterm=NONE - hi ToolbarButton guifg=#586e75 guibg=#eee8d5 guisp=NONE gui=bold cterm=bold - hi ToolbarLine guifg=NONE guibg=#eee8d5 guisp=NONE gui=NONE cterm=NONE - endif - if get(g:, 'solarized_visibility', '') ==# 'high' - hi CursorLineNr guifg=#dc322f guibg=#eee8d5 guisp=NONE gui=bold cterm=bold - if get(g:, 'solarized_old_cursor_style', 0) - hi Cursor guifg=#fdf6e3 guibg=#657b83 guisp=NONE gui=NONE cterm=NONE - else - hi Cursor guifg=#fdf6e3 guibg=#dc322f guisp=NONE gui=NONE cterm=NONE - endif - hi MatchParen guifg=#002b36 guibg=NONE guisp=NONE gui=bold,underline cterm=bold,underline - hi NonText guifg=#dc322f guibg=NONE guisp=NONE gui=bold cterm=bold - hi SpecialKey guifg=#dc322f guibg=NONE guisp=NONE gui=reverse cterm=reverse - hi SpellBad guifg=#d33682 guibg=#eee8d5 guisp=#6c71c4 gui=reverse,undercurl cterm=reverse,undercurl - hi SpellCap guifg=#d33682 guibg=#eee8d5 guisp=#6c71c4 gui=reverse,undercurl cterm=reverse,undercurl - hi SpellLocal guifg=#b58900 guibg=#eee8d5 guisp=#cb4b16 gui=reverse,undercurl cterm=reverse,undercurl - hi SpellRare guifg=#2aa198 guibg=#eee8d5 guisp=#cb4b16 gui=reverse,undercurl cterm=reverse,undercurl - hi Title guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold - elseif get(g:, 'solarized_visibility', '') ==# 'low' - hi CursorLineNr guifg=#93a1a1 guibg=#eee8d5 guisp=NONE gui=bold cterm=bold - if get(g:, 'solarized_old_cursor_style', 0) - hi Cursor guifg=#fdf6e3 guibg=#657b83 guisp=NONE gui=NONE cterm=NONE - else - hi Cursor guifg=#fdf6e3 guibg=#cb4b16 guisp=NONE gui=NONE cterm=NONE - endif - hi MatchParen guifg=#002b36 guibg=#eee8d5 guisp=NONE gui=bold cterm=bold - hi NonText guifg=#eee8d5 guibg=NONE guisp=NONE gui=bold cterm=bold - hi SpecialKey guifg=#eee8d5 guibg=NONE guisp=NONE gui=bold cterm=bold - hi SpellBad guifg=#d33682 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=undercurl - hi SpellCap guifg=#d33682 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=undercurl - hi SpellLocal guifg=#b58900 guibg=NONE guisp=#b58900 gui=undercurl cterm=undercurl - hi SpellRare guifg=#2aa198 guibg=NONE guisp=#2aa198 gui=undercurl cterm=undercurl - hi Title guifg=#93a1a1 guibg=NONE guisp=NONE gui=bold cterm=bold - else - hi CursorLineNr guifg=#657b83 guibg=#eee8d5 guisp=NONE gui=bold cterm=bold - if get(g:, 'solarized_old_cursor_style', 0) - hi Cursor guifg=#fdf6e3 guibg=#657b83 guisp=NONE gui=NONE cterm=NONE - else - hi Cursor guifg=#fdf6e3 guibg=#cb4b16 guisp=NONE gui=NONE cterm=NONE - endif - hi MatchParen guifg=#002b36 guibg=#eee8d5 guisp=NONE gui=bold cterm=bold - hi NonText guifg=#839496 guibg=NONE guisp=NONE gui=bold cterm=bold - hi SpecialKey guifg=#839496 guibg=#eee8d5 guisp=NONE gui=bold cterm=bold - hi SpellBad guifg=#d33682 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=undercurl - hi SpellCap guifg=#d33682 guibg=NONE guisp=#6c71c4 gui=undercurl cterm=undercurl - hi SpellLocal guifg=#b58900 guibg=NONE guisp=#b58900 gui=undercurl cterm=undercurl - hi SpellRare guifg=#2aa198 guibg=NONE guisp=#2aa198 gui=undercurl cterm=undercurl - hi Title guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold - endif - if s:termtrans - hi CursorLineNr guibg=NONE - endif - if get(g:, 'solarized_diffmode', '') ==# 'high' - hi DiffAdd guifg=#859900 guibg=NONE guisp=NONE gui=reverse cterm=reverse - hi DiffChange guifg=#b58900 guibg=NONE guisp=NONE gui=reverse cterm=reverse - hi DiffDelete guifg=#dc322f guibg=NONE guisp=NONE gui=reverse cterm=reverse - hi DiffText guifg=#268bd2 guibg=NONE guisp=NONE gui=reverse cterm=reverse - elseif get(g:, 'solarized_diffmode', '') ==# 'low' - hi DiffAdd guifg=#859900 guibg=NONE guisp=#859900 gui=NONE cterm=NONE - hi DiffChange guifg=#b58900 guibg=NONE guisp=#b58900 gui=NONE cterm=NONE - hi DiffDelete guifg=#dc322f guibg=NONE guisp=NONE gui=bold cterm=bold - hi DiffText guifg=#268bd2 guibg=NONE guisp=#268bd2 gui=NONE cterm=NONE - else " normal diffmode - hi DiffAdd guifg=#859900 guibg=#eee8d5 guisp=#859900 gui=NONE cterm=NONE - hi DiffChange guifg=#b58900 guibg=#eee8d5 guisp=#b58900 gui=NONE cterm=NONE - hi DiffDelete guifg=#dc322f guibg=#eee8d5 guisp=NONE gui=bold cterm=bold - hi DiffText guifg=#268bd2 guibg=#eee8d5 guisp=#268bd2 gui=NONE cterm=NONE - endif - if get(g:, 'solarized_statusline', '') ==# 'low' - hi StatusLine guifg=#93a1a1 guibg=#eee8d5 guisp=NONE gui=reverse cterm=reverse - hi StatusLineNC guifg=#93a1a1 guibg=#586e75 guisp=NONE gui=reverse cterm=reverse - hi TabLine guifg=#93a1a1 guibg=#586e75 guisp=NONE gui=reverse cterm=reverse - hi TabLineFill guifg=#93a1a1 guibg=#586e75 guisp=NONE gui=reverse cterm=reverse - hi TabLineSel guifg=#93a1a1 guibg=#eee8d5 guisp=NONE gui=reverse cterm=reverse - hi VertSplit guifg=#586e75 guibg=#93a1a1 guisp=NONE gui=NONE cterm=NONE - hi WildMenu guifg=#657b83 guibg=#eee8d5 guisp=NONE gui=reverse cterm=reverse - elseif get(g:, 'solarized_statusline', '') ==# 'flat' - hi StatusLine guifg=#fdf6e3 guibg=#073642 guisp=NONE gui=reverse cterm=reverse - hi StatusLineNC guifg=#fdf6e3 guibg=#586e75 guisp=NONE gui=reverse cterm=reverse - hi TabLineSel guifg=#073642 guibg=#fdf6e3 guisp=NONE gui=NONE cterm=NONE - hi TabLine guifg=#93a1a1 guibg=#fdf6e3 guisp=NONE gui=NONE cterm=NONE - hi TabLineFill guifg=#93a1a1 guibg=#fdf6e3 guisp=NONE gui=NONE cterm=NONE - hi VertSplit guifg=#93a1a1 guibg=#fdf6e3 guisp=NONE gui=NONE cterm=NONE - hi WildMenu guifg=#93a1a1 guibg=#fdf6e3 guisp=NONE gui=reverse cterm=reverse - else - hi StatusLine guifg=#586e75 guibg=#eee8d5 guisp=NONE gui=reverse cterm=reverse - hi StatusLineNC guifg=#839496 guibg=#eee8d5 guisp=NONE gui=reverse cterm=reverse - hi TabLine guifg=#839496 guibg=#eee8d5 guisp=NONE gui=reverse cterm=reverse - hi TabLineFill guifg=#839496 guibg=#eee8d5 guisp=NONE gui=reverse cterm=reverse - hi TabLineSel guifg=#586e75 guibg=#eee8d5 guisp=NONE gui=reverse cterm=reverse - hi VertSplit guifg=#586e75 guibg=#93a1a1 guisp=NONE gui=NONE cterm=NONE - hi WildMenu guifg=#839496 guibg=#eee8d5 guisp=NONE gui=reverse cterm=reverse - endif - hi ColorColumn guifg=NONE guibg=#eee8d5 guisp=NONE gui=NONE cterm=NONE - hi Conceal guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi CursorColumn guifg=NONE guibg=#eee8d5 guisp=NONE gui=NONE cterm=NONE - hi CursorLine guifg=NONE guibg=#eee8d5 guisp=#586e75 gui=underline cterm=underline - hi Directory guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi EndOfBuffer guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE - hi ErrorMsg guifg=#dc322f guibg=#fdf6e3 guisp=NONE gui=reverse cterm=reverse - hi IncSearch guifg=#cb4b16 guibg=NONE guisp=NONE gui=standout cterm=standout - hi ModeMsg guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi MoreMsg guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi Pmenu guifg=#fdf6e3 guibg=#93a1a1 guisp=NONE gui=NONE cterm=NONE - hi PmenuSbar guifg=NONE guibg=#657b83 guisp=NONE gui=NONE cterm=NONE - hi PmenuSel guifg=#fdf6e3 guibg=#839496 guisp=NONE gui=NONE cterm=NONE - hi PmenuThumb guifg=NONE guibg=#839496 guisp=NONE gui=NONE cterm=NONE - hi Question guifg=#2aa198 guibg=NONE guisp=NONE gui=bold cterm=bold - hi Search guifg=#b58900 guibg=NONE guisp=NONE gui=reverse cterm=reverse - hi SignColumn guifg=#657b83 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi Visual guifg=#93a1a1 guibg=#fdf6e3 guisp=NONE gui=reverse cterm=reverse - hi VisualNOS guifg=NONE guibg=#eee8d5 guisp=NONE gui=reverse cterm=reverse - hi WarningMsg guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold - hi Comment guifg=#93a1a1 guibg=NONE guisp=NONE gui=italic cterm=italic - hi Constant guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi CursorIM guifg=NONE guibg=fg guisp=NONE gui=NONE cterm=NONE - hi Error guifg=#dc322f guibg=#fdf6e3 guisp=NONE gui=bold,reverse cterm=bold,reverse - hi Identifier guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi Ignore guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE - hi PreProc guifg=#cb4b16 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi Special guifg=#cb4b16 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi Statement guifg=#859900 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi Todo guifg=#d33682 guibg=NONE guisp=NONE gui=bold cterm=bold - hi Type guifg=#b58900 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi Underlined guifg=#6c71c4 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi NormalMode guifg=#586e75 guibg=#fdf6e3 guisp=NONE gui=reverse cterm=reverse - hi InsertMode guifg=#2aa198 guibg=#fdf6e3 guisp=NONE gui=reverse cterm=reverse - hi ReplaceMode guifg=#cb4b16 guibg=#fdf6e3 guisp=NONE gui=reverse cterm=reverse - hi VisualMode guifg=#d33682 guibg=#fdf6e3 guisp=NONE gui=reverse cterm=reverse - hi CommandMode guifg=#d33682 guibg=#fdf6e3 guisp=NONE gui=reverse cterm=reverse - if !s:italics - hi Comment gui=NONE cterm=NONE - endif - if has('nvim') - hi! link TermCursor Cursor - hi TermCursorNC guifg=#fdf6e3 guibg=#93a1a1 guisp=NONE gui=NONE cterm=NONE - endif - if !get(g:, 'solarized_extra_hi_groups', 0) - unlet s:t_Co s:italics s:termtrans - finish - endif - hi! link vimVar Identifier - hi! link vimFunc Function - hi! link vimUserFunc Function - hi! link helpSpecial Special - hi! link vimSet Normal - hi! link vimSetEqual Normal - hi vimCommentString guifg=#6c71c4 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi vimCommand guifg=#b58900 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi vimCmdSep guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold - hi helpExample guifg=#586e75 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi helpOption guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi helpNote guifg=#d33682 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi helpVim guifg=#d33682 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi helpHyperTextJump guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi helpHyperTextEntry guifg=#859900 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi vimIsCommand guifg=#839496 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi vimSynMtchOpt guifg=#b58900 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi vimSynType guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi vimHiLink guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi vimHiGroup guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi vimGroup guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold - hi! link diffAdded Statement - hi! link diffLine Identifier - hi gitcommitComment guifg=#93a1a1 guibg=NONE guisp=NONE gui=italic cterm=italic - hi! link gitcommitUntracked gitcommitComment - hi! link gitcommitDiscarded gitcommitComment - hi! link gitcommitSelected gitcommitComment - hi gitcommitUnmerged guifg=#859900 guibg=NONE guisp=NONE gui=bold cterm=bold - hi gitcommitOnBranch guifg=#93a1a1 guibg=NONE guisp=NONE gui=bold cterm=bold - hi gitcommitBranch guifg=#d33682 guibg=NONE guisp=NONE gui=bold cterm=bold - hi! link gitcommitNoBranch gitcommitBranch - hi gitcommitdiscardedtype guifg=#dc322f guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi gitcommitselectedtype guifg=#859900 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi gitcommitHeader guifg=#93a1a1 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi gitcommitUntrackedFile guifg=#2aa198 guibg=NONE guisp=NONE gui=bold cterm=bold - hi gitcommitDiscardedFile guifg=#dc322f guibg=NONE guisp=NONE gui=bold cterm=bold - hi gitcommitSelectedFile guifg=#859900 guibg=NONE guisp=NONE gui=bold cterm=bold - hi gitcommitUnmergedFile guifg=#b58900 guibg=NONE guisp=NONE gui=bold cterm=bold - hi gitcommitFile guifg=#657b83 guibg=NONE guisp=NONE gui=bold cterm=bold - hi! link gitcommitDiscardedArrow gitcommitDiscardedFile - hi! link gitcommitSelectedArrow gitcommitSelectedFile - hi! link gitcommitUnmergedArrow gitcommitUnmergedFile - hi htmlTag guifg=#93a1a1 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi htmlEndTag guifg=#93a1a1 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi htmlTagN guifg=#586e75 guibg=NONE guisp=NONE gui=bold cterm=bold - hi htmlTagName guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold - hi htmlSpecialTagName guifg=#268bd2 guibg=NONE guisp=NONE gui=italic cterm=italic - hi htmlArg guifg=#839496 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi javaScript guifg=#b58900 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi! link jsFuncCall Function - hi perlHereDoc guifg=#586e75 guibg=#eee8d5 guisp=NONE gui=NONE cterm=NONE - hi perlVarPlain guifg=#b58900 guibg=#eee8d5 guisp=NONE gui=NONE cterm=NONE - hi perlStatementFileDesc guifg=#2aa198 guibg=#eee8d5 guisp=NONE gui=NONE cterm=NONE - hi texstatement guifg=#2aa198 guibg=#eee8d5 guisp=NONE gui=NONE cterm=NONE - hi texmathzonex guifg=#b58900 guibg=#eee8d5 guisp=NONE gui=NONE cterm=NONE - hi texmathmatcher guifg=#b58900 guibg=#eee8d5 guisp=NONE gui=NONE cterm=NONE - hi texreflabel guifg=#b58900 guibg=#eee8d5 guisp=NONE gui=NONE cterm=NONE - hi rubyDefine guifg=#586e75 guibg=#eee8d5 guisp=NONE gui=bold cterm=bold - hi! link rubySymbol Type - hi rubyBoolean guifg=#d33682 guibg=#eee8d5 guisp=NONE gui=NONE cterm=NONE - hi cPreCondit guifg=#cb4b16 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi VarId guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi ConId guifg=#b58900 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi hsImport guifg=#d33682 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi hsString guifg=#839496 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi hsStructure guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi hs_hlFunctionName guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi hsStatement guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi hsImportLabel guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi hs_OpFunctionName guifg=#b58900 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi hs_DeclareFunction guifg=#cb4b16 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi hsVarSym guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi hsType guifg=#b58900 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi hsTypedef guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi hsModuleName guifg=#859900 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi! link hsImportParams Delimiter - hi! link hsDelimTypeExport Delimiter - hi! link hsModuleStartLabel hsStructure - hi! link hsModuleWhereLabel hsModuleStartLabel - hi hsNiceOperator guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi hsniceoperator guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE - if !s:italics - hi gitcommitComment gui=NONE cterm=NONE - hi htmlSpecialTagName gui=NONE cterm=NONE - endif - let hs_highlight_boolean=1 - let hs_highlight_delimiters=1 - hi pandocTitleBlock guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocTitleBlockTitle guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocTitleComment guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocComment guifg=#93a1a1 guibg=NONE guisp=NONE gui=italic cterm=italic - hi pandocVerbatimBlock guifg=#b58900 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi! link pandocVerbatimBlockDeep pandocVerbatimBlock - hi! link pandocCodeBlock pandocVerbatimBlock - hi! link pandocCodeBlockDelim pandocVerbatimBlock - hi pandocBlockQuote guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocBlockQuoteLeader1 guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocBlockQuoteLeader2 guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocBlockQuoteLeader3 guifg=#b58900 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocBlockQuoteLeader4 guifg=#dc322f guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocBlockQuoteLeader5 guifg=#657b83 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocBlockQuoteLeader6 guifg=#93a1a1 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocListMarker guifg=#d33682 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocListReference guifg=#d33682 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocDefinitionBlock guifg=#6c71c4 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocDefinitionTerm guifg=#6c71c4 guibg=NONE guisp=NONE gui=standout cterm=standout - hi pandocDefinitionIndctr guifg=#6c71c4 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocEmphasisDefinition guifg=#6c71c4 guibg=NONE guisp=NONE gui=italic cterm=italic - hi pandocEmphasisNestedDefinition guifg=#6c71c4 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocStrongEmphasisDefinition guifg=#6c71c4 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocStrongEmphasisNestedDefinition guifg=#6c71c4 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocStrongEmphasisEmphasisDefinition guifg=#6c71c4 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocStrikeoutDefinition guifg=#6c71c4 guibg=NONE guisp=NONE gui=reverse cterm=reverse - hi pandocVerbatimInlineDefinition guifg=#6c71c4 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocSuperscriptDefinition guifg=#6c71c4 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocSubscriptDefinition guifg=#6c71c4 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocTable guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocTableStructure guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi! link pandocTableStructureTop pandocTableStructre - hi! link pandocTableStructureEnd pandocTableStructre - hi pandocTableZebraLight guifg=#268bd2 guibg=#fdf6e3 guisp=NONE gui=NONE cterm=NONE - hi pandocTableZebraDark guifg=#268bd2 guibg=#eee8d5 guisp=NONE gui=NONE cterm=NONE - hi pandocEmphasisTable guifg=#268bd2 guibg=NONE guisp=NONE gui=italic cterm=italic - hi pandocEmphasisNestedTable guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocStrongEmphasisTable guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocStrongEmphasisNestedTable guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocStrongEmphasisEmphasisTable guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocStrikeoutTable guifg=#268bd2 guibg=NONE guisp=NONE gui=reverse cterm=reverse - hi pandocVerbatimInlineTable guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocSuperscriptTable guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocSubscriptTable guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocHeading guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocHeadingMarker guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocEmphasisHeading guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocEmphasisNestedHeading guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocStrongEmphasisHeading guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocStrongEmphasisNestedHeading guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocStrongEmphasisEmphasisHeading guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocStrikeoutHeading guifg=#cb4b16 guibg=NONE guisp=NONE gui=reverse cterm=reverse - hi pandocVerbatimInlineHeading guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocSuperscriptHeading guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocSubscriptHeading guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocLinkDelim guifg=#93a1a1 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocLinkLabel guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocLinkText guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocLinkURL guifg=#839496 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocLinkTitle guifg=#839496 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocLinkTitleDelim guifg=#93a1a1 guibg=NONE guisp=#839496 gui=NONE cterm=NONE - hi pandocLinkDefinition guifg=#2aa198 guibg=NONE guisp=#839496 gui=NONE cterm=NONE - hi pandocLinkDefinitionID guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocImageCaption guifg=#6c71c4 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocFootnoteLink guifg=#859900 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocFootnoteDefLink guifg=#859900 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocFootnoteInline guifg=#859900 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocFootnote guifg=#859900 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocCitationDelim guifg=#d33682 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocCitation guifg=#d33682 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocCitationID guifg=#d33682 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocCitationRef guifg=#d33682 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocStyleDelim guifg=#93a1a1 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocEmphasis guifg=#657b83 guibg=NONE guisp=NONE gui=italic cterm=italic - hi pandocEmphasisNested guifg=#657b83 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocStrongEmphasis guifg=#657b83 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocStrongEmphasisNested guifg=#657b83 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocStrongEmphasisEmphasis guifg=#657b83 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocStrikeout guifg=#93a1a1 guibg=NONE guisp=NONE gui=reverse cterm=reverse - hi pandocVerbatimInline guifg=#b58900 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocSuperscript guifg=#6c71c4 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocSubscript guifg=#6c71c4 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocRule guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocRuleLine guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocEscapePair guifg=#dc322f guibg=NONE guisp=NONE gui=bold cterm=bold - hi pandocCitationRef guifg=#d33682 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocNonBreakingSpace guifg=#dc322f guibg=NONE guisp=NONE gui=reverse cterm=reverse - hi! link pandocEscapedCharacter pandocEscapePair - hi! link pandocLineBreak pandocEscapePair - hi pandocMetadataDelim guifg=#93a1a1 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocMetadata guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocMetadataKey guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE cterm=NONE - hi pandocMetadata guifg=#268bd2 guibg=NONE guisp=NONE gui=bold cterm=bold - hi! link pandocMetadataTitle pandocMetadata - if !s:italics - hi pandocComment gui=NONE cterm=NONE - hi pandocEmphasisDefinition gui=NONE cterm=NONE - hi pandocEmphasisTable gui=NONE cterm=NONE - hi pandocEmphasis gui=NONE cterm=NONE - endif - unlet s:termtrans - unlet s:t_Co s:italics - finish -endif - -if s:t_Co >= 256 - if &background ==# 'dark' - if s:termtrans - hi Normal ctermfg=246 ctermbg=NONE cterm=NONE - hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline - hi FoldColumn ctermfg=fg ctermbg=NONE cterm=NONE - hi Folded ctermfg=fg ctermbg=NONE cterm=bold - hi LineNr ctermfg=242 ctermbg=NONE cterm=NONE - hi Terminal ctermfg=fg ctermbg=NONE cterm=NONE - hi ToolbarButton ctermfg=247 ctermbg=NONE cterm=bold - hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE - else - hi Normal ctermfg=246 ctermbg=236 cterm=NONE - if !has('patch-8.0.0616') && !has('nvim') " Fix for Vim bug - set background=dark - endif - hi CursorLine ctermfg=NONE ctermbg=239 cterm=NONE - hi FoldColumn ctermfg=246 ctermbg=239 cterm=NONE - hi Folded ctermfg=246 ctermbg=239 cterm=bold - hi LineNr ctermfg=242 ctermbg=239 cterm=NONE - hi Terminal ctermfg=fg ctermbg=236 cterm=NONE - hi ToolbarButton ctermfg=247 ctermbg=239 cterm=bold - hi ToolbarLine ctermfg=NONE ctermbg=239 cterm=NONE - endif - if get(g:, 'solarized_visibility', '') ==# 'high' - hi CursorLineNr ctermfg=166 ctermbg=239 cterm=bold - hi NonText ctermfg=166 ctermbg=NONE cterm=bold - hi SpecialKey ctermfg=166 ctermbg=NONE cterm=reverse - hi SpellBad ctermfg=61 ctermbg=254 cterm=reverse,underline - hi SpellCap ctermfg=61 ctermbg=254 cterm=reverse,underline - hi SpellLocal ctermfg=136 ctermbg=254 cterm=reverse,underline - hi SpellRare ctermfg=37 ctermbg=254 cterm=reverse,underline - hi Title ctermfg=136 ctermbg=NONE cterm=bold - elseif get(g:, 'solarized_visibility', '') ==# 'low' - hi CursorLineNr ctermfg=242 ctermbg=239 cterm=bold - hi NonText ctermfg=239 ctermbg=NONE cterm=bold - hi SpecialKey ctermfg=239 ctermbg=NONE cterm=reverse - hi SpellBad ctermfg=61 ctermbg=NONE cterm=underline - hi SpellCap ctermfg=61 ctermbg=NONE cterm=underline - hi SpellLocal ctermfg=136 ctermbg=NONE cterm=underline - hi SpellRare ctermfg=37 ctermbg=NONE cterm=underline - hi Title ctermfg=242 ctermbg=NONE cterm=bold - else - hi CursorLineNr ctermfg=246 ctermbg=239 cterm=bold - hi NonText ctermfg=66 ctermbg=NONE cterm=bold - hi SpecialKey ctermfg=66 ctermbg=239 cterm=bold - hi SpellBad ctermfg=61 ctermbg=NONE cterm=underline - hi SpellCap ctermfg=61 ctermbg=NONE cterm=underline - hi SpellLocal ctermfg=136 ctermbg=NONE cterm=underline - hi SpellRare ctermfg=37 ctermbg=NONE cterm=underline - hi Title ctermfg=136 ctermbg=NONE cterm=bold - endif - if s:termtrans - hi CursorLineNr ctermbg=NONE - endif - if get(g:, 'solarized_old_cursor_style', 0) - hi Cursor ctermfg=235 ctermbg=246 cterm=NONE - else - hi Cursor ctermfg=230 ctermbg=32 cterm=NONE - endif - if get(g:, 'solarized_diffmode', '') ==# 'high' - hi DiffAdd ctermfg=106 ctermbg=NONE cterm=reverse - hi DiffChange ctermfg=136 ctermbg=NONE cterm=reverse - hi DiffDelete ctermfg=160 ctermbg=NONE cterm=reverse - hi DiffText ctermfg=32 ctermbg=NONE cterm=reverse - elseif get(g:, 'solarized_diffmode', '') ==# 'low' - hi DiffAdd ctermfg=106 ctermbg=NONE cterm=NONE - hi DiffChange ctermfg=136 ctermbg=NONE cterm=NONE - hi DiffDelete ctermfg=160 ctermbg=NONE cterm=bold - hi DiffText ctermfg=32 ctermbg=NONE cterm=NONE - else " normal diffmode - hi DiffAdd ctermfg=106 ctermbg=239 cterm=NONE - hi DiffChange ctermfg=136 ctermbg=239 cterm=NONE - hi DiffDelete ctermfg=160 ctermbg=239 cterm=bold - hi DiffText ctermfg=32 ctermbg=239 cterm=NONE - endif - if get(g:, 'solarized_statusline', '') ==# 'low' - hi StatusLine ctermfg=242 ctermbg=254 cterm=reverse - hi StatusLineNC ctermfg=242 ctermbg=247 cterm=reverse - hi TabLine ctermfg=242 ctermbg=247 cterm=reverse - hi TabLineFill ctermfg=242 ctermbg=247 cterm=reverse - hi TabLineSel ctermfg=242 ctermbg=254 cterm=reverse - hi VertSplit ctermfg=247 ctermbg=242 cterm=NONE - elseif get(g:, 'solarized_statusline', '') ==# 'flat' - hi StatusLine ctermfg=235 ctermbg=254 cterm=reverse - hi StatusLineNC ctermfg=235 ctermbg=247 cterm=reverse - hi TabLineSel ctermfg=254 ctermbg=235 cterm=NONE - hi TabLine ctermfg=242 ctermbg=235 cterm=NONE - hi TabLineFill ctermfg=242 ctermbg=235 cterm=NONE - hi VertSplit ctermfg=242 ctermbg=235 cterm=NONE - else - hi StatusLine ctermfg=246 ctermbg=239 cterm=reverse - hi StatusLineNC ctermfg=242 ctermbg=239 cterm=reverse - hi TabLine ctermfg=242 ctermbg=239 cterm=reverse - hi TabLineFill ctermfg=242 ctermbg=239 cterm=reverse - hi TabLineSel ctermfg=246 ctermbg=239 cterm=reverse - hi VertSplit ctermfg=247 ctermbg=242 cterm=NONE - endif - hi ColorColumn ctermfg=NONE ctermbg=239 cterm=NONE - hi Conceal ctermfg=32 ctermbg=NONE cterm=NONE - hi CursorColumn ctermfg=NONE ctermbg=239 cterm=NONE - hi Directory ctermfg=32 ctermbg=NONE cterm=NONE - hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE - hi ErrorMsg ctermfg=160 ctermbg=230 cterm=reverse - hi IncSearch ctermfg=166 ctermbg=NONE cterm=standout - hi MatchParen ctermfg=230 ctermbg=239 cterm=bold - hi ModeMsg ctermfg=32 ctermbg=NONE cterm=NONE - hi MoreMsg ctermfg=32 ctermbg=NONE cterm=NONE - hi Pmenu ctermfg=66 ctermbg=235 cterm=NONE - hi PmenuSbar ctermfg=NONE ctermbg=235 cterm=NONE - hi PmenuSel ctermfg=66 ctermbg=239 cterm=NONE - hi PmenuThumb ctermfg=NONE ctermbg=235 cterm=NONE - hi Question ctermfg=37 ctermbg=NONE cterm=bold - hi Search ctermfg=136 ctermbg=NONE cterm=reverse - hi SignColumn ctermfg=246 ctermbg=NONE cterm=NONE - hi Visual ctermfg=242 ctermbg=235 cterm=reverse - hi VisualNOS ctermfg=NONE ctermbg=239 cterm=reverse - hi WarningMsg ctermfg=166 ctermbg=NONE cterm=bold - hi WildMenu ctermfg=254 ctermbg=239 cterm=reverse - hi Comment ctermfg=242 ctermbg=NONE cterm=italic - hi Constant ctermfg=37 ctermbg=NONE cterm=NONE - hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE - hi Error ctermfg=160 ctermbg=230 cterm=bold,reverse - hi Identifier ctermfg=32 ctermbg=NONE cterm=NONE - hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE - hi PreProc ctermfg=166 ctermbg=NONE cterm=NONE - hi Special ctermfg=166 ctermbg=NONE cterm=NONE - hi Statement ctermfg=106 ctermbg=NONE cterm=NONE - hi Todo ctermfg=162 ctermbg=NONE cterm=bold - hi Type ctermfg=136 ctermbg=NONE cterm=NONE - hi Underlined ctermfg=61 ctermbg=NONE cterm=NONE - hi NormalMode ctermfg=246 ctermbg=230 cterm=reverse - hi InsertMode ctermfg=37 ctermbg=230 cterm=reverse - hi ReplaceMode ctermfg=166 ctermbg=230 cterm=reverse - hi VisualMode ctermfg=162 ctermbg=230 cterm=reverse - hi CommandMode ctermfg=162 ctermbg=230 cterm=reverse - if !s:italics - hi Comment cterm=NONE - endif - if !get(g:, 'solarized_extra_hi_groups', 0) - unlet s:t_Co s:italics s:termtrans - finish - endif - hi! link vimVar Identifier - hi! link vimFunc Function - hi! link vimUserFunc Function - hi! link helpSpecial Special - hi! link vimSet Normal - hi! link vimSetEqual Normal - hi vimCommentString ctermfg=61 ctermbg=NONE cterm=NONE - hi vimCommand ctermfg=136 ctermbg=NONE cterm=NONE - hi vimCmdSep ctermfg=32 ctermbg=NONE cterm=bold - hi helpExample ctermfg=247 ctermbg=NONE cterm=NONE - hi helpOption ctermfg=37 ctermbg=NONE cterm=NONE - hi helpNote ctermfg=162 ctermbg=NONE cterm=NONE - hi helpVim ctermfg=162 ctermbg=NONE cterm=NONE - hi helpHyperTextJump ctermfg=32 ctermbg=NONE cterm=NONE - hi helpHyperTextEntry ctermfg=106 ctermbg=NONE cterm=NONE - hi vimIsCommand ctermfg=66 ctermbg=NONE cterm=NONE - hi vimSynMtchOpt ctermfg=136 ctermbg=NONE cterm=NONE - hi vimSynType ctermfg=37 ctermbg=NONE cterm=NONE - hi vimHiLink ctermfg=32 ctermbg=NONE cterm=NONE - hi vimHiGroup ctermfg=32 ctermbg=NONE cterm=NONE - hi vimGroup ctermfg=32 ctermbg=NONE cterm=bold - hi! link diffAdded Statement - hi! link diffLine Identifier - hi gitcommitComment ctermfg=242 ctermbg=NONE cterm=italic - hi! link gitcommitUntracked gitcommitComment - hi! link gitcommitDiscarded gitcommitComment - hi! link gitcommitSelected gitcommitComment - hi gitcommitUnmerged ctermfg=106 ctermbg=NONE cterm=bold - hi gitcommitOnBranch ctermfg=242 ctermbg=NONE cterm=bold - hi gitcommitBranch ctermfg=162 ctermbg=NONE cterm=bold - hi! link gitcommitNoBranch gitcommitBranch - hi gitcommitdiscardedtype ctermfg=160 ctermbg=NONE cterm=NONE - hi gitcommitselectedtype ctermfg=106 ctermbg=NONE cterm=NONE - hi gitcommitHeader ctermfg=242 ctermbg=NONE cterm=NONE - hi gitcommitUntrackedFile ctermfg=37 ctermbg=NONE cterm=bold - hi gitcommitDiscardedFile ctermfg=160 ctermbg=NONE cterm=bold - hi gitcommitSelectedFile ctermfg=106 ctermbg=NONE cterm=bold - hi gitcommitUnmergedFile ctermfg=136 ctermbg=NONE cterm=bold - hi gitcommitFile ctermfg=246 ctermbg=NONE cterm=bold - hi! link gitcommitDiscardedArrow gitcommitDiscardedFile - hi! link gitcommitSelectedArrow gitcommitSelectedFile - hi! link gitcommitUnmergedArrow gitcommitUnmergedFile - hi htmlTag ctermfg=242 ctermbg=NONE cterm=NONE - hi htmlEndTag ctermfg=242 ctermbg=NONE cterm=NONE - hi htmlTagN ctermfg=247 ctermbg=NONE cterm=bold - hi htmlTagName ctermfg=32 ctermbg=NONE cterm=bold - hi htmlSpecialTagName ctermfg=32 ctermbg=NONE cterm=italic - hi htmlArg ctermfg=66 ctermbg=NONE cterm=NONE - hi javaScript ctermfg=136 ctermbg=NONE cterm=NONE - hi! link jsFuncCall Function - hi perlHereDoc ctermfg=247 ctermbg=236 cterm=NONE - hi perlVarPlain ctermfg=136 ctermbg=236 cterm=NONE - hi perlStatementFileDesc ctermfg=37 ctermbg=236 cterm=NONE - hi texstatement ctermfg=37 ctermbg=236 cterm=NONE - hi texmathzonex ctermfg=136 ctermbg=236 cterm=NONE - hi texmathmatcher ctermfg=136 ctermbg=236 cterm=NONE - hi texreflabel ctermfg=136 ctermbg=236 cterm=NONE - hi rubyDefine ctermfg=247 ctermbg=236 cterm=bold - hi! link rubySymbol Type - hi rubyBoolean ctermfg=162 ctermbg=236 cterm=NONE - hi cPreCondit ctermfg=166 ctermbg=NONE cterm=NONE - hi VarId ctermfg=32 ctermbg=NONE cterm=NONE - hi ConId ctermfg=136 ctermbg=NONE cterm=NONE - hi hsImport ctermfg=162 ctermbg=NONE cterm=NONE - hi hsString ctermfg=66 ctermbg=NONE cterm=NONE - hi hsStructure ctermfg=37 ctermbg=NONE cterm=NONE - hi hs_hlFunctionName ctermfg=32 ctermbg=NONE cterm=NONE - hi hsStatement ctermfg=37 ctermbg=NONE cterm=NONE - hi hsImportLabel ctermfg=37 ctermbg=NONE cterm=NONE - hi hs_OpFunctionName ctermfg=136 ctermbg=NONE cterm=NONE - hi hs_DeclareFunction ctermfg=166 ctermbg=NONE cterm=NONE - hi hsVarSym ctermfg=37 ctermbg=NONE cterm=NONE - hi hsType ctermfg=136 ctermbg=NONE cterm=NONE - hi hsTypedef ctermfg=37 ctermbg=NONE cterm=NONE - hi hsModuleName ctermfg=106 ctermbg=NONE cterm=NONE - hi! link hsImportParams Delimiter - hi! link hsDelimTypeExport Delimiter - hi! link hsModuleStartLabel hsStructure - hi! link hsModuleWhereLabel hsModuleStartLabel - hi hsNiceOperator ctermfg=37 ctermbg=NONE cterm=NONE - hi hsniceoperator ctermfg=37 ctermbg=NONE cterm=NONE - if !s:italics - hi gitcommitComment cterm=NONE - hi htmlSpecialTagName cterm=NONE - endif - let hs_highlight_boolean=1 - let hs_highlight_delimiters=1 - hi pandocTitleBlock ctermfg=32 ctermbg=NONE cterm=NONE - hi pandocTitleBlockTitle ctermfg=32 ctermbg=NONE cterm=bold - hi pandocTitleComment ctermfg=32 ctermbg=NONE cterm=bold - hi pandocComment ctermfg=242 ctermbg=NONE cterm=italic - hi pandocVerbatimBlock ctermfg=136 ctermbg=NONE cterm=NONE - hi! link pandocVerbatimBlockDeep pandocVerbatimBlock - hi! link pandocCodeBlock pandocVerbatimBlock - hi! link pandocCodeBlockDelim pandocVerbatimBlock - hi pandocBlockQuote ctermfg=32 ctermbg=NONE cterm=NONE - hi pandocBlockQuoteLeader1 ctermfg=32 ctermbg=NONE cterm=NONE - hi pandocBlockQuoteLeader2 ctermfg=37 ctermbg=NONE cterm=NONE - hi pandocBlockQuoteLeader3 ctermfg=136 ctermbg=NONE cterm=NONE - hi pandocBlockQuoteLeader4 ctermfg=160 ctermbg=NONE cterm=NONE - hi pandocBlockQuoteLeader5 ctermfg=246 ctermbg=NONE cterm=NONE - hi pandocBlockQuoteLeader6 ctermfg=242 ctermbg=NONE cterm=NONE - hi pandocListMarker ctermfg=162 ctermbg=NONE cterm=NONE - hi pandocListReference ctermfg=162 ctermbg=NONE cterm=NONE - hi pandocDefinitionBlock ctermfg=61 ctermbg=NONE cterm=NONE - hi pandocDefinitionTerm ctermfg=61 ctermbg=NONE cterm=standout - hi pandocDefinitionIndctr ctermfg=61 ctermbg=NONE cterm=bold - hi pandocEmphasisDefinition ctermfg=61 ctermbg=NONE cterm=italic - hi pandocEmphasisNestedDefinition ctermfg=61 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisDefinition ctermfg=61 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisNestedDefinition ctermfg=61 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisEmphasisDefinition ctermfg=61 ctermbg=NONE cterm=bold - hi pandocStrikeoutDefinition ctermfg=61 ctermbg=NONE cterm=reverse - hi pandocVerbatimInlineDefinition ctermfg=61 ctermbg=NONE cterm=NONE - hi pandocSuperscriptDefinition ctermfg=61 ctermbg=NONE cterm=NONE - hi pandocSubscriptDefinition ctermfg=61 ctermbg=NONE cterm=NONE - hi pandocTable ctermfg=32 ctermbg=NONE cterm=NONE - hi pandocTableStructure ctermfg=32 ctermbg=NONE cterm=NONE - hi! link pandocTableStructureTop pandocTableStructre - hi! link pandocTableStructureEnd pandocTableStructre - hi pandocTableZebraLight ctermfg=32 ctermbg=235 cterm=NONE - hi pandocTableZebraDark ctermfg=32 ctermbg=239 cterm=NONE - hi pandocEmphasisTable ctermfg=32 ctermbg=NONE cterm=italic - hi pandocEmphasisNestedTable ctermfg=32 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisTable ctermfg=32 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisNestedTable ctermfg=32 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisEmphasisTable ctermfg=32 ctermbg=NONE cterm=bold - hi pandocStrikeoutTable ctermfg=32 ctermbg=NONE cterm=reverse - hi pandocVerbatimInlineTable ctermfg=32 ctermbg=NONE cterm=NONE - hi pandocSuperscriptTable ctermfg=32 ctermbg=NONE cterm=NONE - hi pandocSubscriptTable ctermfg=32 ctermbg=NONE cterm=NONE - hi pandocHeading ctermfg=166 ctermbg=NONE cterm=bold - hi pandocHeadingMarker ctermfg=166 ctermbg=NONE cterm=bold - hi pandocEmphasisHeading ctermfg=166 ctermbg=NONE cterm=bold - hi pandocEmphasisNestedHeading ctermfg=166 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisHeading ctermfg=166 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisNestedHeading ctermfg=166 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisEmphasisHeading ctermfg=166 ctermbg=NONE cterm=bold - hi pandocStrikeoutHeading ctermfg=166 ctermbg=NONE cterm=reverse - hi pandocVerbatimInlineHeading ctermfg=166 ctermbg=NONE cterm=bold - hi pandocSuperscriptHeading ctermfg=166 ctermbg=NONE cterm=bold - hi pandocSubscriptHeading ctermfg=166 ctermbg=NONE cterm=bold - hi pandocLinkDelim ctermfg=242 ctermbg=NONE cterm=NONE - hi pandocLinkLabel ctermfg=32 ctermbg=NONE cterm=NONE - hi pandocLinkText ctermfg=32 ctermbg=NONE cterm=NONE - hi pandocLinkURL ctermfg=66 ctermbg=NONE cterm=NONE - hi pandocLinkTitle ctermfg=66 ctermbg=NONE cterm=NONE - hi pandocLinkTitleDelim ctermfg=242 ctermbg=NONE cterm=NONE - hi pandocLinkDefinition ctermfg=37 ctermbg=NONE cterm=NONE - hi pandocLinkDefinitionID ctermfg=32 ctermbg=NONE cterm=bold - hi pandocImageCaption ctermfg=61 ctermbg=NONE cterm=bold - hi pandocFootnoteLink ctermfg=106 ctermbg=NONE cterm=NONE - hi pandocFootnoteDefLink ctermfg=106 ctermbg=NONE cterm=bold - hi pandocFootnoteInline ctermfg=106 ctermbg=NONE cterm=bold - hi pandocFootnote ctermfg=106 ctermbg=NONE cterm=NONE - hi pandocCitationDelim ctermfg=162 ctermbg=NONE cterm=NONE - hi pandocCitation ctermfg=162 ctermbg=NONE cterm=NONE - hi pandocCitationID ctermfg=162 ctermbg=NONE cterm=NONE - hi pandocCitationRef ctermfg=162 ctermbg=NONE cterm=NONE - hi pandocStyleDelim ctermfg=242 ctermbg=NONE cterm=NONE - hi pandocEmphasis ctermfg=246 ctermbg=NONE cterm=italic - hi pandocEmphasisNested ctermfg=246 ctermbg=NONE cterm=bold - hi pandocStrongEmphasis ctermfg=246 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisNested ctermfg=246 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisEmphasis ctermfg=246 ctermbg=NONE cterm=bold - hi pandocStrikeout ctermfg=242 ctermbg=NONE cterm=reverse - hi pandocVerbatimInline ctermfg=136 ctermbg=NONE cterm=NONE - hi pandocSuperscript ctermfg=61 ctermbg=NONE cterm=NONE - hi pandocSubscript ctermfg=61 ctermbg=NONE cterm=NONE - hi pandocRule ctermfg=32 ctermbg=NONE cterm=bold - hi pandocRuleLine ctermfg=32 ctermbg=NONE cterm=bold - hi pandocEscapePair ctermfg=160 ctermbg=NONE cterm=bold - hi pandocCitationRef ctermfg=162 ctermbg=NONE cterm=NONE - hi pandocNonBreakingSpace ctermfg=160 ctermbg=NONE cterm=reverse - hi! link pandocEscapedCharacter pandocEscapePair - hi! link pandocLineBreak pandocEscapePair - hi pandocMetadataDelim ctermfg=242 ctermbg=NONE cterm=NONE - hi pandocMetadata ctermfg=32 ctermbg=NONE cterm=NONE - hi pandocMetadataKey ctermfg=32 ctermbg=NONE cterm=NONE - hi pandocMetadata ctermfg=32 ctermbg=NONE cterm=bold - hi! link pandocMetadataTitle pandocMetadata - if !s:italics - hi pandocComment cterm=NONE - hi pandocEmphasisDefinition cterm=NONE - hi pandocEmphasisTable cterm=NONE - hi pandocEmphasis cterm=NONE - endif - unlet s:termtrans - unlet s:t_Co s:italics - finish - endif - " Light background - if s:termtrans - hi Normal ctermfg=66 ctermbg=NONE cterm=NONE - hi FoldColumn ctermfg=66 ctermbg=NONE cterm=NONE - hi Folded ctermfg=66 ctermbg=NONE cterm=bold - hi LineNr ctermfg=247 ctermbg=NONE cterm=NONE - hi Terminal ctermfg=fg ctermbg=NONE cterm=NONE - hi ToolbarButton ctermfg=242 ctermbg=NONE cterm=bold - hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE - else - hi Normal ctermfg=66 ctermbg=254 cterm=NONE - hi FoldColumn ctermfg=66 ctermbg=254 cterm=NONE - hi Folded ctermfg=66 ctermbg=254 cterm=bold - hi LineNr ctermfg=247 ctermbg=254 cterm=NONE - hi Terminal ctermfg=fg ctermbg=254 cterm=NONE - hi ToolbarButton ctermfg=242 ctermbg=254 cterm=bold - hi ToolbarLine ctermfg=NONE ctermbg=254 cterm=NONE - endif - if get(g:, 'solarized_visibility', '') ==# 'high' - hi CursorLineNr ctermfg=160 ctermbg=254 cterm=bold - if get(g:, 'solarized_old_cursor_style', 0) - hi Cursor ctermfg=230 ctermbg=66 cterm=NONE - else - hi Cursor ctermfg=230 ctermbg=160 cterm=NONE - endif - hi MatchParen ctermfg=235 ctermbg=NONE cterm=bold,underline - hi NonText ctermfg=160 ctermbg=NONE cterm=bold - hi SpecialKey ctermfg=160 ctermbg=NONE cterm=reverse - hi SpellBad ctermfg=162 ctermbg=254 cterm=reverse,underline - hi SpellCap ctermfg=162 ctermbg=254 cterm=reverse,underline - hi SpellLocal ctermfg=136 ctermbg=254 cterm=reverse,underline - hi SpellRare ctermfg=37 ctermbg=254 cterm=reverse,underline - hi Title ctermfg=166 ctermbg=NONE cterm=bold - elseif get(g:, 'solarized_visibility', '') ==# 'low' - hi CursorLineNr ctermfg=247 ctermbg=254 cterm=bold - if get(g:, 'solarized_old_cursor_style', 0) - hi Cursor ctermfg=230 ctermbg=66 cterm=NONE - else - hi Cursor ctermfg=230 ctermbg=166 cterm=NONE - endif - hi MatchParen ctermfg=235 ctermbg=254 cterm=bold - hi NonText ctermfg=254 ctermbg=NONE cterm=bold - hi SpecialKey ctermfg=254 ctermbg=NONE cterm=bold - hi SpellBad ctermfg=162 ctermbg=NONE cterm=underline - hi SpellCap ctermfg=162 ctermbg=NONE cterm=underline - hi SpellLocal ctermfg=136 ctermbg=NONE cterm=underline - hi SpellRare ctermfg=37 ctermbg=NONE cterm=underline - hi Title ctermfg=247 ctermbg=NONE cterm=bold - else - hi CursorLineNr ctermfg=66 ctermbg=254 cterm=bold - if get(g:, 'solarized_old_cursor_style', 0) - hi Cursor ctermfg=230 ctermbg=66 cterm=NONE - else - hi Cursor ctermfg=230 ctermbg=166 cterm=NONE - endif - hi MatchParen ctermfg=235 ctermbg=254 cterm=bold - hi NonText ctermfg=246 ctermbg=NONE cterm=bold - hi SpecialKey ctermfg=246 ctermbg=254 cterm=bold - hi SpellBad ctermfg=162 ctermbg=NONE cterm=underline - hi SpellCap ctermfg=162 ctermbg=NONE cterm=underline - hi SpellLocal ctermfg=136 ctermbg=NONE cterm=underline - hi SpellRare ctermfg=37 ctermbg=NONE cterm=underline - hi Title ctermfg=166 ctermbg=NONE cterm=bold - endif - if s:termtrans - hi CursorLineNr ctermbg=NONE - endif - if get(g:, 'solarized_diffmode', '') ==# 'high' - hi DiffAdd ctermfg=106 ctermbg=NONE cterm=reverse - hi DiffChange ctermfg=136 ctermbg=NONE cterm=reverse - hi DiffDelete ctermfg=160 ctermbg=NONE cterm=reverse - hi DiffText ctermfg=32 ctermbg=NONE cterm=reverse - elseif get(g:, 'solarized_diffmode', '') ==# 'low' - hi DiffAdd ctermfg=106 ctermbg=NONE cterm=NONE - hi DiffChange ctermfg=136 ctermbg=NONE cterm=NONE - hi DiffDelete ctermfg=160 ctermbg=NONE cterm=bold - hi DiffText ctermfg=32 ctermbg=NONE cterm=NONE - else " normal diffmode - hi DiffAdd ctermfg=106 ctermbg=254 cterm=NONE - hi DiffChange ctermfg=136 ctermbg=254 cterm=NONE - hi DiffDelete ctermfg=160 ctermbg=254 cterm=bold - hi DiffText ctermfg=32 ctermbg=254 cterm=NONE - endif - if get(g:, 'solarized_statusline', '') ==# 'low' - hi StatusLine ctermfg=247 ctermbg=254 cterm=reverse - hi StatusLineNC ctermfg=247 ctermbg=242 cterm=reverse - hi TabLine ctermfg=247 ctermbg=242 cterm=reverse - hi TabLineFill ctermfg=247 ctermbg=242 cterm=reverse - hi TabLineSel ctermfg=247 ctermbg=254 cterm=reverse - hi VertSplit ctermfg=242 ctermbg=247 cterm=NONE - hi WildMenu ctermfg=66 ctermbg=254 cterm=reverse - elseif get(g:, 'solarized_statusline', '') ==# 'flat' - hi StatusLine ctermfg=230 ctermbg=236 cterm=reverse - hi StatusLineNC ctermfg=230 ctermbg=242 cterm=reverse - hi TabLineSel ctermfg=236 ctermbg=230 cterm=NONE - hi TabLine ctermfg=247 ctermbg=230 cterm=NONE - hi TabLineFill ctermfg=247 ctermbg=230 cterm=NONE - hi VertSplit ctermfg=247 ctermbg=230 cterm=NONE - hi WildMenu ctermfg=247 ctermbg=230 cterm=reverse - else - hi StatusLine ctermfg=242 ctermbg=254 cterm=reverse - hi StatusLineNC ctermfg=246 ctermbg=254 cterm=reverse - hi TabLine ctermfg=246 ctermbg=254 cterm=reverse - hi TabLineFill ctermfg=246 ctermbg=254 cterm=reverse - hi TabLineSel ctermfg=242 ctermbg=254 cterm=reverse - hi VertSplit ctermfg=242 ctermbg=247 cterm=NONE - hi WildMenu ctermfg=246 ctermbg=254 cterm=reverse - endif - hi ColorColumn ctermfg=NONE ctermbg=254 cterm=NONE - hi Conceal ctermfg=32 ctermbg=NONE cterm=NONE - hi CursorColumn ctermfg=NONE ctermbg=254 cterm=NONE - hi CursorLine ctermfg=NONE ctermbg=254 cterm=underline - hi Directory ctermfg=32 ctermbg=NONE cterm=NONE - hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE - hi ErrorMsg ctermfg=160 ctermbg=230 cterm=reverse - hi IncSearch ctermfg=166 ctermbg=NONE cterm=standout - hi ModeMsg ctermfg=32 ctermbg=NONE cterm=NONE - hi MoreMsg ctermfg=32 ctermbg=NONE cterm=NONE - hi Pmenu ctermfg=230 ctermbg=247 cterm=NONE - hi PmenuSbar ctermfg=NONE ctermbg=66 cterm=NONE - hi PmenuSel ctermfg=230 ctermbg=246 cterm=NONE - hi PmenuThumb ctermfg=NONE ctermbg=246 cterm=NONE - hi Question ctermfg=37 ctermbg=NONE cterm=bold - hi Search ctermfg=136 ctermbg=NONE cterm=reverse - hi SignColumn ctermfg=66 ctermbg=NONE cterm=NONE - hi Visual ctermfg=247 ctermbg=230 cterm=reverse - hi VisualNOS ctermfg=NONE ctermbg=254 cterm=reverse - hi WarningMsg ctermfg=166 ctermbg=NONE cterm=bold - hi Comment ctermfg=247 ctermbg=NONE cterm=italic - hi Constant ctermfg=37 ctermbg=NONE cterm=NONE - hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE - hi Error ctermfg=160 ctermbg=230 cterm=bold,reverse - hi Identifier ctermfg=32 ctermbg=NONE cterm=NONE - hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE - hi PreProc ctermfg=166 ctermbg=NONE cterm=NONE - hi Special ctermfg=166 ctermbg=NONE cterm=NONE - hi Statement ctermfg=106 ctermbg=NONE cterm=NONE - hi Todo ctermfg=162 ctermbg=NONE cterm=bold - hi Type ctermfg=136 ctermbg=NONE cterm=NONE - hi Underlined ctermfg=61 ctermbg=NONE cterm=NONE - hi NormalMode ctermfg=242 ctermbg=230 cterm=reverse - hi InsertMode ctermfg=37 ctermbg=230 cterm=reverse - hi ReplaceMode ctermfg=166 ctermbg=230 cterm=reverse - hi VisualMode ctermfg=162 ctermbg=230 cterm=reverse - hi CommandMode ctermfg=162 ctermbg=230 cterm=reverse - if !s:italics - hi Comment cterm=NONE - endif - if has('nvim') - hi! link TermCursor Cursor - hi TermCursorNC ctermfg=230 ctermbg=247 cterm=NONE - endif - if !get(g:, 'solarized_extra_hi_groups', 0) - unlet s:t_Co s:italics s:termtrans - finish - endif - hi! link vimVar Identifier - hi! link vimFunc Function - hi! link vimUserFunc Function - hi! link helpSpecial Special - hi! link vimSet Normal - hi! link vimSetEqual Normal - hi vimCommentString ctermfg=61 ctermbg=NONE cterm=NONE - hi vimCommand ctermfg=136 ctermbg=NONE cterm=NONE - hi vimCmdSep ctermfg=32 ctermbg=NONE cterm=bold - hi helpExample ctermfg=242 ctermbg=NONE cterm=NONE - hi helpOption ctermfg=37 ctermbg=NONE cterm=NONE - hi helpNote ctermfg=162 ctermbg=NONE cterm=NONE - hi helpVim ctermfg=162 ctermbg=NONE cterm=NONE - hi helpHyperTextJump ctermfg=32 ctermbg=NONE cterm=NONE - hi helpHyperTextEntry ctermfg=106 ctermbg=NONE cterm=NONE - hi vimIsCommand ctermfg=246 ctermbg=NONE cterm=NONE - hi vimSynMtchOpt ctermfg=136 ctermbg=NONE cterm=NONE - hi vimSynType ctermfg=37 ctermbg=NONE cterm=NONE - hi vimHiLink ctermfg=32 ctermbg=NONE cterm=NONE - hi vimHiGroup ctermfg=32 ctermbg=NONE cterm=NONE - hi vimGroup ctermfg=32 ctermbg=NONE cterm=bold - hi! link diffAdded Statement - hi! link diffLine Identifier - hi gitcommitComment ctermfg=247 ctermbg=NONE cterm=italic - hi! link gitcommitUntracked gitcommitComment - hi! link gitcommitDiscarded gitcommitComment - hi! link gitcommitSelected gitcommitComment - hi gitcommitUnmerged ctermfg=106 ctermbg=NONE cterm=bold - hi gitcommitOnBranch ctermfg=247 ctermbg=NONE cterm=bold - hi gitcommitBranch ctermfg=162 ctermbg=NONE cterm=bold - hi! link gitcommitNoBranch gitcommitBranch - hi gitcommitdiscardedtype ctermfg=160 ctermbg=NONE cterm=NONE - hi gitcommitselectedtype ctermfg=106 ctermbg=NONE cterm=NONE - hi gitcommitHeader ctermfg=247 ctermbg=NONE cterm=NONE - hi gitcommitUntrackedFile ctermfg=37 ctermbg=NONE cterm=bold - hi gitcommitDiscardedFile ctermfg=160 ctermbg=NONE cterm=bold - hi gitcommitSelectedFile ctermfg=106 ctermbg=NONE cterm=bold - hi gitcommitUnmergedFile ctermfg=136 ctermbg=NONE cterm=bold - hi gitcommitFile ctermfg=66 ctermbg=NONE cterm=bold - hi! link gitcommitDiscardedArrow gitcommitDiscardedFile - hi! link gitcommitSelectedArrow gitcommitSelectedFile - hi! link gitcommitUnmergedArrow gitcommitUnmergedFile - hi htmlTag ctermfg=247 ctermbg=NONE cterm=NONE - hi htmlEndTag ctermfg=247 ctermbg=NONE cterm=NONE - hi htmlTagN ctermfg=242 ctermbg=NONE cterm=bold - hi htmlTagName ctermfg=32 ctermbg=NONE cterm=bold - hi htmlSpecialTagName ctermfg=32 ctermbg=NONE cterm=italic - hi htmlArg ctermfg=246 ctermbg=NONE cterm=NONE - hi javaScript ctermfg=136 ctermbg=NONE cterm=NONE - hi! link jsFuncCall Function - hi perlHereDoc ctermfg=242 ctermbg=254 cterm=NONE - hi perlVarPlain ctermfg=136 ctermbg=254 cterm=NONE - hi perlStatementFileDesc ctermfg=37 ctermbg=254 cterm=NONE - hi texstatement ctermfg=37 ctermbg=254 cterm=NONE - hi texmathzonex ctermfg=136 ctermbg=254 cterm=NONE - hi texmathmatcher ctermfg=136 ctermbg=254 cterm=NONE - hi texreflabel ctermfg=136 ctermbg=254 cterm=NONE - hi rubyDefine ctermfg=242 ctermbg=254 cterm=bold - hi! link rubySymbol Type - hi rubyBoolean ctermfg=162 ctermbg=254 cterm=NONE - hi cPreCondit ctermfg=166 ctermbg=NONE cterm=NONE - hi VarId ctermfg=32 ctermbg=NONE cterm=NONE - hi ConId ctermfg=136 ctermbg=NONE cterm=NONE - hi hsImport ctermfg=162 ctermbg=NONE cterm=NONE - hi hsString ctermfg=246 ctermbg=NONE cterm=NONE - hi hsStructure ctermfg=37 ctermbg=NONE cterm=NONE - hi hs_hlFunctionName ctermfg=32 ctermbg=NONE cterm=NONE - hi hsStatement ctermfg=37 ctermbg=NONE cterm=NONE - hi hsImportLabel ctermfg=37 ctermbg=NONE cterm=NONE - hi hs_OpFunctionName ctermfg=136 ctermbg=NONE cterm=NONE - hi hs_DeclareFunction ctermfg=166 ctermbg=NONE cterm=NONE - hi hsVarSym ctermfg=37 ctermbg=NONE cterm=NONE - hi hsType ctermfg=136 ctermbg=NONE cterm=NONE - hi hsTypedef ctermfg=37 ctermbg=NONE cterm=NONE - hi hsModuleName ctermfg=106 ctermbg=NONE cterm=NONE - hi! link hsImportParams Delimiter - hi! link hsDelimTypeExport Delimiter - hi! link hsModuleStartLabel hsStructure - hi! link hsModuleWhereLabel hsModuleStartLabel - hi hsNiceOperator ctermfg=37 ctermbg=NONE cterm=NONE - hi hsniceoperator ctermfg=37 ctermbg=NONE cterm=NONE - if !s:italics - hi gitcommitComment cterm=NONE - hi htmlSpecialTagName cterm=NONE - endif - let hs_highlight_boolean=1 - let hs_highlight_delimiters=1 - hi pandocTitleBlock ctermfg=32 ctermbg=NONE cterm=NONE - hi pandocTitleBlockTitle ctermfg=32 ctermbg=NONE cterm=bold - hi pandocTitleComment ctermfg=32 ctermbg=NONE cterm=bold - hi pandocComment ctermfg=247 ctermbg=NONE cterm=italic - hi pandocVerbatimBlock ctermfg=136 ctermbg=NONE cterm=NONE - hi! link pandocVerbatimBlockDeep pandocVerbatimBlock - hi! link pandocCodeBlock pandocVerbatimBlock - hi! link pandocCodeBlockDelim pandocVerbatimBlock - hi pandocBlockQuote ctermfg=32 ctermbg=NONE cterm=NONE - hi pandocBlockQuoteLeader1 ctermfg=32 ctermbg=NONE cterm=NONE - hi pandocBlockQuoteLeader2 ctermfg=37 ctermbg=NONE cterm=NONE - hi pandocBlockQuoteLeader3 ctermfg=136 ctermbg=NONE cterm=NONE - hi pandocBlockQuoteLeader4 ctermfg=160 ctermbg=NONE cterm=NONE - hi pandocBlockQuoteLeader5 ctermfg=66 ctermbg=NONE cterm=NONE - hi pandocBlockQuoteLeader6 ctermfg=247 ctermbg=NONE cterm=NONE - hi pandocListMarker ctermfg=162 ctermbg=NONE cterm=NONE - hi pandocListReference ctermfg=162 ctermbg=NONE cterm=NONE - hi pandocDefinitionBlock ctermfg=61 ctermbg=NONE cterm=NONE - hi pandocDefinitionTerm ctermfg=61 ctermbg=NONE cterm=standout - hi pandocDefinitionIndctr ctermfg=61 ctermbg=NONE cterm=bold - hi pandocEmphasisDefinition ctermfg=61 ctermbg=NONE cterm=italic - hi pandocEmphasisNestedDefinition ctermfg=61 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisDefinition ctermfg=61 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisNestedDefinition ctermfg=61 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisEmphasisDefinition ctermfg=61 ctermbg=NONE cterm=bold - hi pandocStrikeoutDefinition ctermfg=61 ctermbg=NONE cterm=reverse - hi pandocVerbatimInlineDefinition ctermfg=61 ctermbg=NONE cterm=NONE - hi pandocSuperscriptDefinition ctermfg=61 ctermbg=NONE cterm=NONE - hi pandocSubscriptDefinition ctermfg=61 ctermbg=NONE cterm=NONE - hi pandocTable ctermfg=32 ctermbg=NONE cterm=NONE - hi pandocTableStructure ctermfg=32 ctermbg=NONE cterm=NONE - hi! link pandocTableStructureTop pandocTableStructre - hi! link pandocTableStructureEnd pandocTableStructre - hi pandocTableZebraLight ctermfg=32 ctermbg=230 cterm=NONE - hi pandocTableZebraDark ctermfg=32 ctermbg=254 cterm=NONE - hi pandocEmphasisTable ctermfg=32 ctermbg=NONE cterm=italic - hi pandocEmphasisNestedTable ctermfg=32 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisTable ctermfg=32 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisNestedTable ctermfg=32 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisEmphasisTable ctermfg=32 ctermbg=NONE cterm=bold - hi pandocStrikeoutTable ctermfg=32 ctermbg=NONE cterm=reverse - hi pandocVerbatimInlineTable ctermfg=32 ctermbg=NONE cterm=NONE - hi pandocSuperscriptTable ctermfg=32 ctermbg=NONE cterm=NONE - hi pandocSubscriptTable ctermfg=32 ctermbg=NONE cterm=NONE - hi pandocHeading ctermfg=166 ctermbg=NONE cterm=bold - hi pandocHeadingMarker ctermfg=166 ctermbg=NONE cterm=bold - hi pandocEmphasisHeading ctermfg=166 ctermbg=NONE cterm=bold - hi pandocEmphasisNestedHeading ctermfg=166 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisHeading ctermfg=166 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisNestedHeading ctermfg=166 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisEmphasisHeading ctermfg=166 ctermbg=NONE cterm=bold - hi pandocStrikeoutHeading ctermfg=166 ctermbg=NONE cterm=reverse - hi pandocVerbatimInlineHeading ctermfg=166 ctermbg=NONE cterm=bold - hi pandocSuperscriptHeading ctermfg=166 ctermbg=NONE cterm=bold - hi pandocSubscriptHeading ctermfg=166 ctermbg=NONE cterm=bold - hi pandocLinkDelim ctermfg=247 ctermbg=NONE cterm=NONE - hi pandocLinkLabel ctermfg=32 ctermbg=NONE cterm=NONE - hi pandocLinkText ctermfg=32 ctermbg=NONE cterm=NONE - hi pandocLinkURL ctermfg=246 ctermbg=NONE cterm=NONE - hi pandocLinkTitle ctermfg=246 ctermbg=NONE cterm=NONE - hi pandocLinkTitleDelim ctermfg=247 ctermbg=NONE cterm=NONE - hi pandocLinkDefinition ctermfg=37 ctermbg=NONE cterm=NONE - hi pandocLinkDefinitionID ctermfg=32 ctermbg=NONE cterm=bold - hi pandocImageCaption ctermfg=61 ctermbg=NONE cterm=bold - hi pandocFootnoteLink ctermfg=106 ctermbg=NONE cterm=NONE - hi pandocFootnoteDefLink ctermfg=106 ctermbg=NONE cterm=bold - hi pandocFootnoteInline ctermfg=106 ctermbg=NONE cterm=bold - hi pandocFootnote ctermfg=106 ctermbg=NONE cterm=NONE - hi pandocCitationDelim ctermfg=162 ctermbg=NONE cterm=NONE - hi pandocCitation ctermfg=162 ctermbg=NONE cterm=NONE - hi pandocCitationID ctermfg=162 ctermbg=NONE cterm=NONE - hi pandocCitationRef ctermfg=162 ctermbg=NONE cterm=NONE - hi pandocStyleDelim ctermfg=247 ctermbg=NONE cterm=NONE - hi pandocEmphasis ctermfg=66 ctermbg=NONE cterm=italic - hi pandocEmphasisNested ctermfg=66 ctermbg=NONE cterm=bold - hi pandocStrongEmphasis ctermfg=66 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisNested ctermfg=66 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisEmphasis ctermfg=66 ctermbg=NONE cterm=bold - hi pandocStrikeout ctermfg=247 ctermbg=NONE cterm=reverse - hi pandocVerbatimInline ctermfg=136 ctermbg=NONE cterm=NONE - hi pandocSuperscript ctermfg=61 ctermbg=NONE cterm=NONE - hi pandocSubscript ctermfg=61 ctermbg=NONE cterm=NONE - hi pandocRule ctermfg=32 ctermbg=NONE cterm=bold - hi pandocRuleLine ctermfg=32 ctermbg=NONE cterm=bold - hi pandocEscapePair ctermfg=160 ctermbg=NONE cterm=bold - hi pandocCitationRef ctermfg=162 ctermbg=NONE cterm=NONE - hi pandocNonBreakingSpace ctermfg=160 ctermbg=NONE cterm=reverse - hi! link pandocEscapedCharacter pandocEscapePair - hi! link pandocLineBreak pandocEscapePair - hi pandocMetadataDelim ctermfg=247 ctermbg=NONE cterm=NONE - hi pandocMetadata ctermfg=32 ctermbg=NONE cterm=NONE - hi pandocMetadataKey ctermfg=32 ctermbg=NONE cterm=NONE - hi pandocMetadata ctermfg=32 ctermbg=NONE cterm=bold - hi! link pandocMetadataTitle pandocMetadata - if !s:italics - hi pandocComment cterm=NONE - hi pandocEmphasisDefinition cterm=NONE - hi pandocEmphasisTable cterm=NONE - hi pandocEmphasis cterm=NONE - endif - unlet s:termtrans - unlet s:t_Co s:italics - finish -endif - -if s:t_Co >= 16 - if &background ==# 'dark' - if s:termtrans - hi Normal ctermfg=12 ctermbg=NONE cterm=NONE - hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline - hi FoldColumn ctermfg=fg ctermbg=NONE cterm=NONE - hi Folded ctermfg=fg ctermbg=NONE cterm=bold - hi LineNr ctermfg=10 ctermbg=NONE cterm=NONE - hi Terminal ctermfg=fg ctermbg=NONE cterm=NONE - hi ToolbarButton ctermfg=14 ctermbg=NONE cterm=bold - hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE - else - hi Normal ctermfg=12 ctermbg=0 cterm=NONE - hi CursorLine ctermfg=NONE ctermbg=0 cterm=NONE - hi FoldColumn ctermfg=12 ctermbg=0 cterm=NONE - hi Folded ctermfg=12 ctermbg=0 cterm=bold - hi LineNr ctermfg=10 ctermbg=0 cterm=NONE - hi Terminal ctermfg=fg ctermbg=0 cterm=NONE - hi ToolbarButton ctermfg=14 ctermbg=0 cterm=bold - hi ToolbarLine ctermfg=NONE ctermbg=0 cterm=NONE - endif - if get(g:, 'solarized_visibility', '') ==# 'high' - hi CursorLineNr ctermfg=9 ctermbg=0 cterm=bold - hi NonText ctermfg=9 ctermbg=NONE cterm=bold - hi SpecialKey ctermfg=9 ctermbg=NONE cterm=reverse - hi SpellBad ctermfg=13 ctermbg=7 cterm=reverse,underline - hi SpellCap ctermfg=13 ctermbg=7 cterm=reverse,underline - hi SpellLocal ctermfg=3 ctermbg=7 cterm=reverse,underline - hi SpellRare ctermfg=6 ctermbg=7 cterm=reverse,underline - hi Title ctermfg=3 ctermbg=NONE cterm=bold - elseif get(g:, 'solarized_visibility', '') ==# 'low' - hi CursorLineNr ctermfg=10 ctermbg=0 cterm=bold - hi NonText ctermfg=0 ctermbg=NONE cterm=bold - hi SpecialKey ctermfg=0 ctermbg=NONE cterm=reverse - hi SpellBad ctermfg=13 ctermbg=NONE cterm=underline - hi SpellCap ctermfg=13 ctermbg=NONE cterm=underline - hi SpellLocal ctermfg=3 ctermbg=NONE cterm=underline - hi SpellRare ctermfg=6 ctermbg=NONE cterm=underline - hi Title ctermfg=10 ctermbg=NONE cterm=bold - else - hi CursorLineNr ctermfg=12 ctermbg=0 cterm=bold - hi NonText ctermfg=11 ctermbg=NONE cterm=bold - hi SpecialKey ctermfg=11 ctermbg=0 cterm=bold - hi SpellBad ctermfg=13 ctermbg=NONE cterm=underline - hi SpellCap ctermfg=13 ctermbg=NONE cterm=underline - hi SpellLocal ctermfg=3 ctermbg=NONE cterm=underline - hi SpellRare ctermfg=6 ctermbg=NONE cterm=underline - hi Title ctermfg=3 ctermbg=NONE cterm=bold - endif - if s:termtrans - hi CursorLineNr ctermbg=NONE - endif - if get(g:, 'solarized_old_cursor_style', 0) - hi Cursor ctermfg=8 ctermbg=12 cterm=NONE - else - hi Cursor ctermfg=15 ctermbg=4 cterm=NONE - endif - if get(g:, 'solarized_diffmode', '') ==# 'high' - hi DiffAdd ctermfg=2 ctermbg=NONE cterm=reverse - hi DiffChange ctermfg=3 ctermbg=NONE cterm=reverse - hi DiffDelete ctermfg=1 ctermbg=NONE cterm=reverse - hi DiffText ctermfg=4 ctermbg=NONE cterm=reverse - elseif get(g:, 'solarized_diffmode', '') ==# 'low' - hi DiffAdd ctermfg=2 ctermbg=NONE cterm=NONE - hi DiffChange ctermfg=3 ctermbg=NONE cterm=NONE - hi DiffDelete ctermfg=1 ctermbg=NONE cterm=bold - hi DiffText ctermfg=4 ctermbg=NONE cterm=NONE - else " normal diffmode - hi DiffAdd ctermfg=2 ctermbg=0 cterm=NONE - hi DiffChange ctermfg=3 ctermbg=0 cterm=NONE - hi DiffDelete ctermfg=1 ctermbg=0 cterm=bold - hi DiffText ctermfg=4 ctermbg=0 cterm=NONE - endif - if get(g:, 'solarized_statusline', '') ==# 'low' - hi StatusLine ctermfg=10 ctermbg=7 cterm=reverse - hi StatusLineNC ctermfg=10 ctermbg=14 cterm=reverse - hi TabLine ctermfg=10 ctermbg=14 cterm=reverse - hi TabLineFill ctermfg=10 ctermbg=14 cterm=reverse - hi TabLineSel ctermfg=10 ctermbg=7 cterm=reverse - hi VertSplit ctermfg=14 ctermbg=10 cterm=NONE - elseif get(g:, 'solarized_statusline', '') ==# 'flat' - hi StatusLine ctermfg=8 ctermbg=7 cterm=reverse - hi StatusLineNC ctermfg=8 ctermbg=14 cterm=reverse - hi TabLineSel ctermfg=7 ctermbg=8 cterm=NONE - hi TabLine ctermfg=10 ctermbg=8 cterm=NONE - hi TabLineFill ctermfg=10 ctermbg=8 cterm=NONE - hi VertSplit ctermfg=10 ctermbg=8 cterm=NONE - else - hi StatusLine ctermfg=12 ctermbg=0 cterm=reverse - hi StatusLineNC ctermfg=10 ctermbg=0 cterm=reverse - hi TabLine ctermfg=10 ctermbg=0 cterm=reverse - hi TabLineFill ctermfg=10 ctermbg=0 cterm=reverse - hi TabLineSel ctermfg=12 ctermbg=0 cterm=reverse - hi VertSplit ctermfg=14 ctermbg=10 cterm=NONE - endif - hi ColorColumn ctermfg=NONE ctermbg=0 cterm=NONE - hi Conceal ctermfg=4 ctermbg=NONE cterm=NONE - hi CursorColumn ctermfg=NONE ctermbg=0 cterm=NONE - hi Directory ctermfg=4 ctermbg=NONE cterm=NONE - hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE - hi ErrorMsg ctermfg=1 ctermbg=15 cterm=reverse - hi IncSearch ctermfg=9 ctermbg=NONE cterm=standout - hi MatchParen ctermfg=15 ctermbg=0 cterm=bold - hi ModeMsg ctermfg=4 ctermbg=NONE cterm=NONE - hi MoreMsg ctermfg=4 ctermbg=NONE cterm=NONE - hi Pmenu ctermfg=11 ctermbg=8 cterm=NONE - hi PmenuSbar ctermfg=NONE ctermbg=8 cterm=NONE - hi PmenuSel ctermfg=11 ctermbg=0 cterm=NONE - hi PmenuThumb ctermfg=NONE ctermbg=8 cterm=NONE - hi Question ctermfg=6 ctermbg=NONE cterm=bold - hi Search ctermfg=3 ctermbg=NONE cterm=reverse - hi SignColumn ctermfg=12 ctermbg=NONE cterm=NONE - hi Visual ctermfg=10 ctermbg=8 cterm=reverse - hi VisualNOS ctermfg=NONE ctermbg=0 cterm=reverse - hi WarningMsg ctermfg=9 ctermbg=NONE cterm=bold - hi WildMenu ctermfg=7 ctermbg=0 cterm=reverse - hi Comment ctermfg=10 ctermbg=NONE cterm=italic - hi Constant ctermfg=6 ctermbg=NONE cterm=NONE - hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE - hi Error ctermfg=1 ctermbg=15 cterm=bold,reverse - hi Identifier ctermfg=4 ctermbg=NONE cterm=NONE - hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE - hi PreProc ctermfg=9 ctermbg=NONE cterm=NONE - hi Special ctermfg=9 ctermbg=NONE cterm=NONE - hi Statement ctermfg=2 ctermbg=NONE cterm=NONE - hi Todo ctermfg=5 ctermbg=NONE cterm=bold - hi Type ctermfg=3 ctermbg=NONE cterm=NONE - hi Underlined ctermfg=13 ctermbg=NONE cterm=NONE - hi NormalMode ctermfg=12 ctermbg=15 cterm=reverse - hi InsertMode ctermfg=6 ctermbg=15 cterm=reverse - hi ReplaceMode ctermfg=9 ctermbg=15 cterm=reverse - hi VisualMode ctermfg=5 ctermbg=15 cterm=reverse - hi CommandMode ctermfg=5 ctermbg=15 cterm=reverse - if !s:italics - hi Comment cterm=NONE - endif - if !get(g:, 'solarized_extra_hi_groups', 0) - unlet s:t_Co s:italics s:termtrans - finish - endif - hi! link vimVar Identifier - hi! link vimFunc Function - hi! link vimUserFunc Function - hi! link helpSpecial Special - hi! link vimSet Normal - hi! link vimSetEqual Normal - hi vimCommentString ctermfg=13 ctermbg=NONE cterm=NONE - hi vimCommand ctermfg=3 ctermbg=NONE cterm=NONE - hi vimCmdSep ctermfg=4 ctermbg=NONE cterm=bold - hi helpExample ctermfg=14 ctermbg=NONE cterm=NONE - hi helpOption ctermfg=6 ctermbg=NONE cterm=NONE - hi helpNote ctermfg=5 ctermbg=NONE cterm=NONE - hi helpVim ctermfg=5 ctermbg=NONE cterm=NONE - hi helpHyperTextJump ctermfg=4 ctermbg=NONE cterm=NONE - hi helpHyperTextEntry ctermfg=2 ctermbg=NONE cterm=NONE - hi vimIsCommand ctermfg=11 ctermbg=NONE cterm=NONE - hi vimSynMtchOpt ctermfg=3 ctermbg=NONE cterm=NONE - hi vimSynType ctermfg=6 ctermbg=NONE cterm=NONE - hi vimHiLink ctermfg=4 ctermbg=NONE cterm=NONE - hi vimHiGroup ctermfg=4 ctermbg=NONE cterm=NONE - hi vimGroup ctermfg=4 ctermbg=NONE cterm=bold - hi! link diffAdded Statement - hi! link diffLine Identifier - hi gitcommitComment ctermfg=10 ctermbg=NONE cterm=italic - hi! link gitcommitUntracked gitcommitComment - hi! link gitcommitDiscarded gitcommitComment - hi! link gitcommitSelected gitcommitComment - hi gitcommitUnmerged ctermfg=2 ctermbg=NONE cterm=bold - hi gitcommitOnBranch ctermfg=10 ctermbg=NONE cterm=bold - hi gitcommitBranch ctermfg=5 ctermbg=NONE cterm=bold - hi! link gitcommitNoBranch gitcommitBranch - hi gitcommitdiscardedtype ctermfg=1 ctermbg=NONE cterm=NONE - hi gitcommitselectedtype ctermfg=2 ctermbg=NONE cterm=NONE - hi gitcommitHeader ctermfg=10 ctermbg=NONE cterm=NONE - hi gitcommitUntrackedFile ctermfg=6 ctermbg=NONE cterm=bold - hi gitcommitDiscardedFile ctermfg=1 ctermbg=NONE cterm=bold - hi gitcommitSelectedFile ctermfg=2 ctermbg=NONE cterm=bold - hi gitcommitUnmergedFile ctermfg=3 ctermbg=NONE cterm=bold - hi gitcommitFile ctermfg=12 ctermbg=NONE cterm=bold - hi! link gitcommitDiscardedArrow gitcommitDiscardedFile - hi! link gitcommitSelectedArrow gitcommitSelectedFile - hi! link gitcommitUnmergedArrow gitcommitUnmergedFile - hi htmlTag ctermfg=10 ctermbg=NONE cterm=NONE - hi htmlEndTag ctermfg=10 ctermbg=NONE cterm=NONE - hi htmlTagN ctermfg=14 ctermbg=NONE cterm=bold - hi htmlTagName ctermfg=4 ctermbg=NONE cterm=bold - hi htmlSpecialTagName ctermfg=4 ctermbg=NONE cterm=italic - hi htmlArg ctermfg=11 ctermbg=NONE cterm=NONE - hi javaScript ctermfg=3 ctermbg=NONE cterm=NONE - hi! link jsFuncCall Function - hi perlHereDoc ctermfg=14 ctermbg=0 cterm=NONE - hi perlVarPlain ctermfg=3 ctermbg=0 cterm=NONE - hi perlStatementFileDesc ctermfg=6 ctermbg=0 cterm=NONE - hi texstatement ctermfg=6 ctermbg=0 cterm=NONE - hi texmathzonex ctermfg=3 ctermbg=0 cterm=NONE - hi texmathmatcher ctermfg=3 ctermbg=0 cterm=NONE - hi texreflabel ctermfg=3 ctermbg=0 cterm=NONE - hi rubyDefine ctermfg=14 ctermbg=0 cterm=bold - hi! link rubySymbol Type - hi rubyBoolean ctermfg=5 ctermbg=0 cterm=NONE - hi cPreCondit ctermfg=9 ctermbg=NONE cterm=NONE - hi VarId ctermfg=4 ctermbg=NONE cterm=NONE - hi ConId ctermfg=3 ctermbg=NONE cterm=NONE - hi hsImport ctermfg=5 ctermbg=NONE cterm=NONE - hi hsString ctermfg=11 ctermbg=NONE cterm=NONE - hi hsStructure ctermfg=6 ctermbg=NONE cterm=NONE - hi hs_hlFunctionName ctermfg=4 ctermbg=NONE cterm=NONE - hi hsStatement ctermfg=6 ctermbg=NONE cterm=NONE - hi hsImportLabel ctermfg=6 ctermbg=NONE cterm=NONE - hi hs_OpFunctionName ctermfg=3 ctermbg=NONE cterm=NONE - hi hs_DeclareFunction ctermfg=9 ctermbg=NONE cterm=NONE - hi hsVarSym ctermfg=6 ctermbg=NONE cterm=NONE - hi hsType ctermfg=3 ctermbg=NONE cterm=NONE - hi hsTypedef ctermfg=6 ctermbg=NONE cterm=NONE - hi hsModuleName ctermfg=2 ctermbg=NONE cterm=NONE - hi! link hsImportParams Delimiter - hi! link hsDelimTypeExport Delimiter - hi! link hsModuleStartLabel hsStructure - hi! link hsModuleWhereLabel hsModuleStartLabel - hi hsNiceOperator ctermfg=6 ctermbg=NONE cterm=NONE - hi hsniceoperator ctermfg=6 ctermbg=NONE cterm=NONE - if !s:italics - hi gitcommitComment cterm=NONE - hi htmlSpecialTagName cterm=NONE - endif - let hs_highlight_boolean=1 - let hs_highlight_delimiters=1 - hi pandocTitleBlock ctermfg=4 ctermbg=NONE cterm=NONE - hi pandocTitleBlockTitle ctermfg=4 ctermbg=NONE cterm=bold - hi pandocTitleComment ctermfg=4 ctermbg=NONE cterm=bold - hi pandocComment ctermfg=10 ctermbg=NONE cterm=italic - hi pandocVerbatimBlock ctermfg=3 ctermbg=NONE cterm=NONE - hi! link pandocVerbatimBlockDeep pandocVerbatimBlock - hi! link pandocCodeBlock pandocVerbatimBlock - hi! link pandocCodeBlockDelim pandocVerbatimBlock - hi pandocBlockQuote ctermfg=4 ctermbg=NONE cterm=NONE - hi pandocBlockQuoteLeader1 ctermfg=4 ctermbg=NONE cterm=NONE - hi pandocBlockQuoteLeader2 ctermfg=6 ctermbg=NONE cterm=NONE - hi pandocBlockQuoteLeader3 ctermfg=3 ctermbg=NONE cterm=NONE - hi pandocBlockQuoteLeader4 ctermfg=1 ctermbg=NONE cterm=NONE - hi pandocBlockQuoteLeader5 ctermfg=12 ctermbg=NONE cterm=NONE - hi pandocBlockQuoteLeader6 ctermfg=10 ctermbg=NONE cterm=NONE - hi pandocListMarker ctermfg=5 ctermbg=NONE cterm=NONE - hi pandocListReference ctermfg=5 ctermbg=NONE cterm=NONE - hi pandocDefinitionBlock ctermfg=13 ctermbg=NONE cterm=NONE - hi pandocDefinitionTerm ctermfg=13 ctermbg=NONE cterm=standout - hi pandocDefinitionIndctr ctermfg=13 ctermbg=NONE cterm=bold - hi pandocEmphasisDefinition ctermfg=13 ctermbg=NONE cterm=italic - hi pandocEmphasisNestedDefinition ctermfg=13 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisDefinition ctermfg=13 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisNestedDefinition ctermfg=13 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisEmphasisDefinition ctermfg=13 ctermbg=NONE cterm=bold - hi pandocStrikeoutDefinition ctermfg=13 ctermbg=NONE cterm=reverse - hi pandocVerbatimInlineDefinition ctermfg=13 ctermbg=NONE cterm=NONE - hi pandocSuperscriptDefinition ctermfg=13 ctermbg=NONE cterm=NONE - hi pandocSubscriptDefinition ctermfg=13 ctermbg=NONE cterm=NONE - hi pandocTable ctermfg=4 ctermbg=NONE cterm=NONE - hi pandocTableStructure ctermfg=4 ctermbg=NONE cterm=NONE - hi! link pandocTableStructureTop pandocTableStructre - hi! link pandocTableStructureEnd pandocTableStructre - hi pandocTableZebraLight ctermfg=4 ctermbg=8 cterm=NONE - hi pandocTableZebraDark ctermfg=4 ctermbg=0 cterm=NONE - hi pandocEmphasisTable ctermfg=4 ctermbg=NONE cterm=italic - hi pandocEmphasisNestedTable ctermfg=4 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisTable ctermfg=4 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisNestedTable ctermfg=4 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisEmphasisTable ctermfg=4 ctermbg=NONE cterm=bold - hi pandocStrikeoutTable ctermfg=4 ctermbg=NONE cterm=reverse - hi pandocVerbatimInlineTable ctermfg=4 ctermbg=NONE cterm=NONE - hi pandocSuperscriptTable ctermfg=4 ctermbg=NONE cterm=NONE - hi pandocSubscriptTable ctermfg=4 ctermbg=NONE cterm=NONE - hi pandocHeading ctermfg=9 ctermbg=NONE cterm=bold - hi pandocHeadingMarker ctermfg=9 ctermbg=NONE cterm=bold - hi pandocEmphasisHeading ctermfg=9 ctermbg=NONE cterm=bold - hi pandocEmphasisNestedHeading ctermfg=9 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisHeading ctermfg=9 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisNestedHeading ctermfg=9 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisEmphasisHeading ctermfg=9 ctermbg=NONE cterm=bold - hi pandocStrikeoutHeading ctermfg=9 ctermbg=NONE cterm=reverse - hi pandocVerbatimInlineHeading ctermfg=9 ctermbg=NONE cterm=bold - hi pandocSuperscriptHeading ctermfg=9 ctermbg=NONE cterm=bold - hi pandocSubscriptHeading ctermfg=9 ctermbg=NONE cterm=bold - hi pandocLinkDelim ctermfg=10 ctermbg=NONE cterm=NONE - hi pandocLinkLabel ctermfg=4 ctermbg=NONE cterm=NONE - hi pandocLinkText ctermfg=4 ctermbg=NONE cterm=NONE - hi pandocLinkURL ctermfg=11 ctermbg=NONE cterm=NONE - hi pandocLinkTitle ctermfg=11 ctermbg=NONE cterm=NONE - hi pandocLinkTitleDelim ctermfg=10 ctermbg=NONE cterm=NONE - hi pandocLinkDefinition ctermfg=6 ctermbg=NONE cterm=NONE - hi pandocLinkDefinitionID ctermfg=4 ctermbg=NONE cterm=bold - hi pandocImageCaption ctermfg=13 ctermbg=NONE cterm=bold - hi pandocFootnoteLink ctermfg=2 ctermbg=NONE cterm=NONE - hi pandocFootnoteDefLink ctermfg=2 ctermbg=NONE cterm=bold - hi pandocFootnoteInline ctermfg=2 ctermbg=NONE cterm=bold - hi pandocFootnote ctermfg=2 ctermbg=NONE cterm=NONE - hi pandocCitationDelim ctermfg=5 ctermbg=NONE cterm=NONE - hi pandocCitation ctermfg=5 ctermbg=NONE cterm=NONE - hi pandocCitationID ctermfg=5 ctermbg=NONE cterm=NONE - hi pandocCitationRef ctermfg=5 ctermbg=NONE cterm=NONE - hi pandocStyleDelim ctermfg=10 ctermbg=NONE cterm=NONE - hi pandocEmphasis ctermfg=12 ctermbg=NONE cterm=italic - hi pandocEmphasisNested ctermfg=12 ctermbg=NONE cterm=bold - hi pandocStrongEmphasis ctermfg=12 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisNested ctermfg=12 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisEmphasis ctermfg=12 ctermbg=NONE cterm=bold - hi pandocStrikeout ctermfg=10 ctermbg=NONE cterm=reverse - hi pandocVerbatimInline ctermfg=3 ctermbg=NONE cterm=NONE - hi pandocSuperscript ctermfg=13 ctermbg=NONE cterm=NONE - hi pandocSubscript ctermfg=13 ctermbg=NONE cterm=NONE - hi pandocRule ctermfg=4 ctermbg=NONE cterm=bold - hi pandocRuleLine ctermfg=4 ctermbg=NONE cterm=bold - hi pandocEscapePair ctermfg=1 ctermbg=NONE cterm=bold - hi pandocCitationRef ctermfg=5 ctermbg=NONE cterm=NONE - hi pandocNonBreakingSpace ctermfg=1 ctermbg=NONE cterm=reverse - hi! link pandocEscapedCharacter pandocEscapePair - hi! link pandocLineBreak pandocEscapePair - hi pandocMetadataDelim ctermfg=10 ctermbg=NONE cterm=NONE - hi pandocMetadata ctermfg=4 ctermbg=NONE cterm=NONE - hi pandocMetadataKey ctermfg=4 ctermbg=NONE cterm=NONE - hi pandocMetadata ctermfg=4 ctermbg=NONE cterm=bold - hi! link pandocMetadataTitle pandocMetadata - if !s:italics - hi pandocComment cterm=NONE - hi pandocEmphasisDefinition cterm=NONE - hi pandocEmphasisTable cterm=NONE - hi pandocEmphasis cterm=NONE - endif - unlet s:termtrans - unlet s:t_Co s:italics - finish - endif - " Light background - if s:termtrans - hi Normal ctermfg=11 ctermbg=NONE cterm=NONE - hi FoldColumn ctermfg=11 ctermbg=NONE cterm=NONE - hi Folded ctermfg=11 ctermbg=NONE cterm=bold - hi LineNr ctermfg=14 ctermbg=NONE cterm=NONE - hi Terminal ctermfg=fg ctermbg=NONE cterm=NONE - hi ToolbarButton ctermfg=10 ctermbg=NONE cterm=bold - hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE - else - hi Normal ctermfg=11 ctermbg=7 cterm=NONE - hi FoldColumn ctermfg=11 ctermbg=7 cterm=NONE - hi Folded ctermfg=11 ctermbg=7 cterm=bold - hi LineNr ctermfg=14 ctermbg=7 cterm=NONE - hi Terminal ctermfg=fg ctermbg=7 cterm=NONE - hi ToolbarButton ctermfg=10 ctermbg=7 cterm=bold - hi ToolbarLine ctermfg=NONE ctermbg=7 cterm=NONE - endif - if get(g:, 'solarized_visibility', '') ==# 'high' - hi CursorLineNr ctermfg=1 ctermbg=7 cterm=bold - if get(g:, 'solarized_old_cursor_style', 0) - hi Cursor ctermfg=15 ctermbg=11 cterm=NONE - else - hi Cursor ctermfg=15 ctermbg=1 cterm=NONE - endif - hi MatchParen ctermfg=8 ctermbg=NONE cterm=bold,underline - hi NonText ctermfg=1 ctermbg=NONE cterm=bold - hi SpecialKey ctermfg=1 ctermbg=NONE cterm=reverse - hi SpellBad ctermfg=5 ctermbg=7 cterm=reverse,underline - hi SpellCap ctermfg=5 ctermbg=7 cterm=reverse,underline - hi SpellLocal ctermfg=3 ctermbg=7 cterm=reverse,underline - hi SpellRare ctermfg=6 ctermbg=7 cterm=reverse,underline - hi Title ctermfg=9 ctermbg=NONE cterm=bold - elseif get(g:, 'solarized_visibility', '') ==# 'low' - hi CursorLineNr ctermfg=14 ctermbg=7 cterm=bold - if get(g:, 'solarized_old_cursor_style', 0) - hi Cursor ctermfg=15 ctermbg=11 cterm=NONE - else - hi Cursor ctermfg=15 ctermbg=9 cterm=NONE - endif - hi MatchParen ctermfg=8 ctermbg=7 cterm=bold - hi NonText ctermfg=7 ctermbg=NONE cterm=bold - hi SpecialKey ctermfg=7 ctermbg=NONE cterm=bold - hi SpellBad ctermfg=5 ctermbg=NONE cterm=underline - hi SpellCap ctermfg=5 ctermbg=NONE cterm=underline - hi SpellLocal ctermfg=3 ctermbg=NONE cterm=underline - hi SpellRare ctermfg=6 ctermbg=NONE cterm=underline - hi Title ctermfg=14 ctermbg=NONE cterm=bold - else - hi CursorLineNr ctermfg=11 ctermbg=7 cterm=bold - if get(g:, 'solarized_old_cursor_style', 0) - hi Cursor ctermfg=15 ctermbg=11 cterm=NONE - else - hi Cursor ctermfg=15 ctermbg=9 cterm=NONE - endif - hi MatchParen ctermfg=8 ctermbg=7 cterm=bold - hi NonText ctermfg=12 ctermbg=NONE cterm=bold - hi SpecialKey ctermfg=12 ctermbg=7 cterm=bold - hi SpellBad ctermfg=5 ctermbg=NONE cterm=underline - hi SpellCap ctermfg=5 ctermbg=NONE cterm=underline - hi SpellLocal ctermfg=3 ctermbg=NONE cterm=underline - hi SpellRare ctermfg=6 ctermbg=NONE cterm=underline - hi Title ctermfg=9 ctermbg=NONE cterm=bold - endif - if s:termtrans - hi CursorLineNr ctermbg=NONE - endif - if get(g:, 'solarized_diffmode', '') ==# 'high' - hi DiffAdd ctermfg=2 ctermbg=NONE cterm=reverse - hi DiffChange ctermfg=3 ctermbg=NONE cterm=reverse - hi DiffDelete ctermfg=1 ctermbg=NONE cterm=reverse - hi DiffText ctermfg=4 ctermbg=NONE cterm=reverse - elseif get(g:, 'solarized_diffmode', '') ==# 'low' - hi DiffAdd ctermfg=2 ctermbg=NONE cterm=NONE - hi DiffChange ctermfg=3 ctermbg=NONE cterm=NONE - hi DiffDelete ctermfg=1 ctermbg=NONE cterm=bold - hi DiffText ctermfg=4 ctermbg=NONE cterm=NONE - else " normal diffmode - hi DiffAdd ctermfg=2 ctermbg=7 cterm=NONE - hi DiffChange ctermfg=3 ctermbg=7 cterm=NONE - hi DiffDelete ctermfg=1 ctermbg=7 cterm=bold - hi DiffText ctermfg=4 ctermbg=7 cterm=NONE - endif - if get(g:, 'solarized_statusline', '') ==# 'low' - hi StatusLine ctermfg=14 ctermbg=7 cterm=reverse - hi StatusLineNC ctermfg=14 ctermbg=10 cterm=reverse - hi TabLine ctermfg=14 ctermbg=10 cterm=reverse - hi TabLineFill ctermfg=14 ctermbg=10 cterm=reverse - hi TabLineSel ctermfg=14 ctermbg=7 cterm=reverse - hi VertSplit ctermfg=10 ctermbg=14 cterm=NONE - hi WildMenu ctermfg=11 ctermbg=7 cterm=reverse - elseif get(g:, 'solarized_statusline', '') ==# 'flat' - hi StatusLine ctermfg=15 ctermbg=0 cterm=reverse - hi StatusLineNC ctermfg=15 ctermbg=10 cterm=reverse - hi TabLineSel ctermfg=0 ctermbg=15 cterm=NONE - hi TabLine ctermfg=14 ctermbg=15 cterm=NONE - hi TabLineFill ctermfg=14 ctermbg=15 cterm=NONE - hi VertSplit ctermfg=14 ctermbg=15 cterm=NONE - hi WildMenu ctermfg=14 ctermbg=15 cterm=reverse - else - hi StatusLine ctermfg=10 ctermbg=7 cterm=reverse - hi StatusLineNC ctermfg=12 ctermbg=7 cterm=reverse - hi TabLine ctermfg=12 ctermbg=7 cterm=reverse - hi TabLineFill ctermfg=12 ctermbg=7 cterm=reverse - hi TabLineSel ctermfg=10 ctermbg=7 cterm=reverse - hi VertSplit ctermfg=10 ctermbg=14 cterm=NONE - hi WildMenu ctermfg=12 ctermbg=7 cterm=reverse - endif - hi ColorColumn ctermfg=NONE ctermbg=7 cterm=NONE - hi Conceal ctermfg=4 ctermbg=NONE cterm=NONE - hi CursorColumn ctermfg=NONE ctermbg=7 cterm=NONE - hi CursorLine ctermfg=NONE ctermbg=7 cterm=underline - hi Directory ctermfg=4 ctermbg=NONE cterm=NONE - hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE - hi ErrorMsg ctermfg=1 ctermbg=15 cterm=reverse - hi IncSearch ctermfg=9 ctermbg=NONE cterm=standout - hi ModeMsg ctermfg=4 ctermbg=NONE cterm=NONE - hi MoreMsg ctermfg=4 ctermbg=NONE cterm=NONE - hi Pmenu ctermfg=15 ctermbg=14 cterm=NONE - hi PmenuSbar ctermfg=NONE ctermbg=11 cterm=NONE - hi PmenuSel ctermfg=15 ctermbg=12 cterm=NONE - hi PmenuThumb ctermfg=NONE ctermbg=12 cterm=NONE - hi Question ctermfg=6 ctermbg=NONE cterm=bold - hi Search ctermfg=3 ctermbg=NONE cterm=reverse - hi SignColumn ctermfg=11 ctermbg=NONE cterm=NONE - hi Visual ctermfg=14 ctermbg=15 cterm=reverse - hi VisualNOS ctermfg=NONE ctermbg=7 cterm=reverse - hi WarningMsg ctermfg=9 ctermbg=NONE cterm=bold - hi Comment ctermfg=14 ctermbg=NONE cterm=italic - hi Constant ctermfg=6 ctermbg=NONE cterm=NONE - hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE - hi Error ctermfg=1 ctermbg=15 cterm=bold,reverse - hi Identifier ctermfg=4 ctermbg=NONE cterm=NONE - hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE - hi PreProc ctermfg=9 ctermbg=NONE cterm=NONE - hi Special ctermfg=9 ctermbg=NONE cterm=NONE - hi Statement ctermfg=2 ctermbg=NONE cterm=NONE - hi Todo ctermfg=5 ctermbg=NONE cterm=bold - hi Type ctermfg=3 ctermbg=NONE cterm=NONE - hi Underlined ctermfg=13 ctermbg=NONE cterm=NONE - hi NormalMode ctermfg=10 ctermbg=15 cterm=reverse - hi InsertMode ctermfg=6 ctermbg=15 cterm=reverse - hi ReplaceMode ctermfg=9 ctermbg=15 cterm=reverse - hi VisualMode ctermfg=5 ctermbg=15 cterm=reverse - hi CommandMode ctermfg=5 ctermbg=15 cterm=reverse - if !s:italics - hi Comment cterm=NONE - endif - if has('nvim') - hi! link TermCursor Cursor - hi TermCursorNC ctermfg=15 ctermbg=14 cterm=NONE - endif - if !get(g:, 'solarized_extra_hi_groups', 0) - unlet s:t_Co s:italics s:termtrans - finish - endif - hi! link vimVar Identifier - hi! link vimFunc Function - hi! link vimUserFunc Function - hi! link helpSpecial Special - hi! link vimSet Normal - hi! link vimSetEqual Normal - hi vimCommentString ctermfg=13 ctermbg=NONE cterm=NONE - hi vimCommand ctermfg=3 ctermbg=NONE cterm=NONE - hi vimCmdSep ctermfg=4 ctermbg=NONE cterm=bold - hi helpExample ctermfg=10 ctermbg=NONE cterm=NONE - hi helpOption ctermfg=6 ctermbg=NONE cterm=NONE - hi helpNote ctermfg=5 ctermbg=NONE cterm=NONE - hi helpVim ctermfg=5 ctermbg=NONE cterm=NONE - hi helpHyperTextJump ctermfg=4 ctermbg=NONE cterm=NONE - hi helpHyperTextEntry ctermfg=2 ctermbg=NONE cterm=NONE - hi vimIsCommand ctermfg=12 ctermbg=NONE cterm=NONE - hi vimSynMtchOpt ctermfg=3 ctermbg=NONE cterm=NONE - hi vimSynType ctermfg=6 ctermbg=NONE cterm=NONE - hi vimHiLink ctermfg=4 ctermbg=NONE cterm=NONE - hi vimHiGroup ctermfg=4 ctermbg=NONE cterm=NONE - hi vimGroup ctermfg=4 ctermbg=NONE cterm=bold - hi! link diffAdded Statement - hi! link diffLine Identifier - hi gitcommitComment ctermfg=14 ctermbg=NONE cterm=italic - hi! link gitcommitUntracked gitcommitComment - hi! link gitcommitDiscarded gitcommitComment - hi! link gitcommitSelected gitcommitComment - hi gitcommitUnmerged ctermfg=2 ctermbg=NONE cterm=bold - hi gitcommitOnBranch ctermfg=14 ctermbg=NONE cterm=bold - hi gitcommitBranch ctermfg=5 ctermbg=NONE cterm=bold - hi! link gitcommitNoBranch gitcommitBranch - hi gitcommitdiscardedtype ctermfg=1 ctermbg=NONE cterm=NONE - hi gitcommitselectedtype ctermfg=2 ctermbg=NONE cterm=NONE - hi gitcommitHeader ctermfg=14 ctermbg=NONE cterm=NONE - hi gitcommitUntrackedFile ctermfg=6 ctermbg=NONE cterm=bold - hi gitcommitDiscardedFile ctermfg=1 ctermbg=NONE cterm=bold - hi gitcommitSelectedFile ctermfg=2 ctermbg=NONE cterm=bold - hi gitcommitUnmergedFile ctermfg=3 ctermbg=NONE cterm=bold - hi gitcommitFile ctermfg=11 ctermbg=NONE cterm=bold - hi! link gitcommitDiscardedArrow gitcommitDiscardedFile - hi! link gitcommitSelectedArrow gitcommitSelectedFile - hi! link gitcommitUnmergedArrow gitcommitUnmergedFile - hi htmlTag ctermfg=14 ctermbg=NONE cterm=NONE - hi htmlEndTag ctermfg=14 ctermbg=NONE cterm=NONE - hi htmlTagN ctermfg=10 ctermbg=NONE cterm=bold - hi htmlTagName ctermfg=4 ctermbg=NONE cterm=bold - hi htmlSpecialTagName ctermfg=4 ctermbg=NONE cterm=italic - hi htmlArg ctermfg=12 ctermbg=NONE cterm=NONE - hi javaScript ctermfg=3 ctermbg=NONE cterm=NONE - hi! link jsFuncCall Function - hi perlHereDoc ctermfg=10 ctermbg=7 cterm=NONE - hi perlVarPlain ctermfg=3 ctermbg=7 cterm=NONE - hi perlStatementFileDesc ctermfg=6 ctermbg=7 cterm=NONE - hi texstatement ctermfg=6 ctermbg=7 cterm=NONE - hi texmathzonex ctermfg=3 ctermbg=7 cterm=NONE - hi texmathmatcher ctermfg=3 ctermbg=7 cterm=NONE - hi texreflabel ctermfg=3 ctermbg=7 cterm=NONE - hi rubyDefine ctermfg=10 ctermbg=7 cterm=bold - hi! link rubySymbol Type - hi rubyBoolean ctermfg=5 ctermbg=7 cterm=NONE - hi cPreCondit ctermfg=9 ctermbg=NONE cterm=NONE - hi VarId ctermfg=4 ctermbg=NONE cterm=NONE - hi ConId ctermfg=3 ctermbg=NONE cterm=NONE - hi hsImport ctermfg=5 ctermbg=NONE cterm=NONE - hi hsString ctermfg=12 ctermbg=NONE cterm=NONE - hi hsStructure ctermfg=6 ctermbg=NONE cterm=NONE - hi hs_hlFunctionName ctermfg=4 ctermbg=NONE cterm=NONE - hi hsStatement ctermfg=6 ctermbg=NONE cterm=NONE - hi hsImportLabel ctermfg=6 ctermbg=NONE cterm=NONE - hi hs_OpFunctionName ctermfg=3 ctermbg=NONE cterm=NONE - hi hs_DeclareFunction ctermfg=9 ctermbg=NONE cterm=NONE - hi hsVarSym ctermfg=6 ctermbg=NONE cterm=NONE - hi hsType ctermfg=3 ctermbg=NONE cterm=NONE - hi hsTypedef ctermfg=6 ctermbg=NONE cterm=NONE - hi hsModuleName ctermfg=2 ctermbg=NONE cterm=NONE - hi! link hsImportParams Delimiter - hi! link hsDelimTypeExport Delimiter - hi! link hsModuleStartLabel hsStructure - hi! link hsModuleWhereLabel hsModuleStartLabel - hi hsNiceOperator ctermfg=6 ctermbg=NONE cterm=NONE - hi hsniceoperator ctermfg=6 ctermbg=NONE cterm=NONE - if !s:italics - hi gitcommitComment cterm=NONE - hi htmlSpecialTagName cterm=NONE - endif - let hs_highlight_boolean=1 - let hs_highlight_delimiters=1 - hi pandocTitleBlock ctermfg=4 ctermbg=NONE cterm=NONE - hi pandocTitleBlockTitle ctermfg=4 ctermbg=NONE cterm=bold - hi pandocTitleComment ctermfg=4 ctermbg=NONE cterm=bold - hi pandocComment ctermfg=14 ctermbg=NONE cterm=italic - hi pandocVerbatimBlock ctermfg=3 ctermbg=NONE cterm=NONE - hi! link pandocVerbatimBlockDeep pandocVerbatimBlock - hi! link pandocCodeBlock pandocVerbatimBlock - hi! link pandocCodeBlockDelim pandocVerbatimBlock - hi pandocBlockQuote ctermfg=4 ctermbg=NONE cterm=NONE - hi pandocBlockQuoteLeader1 ctermfg=4 ctermbg=NONE cterm=NONE - hi pandocBlockQuoteLeader2 ctermfg=6 ctermbg=NONE cterm=NONE - hi pandocBlockQuoteLeader3 ctermfg=3 ctermbg=NONE cterm=NONE - hi pandocBlockQuoteLeader4 ctermfg=1 ctermbg=NONE cterm=NONE - hi pandocBlockQuoteLeader5 ctermfg=11 ctermbg=NONE cterm=NONE - hi pandocBlockQuoteLeader6 ctermfg=14 ctermbg=NONE cterm=NONE - hi pandocListMarker ctermfg=5 ctermbg=NONE cterm=NONE - hi pandocListReference ctermfg=5 ctermbg=NONE cterm=NONE - hi pandocDefinitionBlock ctermfg=13 ctermbg=NONE cterm=NONE - hi pandocDefinitionTerm ctermfg=13 ctermbg=NONE cterm=standout - hi pandocDefinitionIndctr ctermfg=13 ctermbg=NONE cterm=bold - hi pandocEmphasisDefinition ctermfg=13 ctermbg=NONE cterm=italic - hi pandocEmphasisNestedDefinition ctermfg=13 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisDefinition ctermfg=13 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisNestedDefinition ctermfg=13 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisEmphasisDefinition ctermfg=13 ctermbg=NONE cterm=bold - hi pandocStrikeoutDefinition ctermfg=13 ctermbg=NONE cterm=reverse - hi pandocVerbatimInlineDefinition ctermfg=13 ctermbg=NONE cterm=NONE - hi pandocSuperscriptDefinition ctermfg=13 ctermbg=NONE cterm=NONE - hi pandocSubscriptDefinition ctermfg=13 ctermbg=NONE cterm=NONE - hi pandocTable ctermfg=4 ctermbg=NONE cterm=NONE - hi pandocTableStructure ctermfg=4 ctermbg=NONE cterm=NONE - hi! link pandocTableStructureTop pandocTableStructre - hi! link pandocTableStructureEnd pandocTableStructre - hi pandocTableZebraLight ctermfg=4 ctermbg=15 cterm=NONE - hi pandocTableZebraDark ctermfg=4 ctermbg=7 cterm=NONE - hi pandocEmphasisTable ctermfg=4 ctermbg=NONE cterm=italic - hi pandocEmphasisNestedTable ctermfg=4 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisTable ctermfg=4 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisNestedTable ctermfg=4 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisEmphasisTable ctermfg=4 ctermbg=NONE cterm=bold - hi pandocStrikeoutTable ctermfg=4 ctermbg=NONE cterm=reverse - hi pandocVerbatimInlineTable ctermfg=4 ctermbg=NONE cterm=NONE - hi pandocSuperscriptTable ctermfg=4 ctermbg=NONE cterm=NONE - hi pandocSubscriptTable ctermfg=4 ctermbg=NONE cterm=NONE - hi pandocHeading ctermfg=9 ctermbg=NONE cterm=bold - hi pandocHeadingMarker ctermfg=9 ctermbg=NONE cterm=bold - hi pandocEmphasisHeading ctermfg=9 ctermbg=NONE cterm=bold - hi pandocEmphasisNestedHeading ctermfg=9 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisHeading ctermfg=9 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisNestedHeading ctermfg=9 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisEmphasisHeading ctermfg=9 ctermbg=NONE cterm=bold - hi pandocStrikeoutHeading ctermfg=9 ctermbg=NONE cterm=reverse - hi pandocVerbatimInlineHeading ctermfg=9 ctermbg=NONE cterm=bold - hi pandocSuperscriptHeading ctermfg=9 ctermbg=NONE cterm=bold - hi pandocSubscriptHeading ctermfg=9 ctermbg=NONE cterm=bold - hi pandocLinkDelim ctermfg=14 ctermbg=NONE cterm=NONE - hi pandocLinkLabel ctermfg=4 ctermbg=NONE cterm=NONE - hi pandocLinkText ctermfg=4 ctermbg=NONE cterm=NONE - hi pandocLinkURL ctermfg=12 ctermbg=NONE cterm=NONE - hi pandocLinkTitle ctermfg=12 ctermbg=NONE cterm=NONE - hi pandocLinkTitleDelim ctermfg=14 ctermbg=NONE cterm=NONE - hi pandocLinkDefinition ctermfg=6 ctermbg=NONE cterm=NONE - hi pandocLinkDefinitionID ctermfg=4 ctermbg=NONE cterm=bold - hi pandocImageCaption ctermfg=13 ctermbg=NONE cterm=bold - hi pandocFootnoteLink ctermfg=2 ctermbg=NONE cterm=NONE - hi pandocFootnoteDefLink ctermfg=2 ctermbg=NONE cterm=bold - hi pandocFootnoteInline ctermfg=2 ctermbg=NONE cterm=bold - hi pandocFootnote ctermfg=2 ctermbg=NONE cterm=NONE - hi pandocCitationDelim ctermfg=5 ctermbg=NONE cterm=NONE - hi pandocCitation ctermfg=5 ctermbg=NONE cterm=NONE - hi pandocCitationID ctermfg=5 ctermbg=NONE cterm=NONE - hi pandocCitationRef ctermfg=5 ctermbg=NONE cterm=NONE - hi pandocStyleDelim ctermfg=14 ctermbg=NONE cterm=NONE - hi pandocEmphasis ctermfg=11 ctermbg=NONE cterm=italic - hi pandocEmphasisNested ctermfg=11 ctermbg=NONE cterm=bold - hi pandocStrongEmphasis ctermfg=11 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisNested ctermfg=11 ctermbg=NONE cterm=bold - hi pandocStrongEmphasisEmphasis ctermfg=11 ctermbg=NONE cterm=bold - hi pandocStrikeout ctermfg=14 ctermbg=NONE cterm=reverse - hi pandocVerbatimInline ctermfg=3 ctermbg=NONE cterm=NONE - hi pandocSuperscript ctermfg=13 ctermbg=NONE cterm=NONE - hi pandocSubscript ctermfg=13 ctermbg=NONE cterm=NONE - hi pandocRule ctermfg=4 ctermbg=NONE cterm=bold - hi pandocRuleLine ctermfg=4 ctermbg=NONE cterm=bold - hi pandocEscapePair ctermfg=1 ctermbg=NONE cterm=bold - hi pandocCitationRef ctermfg=5 ctermbg=NONE cterm=NONE - hi pandocNonBreakingSpace ctermfg=1 ctermbg=NONE cterm=reverse - hi! link pandocEscapedCharacter pandocEscapePair - hi! link pandocLineBreak pandocEscapePair - hi pandocMetadataDelim ctermfg=14 ctermbg=NONE cterm=NONE - hi pandocMetadata ctermfg=4 ctermbg=NONE cterm=NONE - hi pandocMetadataKey ctermfg=4 ctermbg=NONE cterm=NONE - hi pandocMetadata ctermfg=4 ctermbg=NONE cterm=bold - hi! link pandocMetadataTitle pandocMetadata - if !s:italics - hi pandocComment cterm=NONE - hi pandocEmphasisDefinition cterm=NONE - hi pandocEmphasisTable cterm=NONE - hi pandocEmphasis cterm=NONE - endif - unlet s:termtrans - unlet s:t_Co s:italics - finish -endif - -if s:t_Co >= 2 - hi Normal term=NONE - hi ColorColumn term=reverse - hi Conceal term=NONE - hi Cursor term=NONE - hi CursorColumn term=reverse - hi CursorLine term=underline - hi CursorLineNr term=bold,italic,reverse,underline - hi DiffAdd term=reverse,underline - hi DiffChange term=reverse,underline - hi DiffDelete term=reverse,underline - hi DiffText term=bold,reverse,underline - hi Directory term=NONE - hi EndOfBuffer term=NONE - hi ErrorMsg term=bold,italic,reverse - hi FoldColumn term=reverse - hi Folded term=italic,reverse,underline - hi IncSearch term=bold,italic,reverse - hi LineNr term=reverse - hi MatchParen term=bold,underline - hi ModeMsg term=NONE - hi MoreMsg term=NONE - hi NonText term=NONE - hi Pmenu term=reverse - hi PmenuSbar term=NONE - hi PmenuSel term=NONE - hi PmenuThumb term=NONE - hi Question term=standout - hi Search term=italic,underline - hi SignColumn term=reverse - hi SpecialKey term=bold - hi SpellBad term=italic,underline - hi SpellCap term=italic,underline - hi SpellLocal term=italic,underline - hi SpellRare term=italic,underline - hi StatusLine term=bold,reverse - hi StatusLineNC term=reverse - hi TabLine term=italic,reverse,underline - hi TabLineFill term=reverse,underline - hi TabLineSel term=bold - hi Title term=bold - hi VertSplit term=reverse - hi Visual term=reverse - hi VisualNOS term=NONE - hi WarningMsg term=standout - hi WildMenu term=bold - hi Comment term=italic - hi Constant term=bold,italic - hi Error term=reverse - hi Identifier term=italic - hi Ignore term=NONE - hi PreProc term=italic - hi Special term=bold,italic - hi Statement term=bold - hi Todo term=bold,underline - hi Type term=bold - hi Underlined term=underline - hi CursorIM term=NONE - hi ToolbarLine term=reverse - hi ToolbarButton term=bold,reverse - if !s:italics - hi CursorLineNr term=bold,reverse,underline - hi ErrorMsg term=bold,reverse - hi Folded term=reverse,underline - hi IncSearch term=bold,reverse - hi Search term=underline - hi SpellBad term=underline - hi SpellCap term=underline - hi SpellLocal term=underline - hi SpellRare term=underline - hi TabLine term=reverse,underline - hi Comment term=NONE - hi Constant term=bold - hi Identifier term=NONE - hi PreProc term=NONE - hi Special term=bold - endif - unlet s:termtrans - unlet s:t_Co s:italics - finish -endif - -" let s:t_Co = get(g:, '@optionprefix_use16', 0) ? 16 : s:t_Co -" let s:italics = s:italics && get(g:, '@optionprefix_italics', 1) -" let s:termtrans = get(g:, '@optionprefix_termtrans', 0) && !has('gui_running') -" Boolean -> Constant -" Character -> Constant -" Conditional -> Statement -" Debug -> Special -" Define -> PreProc -" Delimiter -> Special -" Exception -> Statement -" Float -> Constant -" Function -> Identifier -" Include -> PreProc -" Keyword -> Statement -" Label -> Statement -" Macro -> PreProc -" Number -> Constant -" Operator -> Statement -" PreCondit -> PreProc -" QuickFixLine -> Search -" Repeat -> Statement -" SpecialChar -> Special -" SpecialComment -> Special -" StatusLineTerm -> StatusLine -" StatusLineTermNC -> StatusLineNC -" StorageClass -> Type -" String -> Constant -" Structure -> Type -" Tag -> Special -" Typedef -> Type -" lCursor -> Cursor -" Variant: gui 256 16 -" Background: dark -" Color: base02 #073642 239 0 -" Color: back #073642 236 0 -" Color: red #dc322f 160 1 -" Color: green #859900 106 2 -" Color: yellow #b58900 136 3 -" Color: blue #268bd2 32 4 -" Color: magenta #d33682 162 5 -" Color: cyan #2aa198 37 6 -" Color: base2 #eee8d5 254 7 -" Color: base03 #002b36 235 8 -" Color: orange #cb4b16 166 9 -" Color: base01 #586e75 242 10 -" Color: base00 #657b83 66 11 -" Color: base0 #839496 246 12 -" Color: violet #6c71c4 61 13 -" Color: base1 #93a1a1 247 14 -" Color: base3 #fdf6e3 230 15 -" Term Colors: base02 red green yellow blue magenta cyan base2 -" Term Colors: base03 orange base01 base00 base0 violet base1 base3 -" if s:termtrans -" Normal base0 none -" CursorLine none none underline s=base1 -" FoldColumn fg none -" Folded fg none bold s=base03 -" LineNr base01 none -" Terminal fg none -" ToolbarButton base1 none bold -" ToolbarLine none none -" else -" Normal base0 back -" CursorLine none base02 -" FoldColumn base0 base02 -" Folded base0 base02 bold s=base03 -" LineNr base01 base02 -" Terminal fg back -" ToolbarButton base1 base02 bold -" ToolbarLine none base02 -" endif -" if get(g:, '@optionprefix_visibility', '') ==# 'high' -" CursorLineNr orange base02 bold -" NonText orange none bold -" SpecialKey orange none reverse -" SpellBad violet base2 t=underline,reverse g=undercurl,reverse s=red -" SpellCap violet base2 t=underline,reverse g=undercurl,reverse s=red -" SpellLocal yellow base2 t=underline,reverse g=undercurl,reverse s=red -" SpellRare cyan base2 t=underline,reverse g=undercurl,reverse s=red -" Title yellow none bold -" elseif get(g:, '@optionprefix_visibility', '') ==# 'low' -" CursorLineNr base01 base02 bold -" NonText base02 none bold -" SpecialKey base02 none reverse -" SpellBad violet none t=underline g=undercurl s=violet -" SpellCap violet none t=underline g=undercurl s=violet -" SpellLocal yellow none t=underline g=undercurl s=yellow -" SpellRare cyan none t=underline g=undercurl s=cyan -" Title base01 none bold -" else -" CursorLineNr base0 base02 bold -" NonText base00 none bold -" SpecialKey base00 base02 bold -" SpellBad violet none t=underline g=undercurl s=violet -" SpellCap violet none t=underline g=undercurl s=violet -" SpellLocal yellow none t=underline g=undercurl s=yellow -" SpellRare cyan none t=underline g=undercurl s=cyan -" Title yellow none bold -" endif -" Variant: gui -" if s:termtrans -" hi CursorLineNr guibg=NONE -" endif -" Variant: 256 16 -" if s:termtrans -" hi CursorLineNr ctermbg=NONE -" endif -" Variant: gui 256 16 -" if get(g:, '@optionprefix_old_cursor_style', 0) -" Cursor base03 base0 -" else -" Cursor base3 blue -" endif -" if get(g:, '@optionprefix_diffmode', '') ==# 'high' -" DiffAdd green none reverse -" DiffChange yellow none reverse -" DiffDelete red none reverse -" DiffText blue none reverse -" elseif get(g:, '@optionprefix_diffmode', '') ==# 'low' -" DiffAdd green none s=green -" DiffChange yellow none s=yellow -" DiffDelete red none bold -" DiffText blue none s=blue -" else " normal diffmode -" DiffAdd green base02 s=green -" DiffChange yellow base02 s=yellow -" DiffDelete red base02 bold -" DiffText blue base02 s=blue -" endif -" if get(g:, '@optionprefix_statusline', '') ==# 'low' -" StatusLine base01 base2 reverse -" StatusLineNC base01 base1 reverse -" TabLine base01 base1 reverse -" TabLineFill base01 base1 reverse -" TabLineSel base01 base2 reverse -" VertSplit base1 base01 -" elseif get(g:, '@optionprefix_statusline', '') ==# 'flat' -" StatusLine base03 base2 reverse -" StatusLineNC base03 base1 reverse -" TabLineSel base2 base03 -" TabLine base01 base03 -" TabLineFill base01 base03 -" VertSplit base01 base03 -" else -" StatusLine base0 base02 reverse -" StatusLineNC base01 base02 reverse -" TabLine base01 base02 reverse -" TabLineFill base01 base02 reverse -" TabLineSel base0 base02 reverse -" VertSplit base1 base01 -" endif -" ColorColumn none base02 -" Conceal blue none -" CursorColumn none base02 -" Directory blue none -" EndOfBuffer none none -" ErrorMsg red base3 reverse -" IncSearch orange none standout -" MatchParen base3 base02 bold -" ModeMsg blue none -" MoreMsg blue none -" Pmenu base00 base03 -" PmenuSbar none base03 -" PmenuSel base00 base02 -" PmenuThumb none base03 -" Question cyan none bold -" Search yellow none reverse -" SignColumn base0 none -" Visual base01 base03 reverse -" VisualNOS none base02 reverse -" WarningMsg orange none bold -" WildMenu base2 base02 reverse -" Comment base01 none italic -" Constant cyan none -" CursorIM none fg -" Error red base3 bold,reverse -" Identifier blue none -" Ignore none none -" PreProc orange none -" Special orange none -" Statement green none -" Todo magenta none bold -" Type yellow none -" Underlined violet none -" NormalMode base0 base3 reverse -" InsertMode cyan base3 reverse -" ReplaceMode orange base3 reverse -" VisualMode magenta base3 reverse -" CommandMode magenta base3 reverse -" if !get(g:, '@optionprefix_extra_hi_groups', 0) -" unlet s:t_Co s:italics s:termtrans -" finish -" endif -" vimVar -> Identifier -" vimFunc -> Function -" vimUserFunc -> Function -" helpSpecial -> Special -" vimSet -> Normal -" vimSetEqual -> Normal -" vimCommentString violet none -" vimCommand yellow none -" vimCmdSep blue none bold -" helpExample base1 none -" helpOption cyan none -" helpNote magenta none -" helpVim magenta none -" helpHyperTextJump blue none -" helpHyperTextEntry green none -" vimIsCommand base00 none -" vimSynMtchOpt yellow none -" vimSynType cyan none -" vimHiLink blue none -" vimHiGroup blue none -" vimGroup blue none bold -" diffAdded -> Statement -" diffLine -> Identifier -" gitcommitComment base01 none italic -" gitcommitUntracked -> gitcommitComment -" gitcommitDiscarded -> gitcommitComment -" gitcommitSelected -> gitcommitComment -" gitcommitUnmerged green none bold -" gitcommitOnBranch base01 none bold -" gitcommitBranch magenta none bold -" gitcommitNoBranch -> gitcommitBranch -" gitcommitdiscardedtype red none -" gitcommitselectedtype green none -" gitcommitHeader base01 none -" gitcommitUntrackedFile cyan none bold -" gitcommitDiscardedFile red none bold -" gitcommitSelectedFile green none bold -" gitcommitUnmergedFile yellow none bold -" gitcommitFile base0 none bold -" gitcommitDiscardedArrow -> gitcommitDiscardedFile -" gitcommitSelectedArrow -> gitcommitSelectedFile -" gitcommitUnmergedArrow -> gitcommitUnmergedFile -" htmlTag base01 none -" htmlEndTag base01 none -" htmlTagN base1 none bold -" htmlTagName blue none bold -" htmlSpecialTagName blue none italic -" htmlArg base00 none -" javaScript yellow none -" jsFuncCall -> Function -" perlHereDoc base1 back -" perlVarPlain yellow back -" perlStatementFileDesc cyan back -" texstatement cyan back -" texmathzonex yellow back -" texmathmatcher yellow back -" texreflabel yellow back -" rubyDefine base1 back bold -" rubySymbol -> Type -" rubyBoolean magenta back -" cPreCondit orange none -" VarId blue none -" ConId yellow none -" hsImport magenta none -" hsString base00 none -" hsStructure cyan none -" hs_hlFunctionName blue none -" hsStatement cyan none -" hsImportLabel cyan none -" hs_OpFunctionName yellow none -" hs_DeclareFunction orange none -" hsVarSym cyan none -" hsType yellow none -" hsTypedef cyan none -" hsModuleName green none -" hsImportParams -> Delimiter -" hsDelimTypeExport -> Delimiter -" hsModuleStartLabel -> hsStructure -" hsModuleWhereLabel -> hsModuleStartLabel -" hsNiceOperator cyan none -" hsniceoperator cyan none -" let hs_highlight_boolean=1 -" let hs_highlight_delimiters=1 -" pandocTitleBlock blue none -" pandocTitleBlockTitle blue none bold -" pandocTitleComment blue none bold -" pandocComment base01 none italic -" pandocVerbatimBlock yellow none -" pandocVerbatimBlockDeep -> pandocVerbatimBlock -" pandocCodeBlock -> pandocVerbatimBlock -" pandocCodeBlockDelim -> pandocVerbatimBlock -" pandocBlockQuote blue none -" pandocBlockQuoteLeader1 blue none -" pandocBlockQuoteLeader2 cyan none -" pandocBlockQuoteLeader3 yellow none -" pandocBlockQuoteLeader4 red none -" pandocBlockQuoteLeader5 base0 none -" pandocBlockQuoteLeader6 base01 none -" pandocListMarker magenta none -" pandocListReference magenta none -" pandocDefinitionBlock violet none -" pandocDefinitionTerm violet none standout -" pandocDefinitionIndctr violet none bold -" pandocEmphasisDefinition violet none italic -" pandocEmphasisNestedDefinition violet none bold -" pandocStrongEmphasisDefinition violet none bold -" pandocStrongEmphasisNestedDefinition violet none bold -" pandocStrongEmphasisEmphasisDefinition violet none bold -" pandocStrikeoutDefinition violet none reverse -" pandocVerbatimInlineDefinition violet none -" pandocSuperscriptDefinition violet none -" pandocSubscriptDefinition violet none -" pandocTable blue none -" pandocTableStructure blue none -" pandocTableStructureTop -> pandocTableStructre -" pandocTableStructureEnd -> pandocTableStructre -" pandocTableZebraLight blue base03 -" pandocTableZebraDark blue base02 -" pandocEmphasisTable blue none italic -" pandocEmphasisNestedTable blue none bold -" pandocStrongEmphasisTable blue none bold -" pandocStrongEmphasisNestedTable blue none bold -" pandocStrongEmphasisEmphasisTable blue none bold -" pandocStrikeoutTable blue none reverse -" pandocVerbatimInlineTable blue none -" pandocSuperscriptTable blue none -" pandocSubscriptTable blue none -" pandocHeading orange none bold -" pandocHeadingMarker orange none bold -" pandocEmphasisHeading orange none bold -" pandocEmphasisNestedHeading orange none bold -" pandocStrongEmphasisHeading orange none bold -" pandocStrongEmphasisNestedHeading orange none bold -" pandocStrongEmphasisEmphasisHeading orange none bold -" pandocStrikeoutHeading orange none reverse -" pandocVerbatimInlineHeading orange none bold -" pandocSuperscriptHeading orange none bold -" pandocSubscriptHeading orange none bold -" pandocLinkDelim base01 none -" pandocLinkLabel blue none -" pandocLinkText blue none -" pandocLinkURL base00 none -" pandocLinkTitle base00 none -" pandocLinkTitleDelim base01 none s=base00 -" pandocLinkDefinition cyan none s=base00 -" pandocLinkDefinitionID blue none bold -" pandocImageCaption violet none bold -" pandocFootnoteLink green none -" pandocFootnoteDefLink green none bold -" pandocFootnoteInline green none bold -" pandocFootnote green none -" pandocCitationDelim magenta none -" pandocCitation magenta none -" pandocCitationID magenta none -" pandocCitationRef magenta none -" pandocStyleDelim base01 none -" pandocEmphasis base0 none italic -" pandocEmphasisNested base0 none bold -" pandocStrongEmphasis base0 none bold -" pandocStrongEmphasisNested base0 none bold -" pandocStrongEmphasisEmphasis base0 none bold -" pandocStrikeout base01 none reverse -" pandocVerbatimInline yellow none -" pandocSuperscript violet none -" pandocSubscript violet none -" pandocRule blue none bold -" pandocRuleLine blue none bold -" pandocEscapePair red none bold -" pandocCitationRef magenta none -" pandocNonBreakingSpace red none reverse -" pandocEscapedCharacter -> pandocEscapePair -" pandocLineBreak -> pandocEscapePair -" pandocMetadataDelim base01 none -" pandocMetadata blue none -" pandocMetadataKey blue none -" pandocMetadata blue none bold -" pandocMetadataTitle -> pandocMetadata -" unlet s:termtrans -" Background: light -" Color: base2 #073642 236 0 -" Color: red #dc322f 160 1 -" Color: green #859900 106 2 -" Color: yellow #b58900 136 3 -" Color: blue #268bd2 32 4 -" Color: magenta #d33682 162 5 -" Color: cyan #2aa198 37 6 -" Color: base02 #eee8d5 254 7 -" Color: back #eee8d5 254 7 -" Color: base3 #002b36 235 8 -" Color: orange #cb4b16 166 9 -" Color: base1 #586e75 242 10 -" Color: base0 #657b83 66 11 -" Color: base00 #839496 246 12 -" Color: violet #6c71c4 61 13 -" Color: base01 #93a1a1 247 14 -" Color: base03 #fdf6e3 230 15 -" Term Colors: base2 red green yellow blue magenta cyan base02 -" Term Colors: base3 orange base1 base0 base00 violet base01 base03 -" if s:termtrans -" Normal base0 none -" FoldColumn base0 none -" Folded base0 none bold s=base03 -" LineNr base01 none -" Terminal fg none -" ToolbarButton base1 none bold -" ToolbarLine none none -" else -" Normal base0 back -" FoldColumn base0 base02 -" Folded base0 base02 bold s=base03 -" LineNr base01 base02 -" Terminal fg back -" ToolbarButton base1 base02 bold -" ToolbarLine none base02 -" endif -" if get(g:, '@optionprefix_visibility', '') ==# 'high' -" CursorLineNr red base02 bold -" if get(g:, '@optionprefix_old_cursor_style', 0) -" Cursor base03 base0 -" else -" Cursor base03 red -" endif -" MatchParen base3 none bold,underline -" NonText red none bold -" SpecialKey red none reverse -" SpellBad magenta base02 t=underline,reverse g=undercurl,reverse s=violet -" SpellCap magenta base02 t=underline,reverse g=undercurl,reverse s=violet -" SpellLocal yellow base02 t=underline,reverse g=undercurl,reverse s=orange -" SpellRare cyan base02 t=underline,reverse g=undercurl,reverse s=orange -" Title orange none bold -" elseif get(g:, '@optionprefix_visibility', '') ==# 'low' -" CursorLineNr base01 base02 bold -" if get(g:, '@optionprefix_old_cursor_style', 0) -" Cursor base03 base0 -" else -" Cursor base03 orange -" endif -" MatchParen base3 base02 bold -" NonText base02 none bold -" SpecialKey base02 none bold -" SpellBad magenta none t=underline g=undercurl s=violet -" SpellCap magenta none t=underline g=undercurl s=violet -" SpellLocal yellow none t=underline g=undercurl s=yellow -" SpellRare cyan none t=underline g=undercurl s=cyan -" Title base01 none bold -" else -" CursorLineNr base0 base02 bold -" if get(g:, 'solarized_old_cursor_style', 0) -" Cursor base03 base0 -" else -" Cursor base03 orange -" endif -" MatchParen base3 base02 bold -" NonText base00 none bold -" SpecialKey base00 base02 bold -" SpellBad magenta none t=underline g=undercurl s=violet -" SpellCap magenta none t=underline g=undercurl s=violet -" SpellLocal yellow none t=underline g=undercurl s=yellow -" SpellRare cyan none t=underline g=undercurl s=cyan -" Title orange none bold -" endif -" Variant: gui -" if s:termtrans -" hi CursorLineNr guibg=NONE -" endif -" Variant: 256 16 -" if s:termtrans -" hi CursorLineNr ctermbg=NONE -" endif -" Variant: gui 256 16 -" if get(g:, '@optionprefix_diffmode', '') ==# 'high' -" DiffAdd green none reverse -" DiffChange yellow none reverse -" DiffDelete red none reverse -" DiffText blue none reverse -" elseif get(g:, '@optionprefix_diffmode', '') ==# 'low' -" DiffAdd green none s=green -" DiffChange yellow none s=yellow -" DiffDelete red none bold -" DiffText blue none s=blue -" else " normal diffmode -" DiffAdd green base02 s=green -" DiffChange yellow base02 s=yellow -" DiffDelete red base02 bold -" DiffText blue base02 s=blue -" endif -" if get(g:, '@optionprefix_statusline', '') ==# 'low' -" StatusLine base01 base02 reverse -" StatusLineNC base01 base1 reverse -" TabLine base01 base1 reverse -" TabLineFill base01 base1 reverse -" TabLineSel base01 base02 reverse -" VertSplit base1 base01 -" WildMenu base0 base02 reverse -" elseif get(g:, '@optionprefix_statusline', '') ==# 'flat' -" StatusLine base03 base2 reverse -" StatusLineNC base03 base1 reverse -" TabLineSel base2 base03 -" TabLine base01 base03 -" TabLineFill base01 base03 -" VertSplit base01 base03 -" WildMenu base01 base03 reverse -" else -" StatusLine base1 base02 reverse -" StatusLineNC base00 base02 reverse -" TabLine base00 base02 reverse -" TabLineFill base00 base02 reverse -" TabLineSel base1 base02 reverse -" VertSplit base1 base01 -" WildMenu base00 base02 reverse -" endif -" ColorColumn none base02 -" Conceal blue none -" CursorColumn none base02 -" CursorLine none base02 underline s=base1 -" Directory blue none -" EndOfBuffer none none -" ErrorMsg red base03 reverse -" IncSearch orange none standout -" ModeMsg blue none -" MoreMsg blue none -" Pmenu base03 base01 -" PmenuSbar none base0 -" PmenuSel base03 base00 -" PmenuThumb none base00 -" Question cyan none bold -" Search yellow none reverse -" SignColumn base0 none -" Visual base01 base03 reverse -" VisualNOS none base02 reverse -" WarningMsg orange none bold -" Comment base01 none italic -" Constant cyan none -" CursorIM none fg -" Error red base03 bold,reverse -" Identifier blue none -" Ignore none none -" PreProc orange none -" Special orange none -" Statement green none -" Todo magenta none bold -" Type yellow none -" Underlined violet none -" NormalMode base1 base03 reverse -" InsertMode cyan base03 reverse -" ReplaceMode orange base03 reverse -" VisualMode magenta base03 reverse -" CommandMode magenta base03 reverse -" TermCursor -> Cursor -" TermCursorNC base03 base01 -" if !get(g:, '@optionprefix_extra_hi_groups', 0) -" unlet s:t_Co s:italics s:termtrans -" finish -" endif -" vimVar -> Identifier -" vimFunc -> Function -" vimUserFunc -> Function -" helpSpecial -> Special -" vimSet -> Normal -" vimSetEqual -> Normal -" vimCommentString violet none -" vimCommand yellow none -" vimCmdSep blue none bold -" helpExample base1 none -" helpOption cyan none -" helpNote magenta none -" helpVim magenta none -" helpHyperTextJump blue none -" helpHyperTextEntry green none -" vimIsCommand base00 none -" vimSynMtchOpt yellow none -" vimSynType cyan none -" vimHiLink blue none -" vimHiGroup blue none -" vimGroup blue none bold -" diffAdded -> Statement -" diffLine -> Identifier -" gitcommitComment base01 none italic -" gitcommitUntracked -> gitcommitComment -" gitcommitDiscarded -> gitcommitComment -" gitcommitSelected -> gitcommitComment -" gitcommitUnmerged green none bold -" gitcommitOnBranch base01 none bold -" gitcommitBranch magenta none bold -" gitcommitNoBranch -> gitcommitBranch -" gitcommitdiscardedtype red none -" gitcommitselectedtype green none -" gitcommitHeader base01 none -" gitcommitUntrackedFile cyan none bold -" gitcommitDiscardedFile red none bold -" gitcommitSelectedFile green none bold -" gitcommitUnmergedFile yellow none bold -" gitcommitFile base0 none bold -" gitcommitDiscardedArrow -> gitcommitDiscardedFile -" gitcommitSelectedArrow -> gitcommitSelectedFile -" gitcommitUnmergedArrow -> gitcommitUnmergedFile -" htmlTag base01 none -" htmlEndTag base01 none -" htmlTagN base1 none bold -" htmlTagName blue none bold -" htmlSpecialTagName blue none italic -" htmlArg base00 none -" javaScript yellow none -" jsFuncCall -> Function -" perlHereDoc base1 back -" perlVarPlain yellow back -" perlStatementFileDesc cyan back -" texstatement cyan back -" texmathzonex yellow back -" texmathmatcher yellow back -" texreflabel yellow back -" rubyDefine base1 back bold -" rubySymbol -> Type -" rubyBoolean magenta back -" cPreCondit orange none -" VarId blue none -" ConId yellow none -" hsImport magenta none -" hsString base00 none -" hsStructure cyan none -" hs_hlFunctionName blue none -" hsStatement cyan none -" hsImportLabel cyan none -" hs_OpFunctionName yellow none -" hs_DeclareFunction orange none -" hsVarSym cyan none -" hsType yellow none -" hsTypedef cyan none -" hsModuleName green none -" hsImportParams -> Delimiter -" hsDelimTypeExport -> Delimiter -" hsModuleStartLabel -> hsStructure -" hsModuleWhereLabel -> hsModuleStartLabel -" hsNiceOperator cyan none -" hsniceoperator cyan none -" let hs_highlight_boolean=1 -" let hs_highlight_delimiters=1 -" pandocTitleBlock blue none -" pandocTitleBlockTitle blue none bold -" pandocTitleComment blue none bold -" pandocComment base01 none italic -" pandocVerbatimBlock yellow none -" pandocVerbatimBlockDeep -> pandocVerbatimBlock -" pandocCodeBlock -> pandocVerbatimBlock -" pandocCodeBlockDelim -> pandocVerbatimBlock -" pandocBlockQuote blue none -" pandocBlockQuoteLeader1 blue none -" pandocBlockQuoteLeader2 cyan none -" pandocBlockQuoteLeader3 yellow none -" pandocBlockQuoteLeader4 red none -" pandocBlockQuoteLeader5 base0 none -" pandocBlockQuoteLeader6 base01 none -" pandocListMarker magenta none -" pandocListReference magenta none -" pandocDefinitionBlock violet none -" pandocDefinitionTerm violet none standout -" pandocDefinitionIndctr violet none bold -" pandocEmphasisDefinition violet none italic -" pandocEmphasisNestedDefinition violet none bold -" pandocStrongEmphasisDefinition violet none bold -" pandocStrongEmphasisNestedDefinition violet none bold -" pandocStrongEmphasisEmphasisDefinition violet none bold -" pandocStrikeoutDefinition violet none reverse -" pandocVerbatimInlineDefinition violet none -" pandocSuperscriptDefinition violet none -" pandocSubscriptDefinition violet none -" pandocTable blue none -" pandocTableStructure blue none -" pandocTableStructureTop -> pandocTableStructre -" pandocTableStructureEnd -> pandocTableStructre -" pandocTableZebraLight blue base03 -" pandocTableZebraDark blue base02 -" pandocEmphasisTable blue none italic -" pandocEmphasisNestedTable blue none bold -" pandocStrongEmphasisTable blue none bold -" pandocStrongEmphasisNestedTable blue none bold -" pandocStrongEmphasisEmphasisTable blue none bold -" pandocStrikeoutTable blue none reverse -" pandocVerbatimInlineTable blue none -" pandocSuperscriptTable blue none -" pandocSubscriptTable blue none -" pandocHeading orange none bold -" pandocHeadingMarker orange none bold -" pandocEmphasisHeading orange none bold -" pandocEmphasisNestedHeading orange none bold -" pandocStrongEmphasisHeading orange none bold -" pandocStrongEmphasisNestedHeading orange none bold -" pandocStrongEmphasisEmphasisHeading orange none bold -" pandocStrikeoutHeading orange none reverse -" pandocVerbatimInlineHeading orange none bold -" pandocSuperscriptHeading orange none bold -" pandocSubscriptHeading orange none bold -" pandocLinkDelim base01 none -" pandocLinkLabel blue none -" pandocLinkText blue none -" pandocLinkURL base00 none -" pandocLinkTitle base00 none -" pandocLinkTitleDelim base01 none s=base00 -" pandocLinkDefinition cyan none s=base00 -" pandocLinkDefinitionID blue none bold -" pandocImageCaption violet none bold -" pandocFootnoteLink green none -" pandocFootnoteDefLink green none bold -" pandocFootnoteInline green none bold -" pandocFootnote green none -" pandocCitationDelim magenta none -" pandocCitation magenta none -" pandocCitationID magenta none -" pandocCitationRef magenta none -" pandocStyleDelim base01 none -" pandocEmphasis base0 none italic -" pandocEmphasisNested base0 none bold -" pandocStrongEmphasis base0 none bold -" pandocStrongEmphasisNested base0 none bold -" pandocStrongEmphasisEmphasis base0 none bold -" pandocStrikeout base01 none reverse -" pandocVerbatimInline yellow none -" pandocSuperscript violet none -" pandocSubscript violet none -" pandocRule blue none bold -" pandocRuleLine blue none bold -" pandocEscapePair red none bold -" pandocCitationRef magenta none -" pandocNonBreakingSpace red none reverse -" pandocEscapedCharacter -> pandocEscapePair -" pandocLineBreak -> pandocEscapePair -" pandocMetadataDelim base01 none -" pandocMetadata blue none -" pandocMetadataKey blue none -" pandocMetadata blue none bold -" pandocMetadataTitle -> pandocMetadata -" unlet s:termtrans -" Background: any -" Variant: 2 -" Color: unused #000000 0 0 -" Normal unused unused -" ColorColumn unused unused reverse -" Conceal unused unused -" Cursor unused unused -" CursorColumn unused unused reverse -" CursorLine unused unused underline -" CursorLineNr unused unused reverse,italic,bold,underline -" DiffAdd unused unused reverse,underline -" DiffChange unused unused reverse,underline -" DiffDelete unused unused reverse,underline -" DiffText unused unused bold,reverse,underline -" Directory unused unused -" EndOfBuffer unused unused -" ErrorMsg unused unused bold,reverse,italic -" FoldColumn unused unused reverse -" Folded unused unused italic,reverse,underline -" IncSearch unused unused reverse,bold,italic -" LineNr unused unused reverse -" MatchParen unused unused bold,underline -" ModeMsg unused unused -" MoreMsg unused unused -" NonText unused unused -" Pmenu unused unused reverse -" PmenuSbar unused unused -" PmenuSel unused unused -" PmenuThumb unused unused -" Question unused unused standout -" Search unused unused underline,italic -" SignColumn unused unused reverse -" SpecialKey unused unused bold -" SpellBad unused unused underline,italic -" SpellCap unused unused underline,italic -" SpellLocal unused unused underline,italic -" SpellRare unused unused underline,italic -" StatusLine unused unused reverse,bold -" StatusLineNC unused unused reverse -" TabLine unused unused reverse,underline,italic -" TabLineFill unused unused reverse,underline -" TabLineSel unused unused bold -" Title unused unused bold -" VertSplit unused unused reverse -" Visual unused unused reverse -" VisualNOS unused unused -" WarningMsg unused unused standout -" WildMenu unused unused bold -" Comment unused unused italic -" Constant unused unused bold,italic -" Error unused unused reverse -" Identifier unused unused italic -" Ignore unused unused -" PreProc unused unused italic -" Special unused unused bold,italic -" Statement unused unused bold -" Todo unused unused bold,underline -" Type unused unused bold -" Underlined unused unused underline -" CursorIM unused unused -" ToolbarLine unused unused reverse -" ToolbarButton unused unused bold,reverse -" unlet s:termtrans diff --git a/files/nvim/colors/space_vim_theme.vim b/files/nvim/colors/space_vim_theme.vim deleted file mode 100644 index 5606e56..0000000 --- a/files/nvim/colors/space_vim_theme.vim +++ /dev/null @@ -1,2402 +0,0 @@ -" Name: Space-vim theme -" Description: Light and dark theme inspired by spacemacs-theme -" Author: Liu-Cheng Xu -" Maintainer: Liu-Cheng Xu -" Website: https://github.com/liuchengxu/space-vim-theme -" License: Vim License (see `:help license`) -" Last Updated: Mon 25 Mar 2019 05:22:40 PM CST - -if !(has('termguicolors') && &termguicolors) && !has('gui_running') - \ && (!exists('&t_Co') || &t_Co < 256) - echoerr '[Space-vim theme] There are not enough colors.' - finish -endif - -hi clear -if exists('syntax_on') - syntax reset -endif - -let g:colors_name = 'space_vim_theme' - -if &background ==# 'dark' - let g:terminal_ansi_colors = [ - \ '#292b2e', '#d26487', '#35a8a5', '#b89f33', '#6981c5', '#a15ea7', '#288668', '#727272', - \ '#34323e', '#f2241f', '#67b11d', '#b1951d', '#4f97d7', '#bc6ec5', '#2d9574', '#b2b2b2'] - if !has('gui_running') && get(g:, 'space_vim_transp_bg', 0) - hi Normal ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi CursorLineNr ctermfg=170 ctermbg=NONE guifg=#bc6ec5 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi FoldColumn ctermfg=170 ctermbg=NONE guifg=#bc6ec5 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi SignColumn ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi VertSplit ctermfg=234 ctermbg=NONE guifg=#212026 guibg=NONE guisp=NONE cterm=NONE gui=NONE - else - hi Normal ctermfg=249 ctermbg=235 guifg=#b2b2b2 guibg=#292b2e guisp=NONE cterm=NONE gui=NONE - hi CursorLineNr ctermfg=170 ctermbg=234 guifg=#bc6ec5 guibg=#212026 guisp=NONE cterm=NONE gui=NONE - hi FoldColumn ctermfg=170 ctermbg=234 guifg=#bc6ec5 guibg=#212026 guisp=NONE cterm=NONE gui=NONE - hi SignColumn ctermfg=249 ctermbg=235 guifg=#b2b2b2 guibg=#292b2e guisp=NONE cterm=NONE gui=NONE - hi VertSplit ctermfg=234 ctermbg=235 guifg=#212026 guibg=#292b2e guisp=NONE cterm=NONE gui=NONE - endif - hi ColorColumn ctermfg=NONE ctermbg=234 guifg=NONE guibg=#212026 guisp=NONE cterm=NONE gui=NONE - hi Conceal ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi Cursor ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE,bold,reverse gui=NONE,bold,reverse - hi! link CursorColumn CursorLine - hi CursorLine ctermfg=NONE ctermbg=234 guifg=NONE guibg=#212026 guisp=NONE cterm=NONE gui=NONE - hi DiffAdd ctermfg=70 ctermbg=235 guifg=#67b11d guibg=#292b2e guisp=NONE cterm=NONE,reverse gui=NONE,reverse - hi DiffChange ctermfg=173 ctermbg=235 guifg=#e18254 guibg=#292b2e guisp=NONE cterm=NONE,reverse gui=NONE,reverse - hi DiffDelete ctermfg=196 ctermbg=235 guifg=#f2241f guibg=#292b2e guisp=NONE cterm=NONE,reverse gui=NONE,reverse - hi DiffText ctermfg=136 ctermbg=235 guifg=#b1951d guibg=#292b2e guisp=NONE cterm=NONE,reverse gui=NONE,reverse - hi Directory ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi EndOfBuffer ctermfg=235 ctermbg=NONE guifg=#292b2e guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi Error ctermfg=196 ctermbg=235 guifg=#f2241f guibg=#292b2e guisp=NONE cterm=NONE,bold,reverse gui=NONE,bold,reverse - hi ErrorMsg ctermfg=235 ctermbg=196 guifg=#292b2e guibg=#f2241f guisp=NONE cterm=NONE gui=NONE - hi Folded ctermfg=133 ctermbg=234 guifg=#a45bad guibg=#212026 guisp=NONE cterm=NONE gui=NONE,italic - hi IncSearch ctermfg=173 ctermbg=235 guifg=#e18254 guibg=#292b2e guisp=NONE cterm=NONE,bold,reverse gui=NONE,bold,reverse - hi LineNr ctermfg=239 ctermbg=NONE guifg=#44505c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi MatchParen ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE,bold,underline gui=NONE,bold,underline - hi ModeMsg ctermfg=184 ctermbg=NONE guifg=#e5d11c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi! link MoreMsg ModeMsg - hi NonText ctermfg=239 ctermbg=NONE guifg=#44505c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi Pmenu ctermfg=103 ctermbg=236 guifg=#9a9aba guibg=#34323e guisp=NONE cterm=NONE gui=NONE - hi PmenuSbar ctermfg=NONE ctermbg=234 guifg=NONE guibg=#212026 guisp=NONE cterm=NONE gui=NONE - hi PmenuSel ctermfg=NONE ctermbg=60 guifg=NONE guibg=#5e5079 guisp=NONE cterm=NONE gui=NONE - hi PmenuThumb ctermfg=NONE ctermbg=60 guifg=NONE guibg=#5d4d7a guisp=NONE cterm=NONE gui=NONE - hi Question ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi! link QuickFixLine Search - hi! link qfLineNr Type - hi Search ctermfg=70 ctermbg=235 guifg=#67b11d guibg=#292b2e guisp=NONE cterm=NONE,bold,reverse gui=NONE,bold,reverse - hi SpecialKey ctermfg=170 ctermbg=NONE guifg=#bc6ec5 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi SpellBad ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=#f2241f cterm=NONE,underline gui=NONE,italic,undercurl - hi SpellCap ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=#4f97d7 cterm=NONE,underline gui=NONE,italic,undercurl - hi SpellLocal ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=#2d9574 cterm=NONE,underline gui=NONE,italic,undercurl - hi SpellRare ctermfg=170 ctermbg=NONE guifg=#bc6ec5 guibg=NONE guisp=#bc6ec5 cterm=NONE,underline gui=NONE,italic,undercurl - hi StatusLine ctermfg=249 ctermbg=60 guifg=#b2b2b2 guibg=#5d4d7a guisp=NONE cterm=NONE gui=NONE - hi StatusLineNC ctermfg=60 ctermbg=236 guifg=#5d4d7a guibg=#34323e guisp=NONE cterm=NONE gui=NONE - hi! link StatusLineTerm StatusLine - hi! link StatusLineTermNC StatusLineNC - hi TabLineFill ctermfg=60 ctermbg=234 guifg=#544a65 guibg=#212026 guisp=NONE cterm=NONE gui=NONE - hi TabLineSel ctermfg=70 ctermbg=234 guifg=#67b11d guibg=#212026 guisp=NONE cterm=NONE gui=NONE - hi! link TabLine TabLineFill - hi Title ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi Visual ctermfg=NONE ctermbg=60 guifg=NONE guibg=#544a65 guisp=NONE cterm=NONE gui=NONE - hi! link VisualNOS Visual - hi WarningMsg ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi WildMenu ctermfg=173 ctermbg=234 guifg=#e18254 guibg=#212026 guisp=NONE cterm=NONE,bold gui=NONE,bold - hi Boolean ctermfg=166 ctermbg=NONE guifg=#dc752f guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi Character ctermfg=170 ctermbg=NONE guifg=#bc6ec5 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi Comment ctermfg=37 ctermbg=NONE guifg=#2aa1ae guibg=NONE guisp=NONE cterm=NONE,none gui=NONE,italic,none - hi Conditional ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi Constant ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi Define ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi Debug ctermfg=196 ctermbg=NONE guifg=#f54e3c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi Delimiter ctermfg=73 ctermbg=NONE guifg=#74baac guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi Error ctermfg=196 ctermbg=235 guifg=#f2241f guibg=#292b2e guisp=NONE cterm=NONE,bold,reverse gui=NONE,bold,reverse - hi Exception ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi Float ctermfg=147 ctermbg=NONE guifg=#b7b7ff guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi Function ctermfg=170 ctermbg=NONE guifg=#bc6ec5 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi Identifier ctermfg=68 ctermbg=NONE guifg=#7590db guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi Ignore ctermfg=fg ctermbg=NONE guifg=fg guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi Include ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi Keyword ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi Label ctermfg=168 ctermbg=NONE guifg=#ce537a guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi Macro ctermfg=68 ctermbg=NONE guifg=#7590db guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi Number ctermfg=176 ctermbg=NONE guifg=#e697e6 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi Operator ctermfg=74 ctermbg=NONE guifg=#58b0d9 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi PreCondit ctermfg=133 ctermbg=NONE guifg=#a45bad guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi PreProc ctermfg=177 ctermbg=NONE guifg=#d698fe guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi Repeat ctermfg=168 ctermbg=NONE guifg=#ce537a guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi SpecialChar ctermfg=80 ctermbg=NONE guifg=#28def0 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi SpecialComment ctermfg=67 ctermbg=NONE guifg=#768294 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi Statement ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi StorageClass ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi Special ctermfg=172 ctermbg=NONE guifg=#d79650 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi String ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi Structure ctermfg=31 ctermbg=NONE guifg=#4495b4 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi Tag ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi Todo ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold,italic - hi Type ctermfg=168 ctermbg=NONE guifg=#ce537a guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi Typedef ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi Underlined ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE,underline gui=NONE,underline - hi! link lCursor Cursor - hi CursorIM ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE,reverse gui=NONE,reverse - hi ToolbarLine ctermfg=NONE ctermbg=232 guifg=NONE guibg=#0a0814 guisp=NONE cterm=NONE gui=NONE - hi ToolbarButton ctermfg=252 ctermbg=232 guifg=#cdcdcd guibg=#0a0814 guisp=NONE cterm=NONE,bold gui=NONE,bold - if get(g:, "space_vim_italic", 0) - hi Comment cterm=italic - hi Folded cterm=italic - hi SpellBad cterm=italic,underline - hi SpellCap cterm=italic,underline - hi SpellLocal cterm=italic,underline - hi SpellRare cterm=italic,underline - hi Todo cterm=italic - endif - if get(g:, "space_vim_italicize_strings", 0) - hi Special cterm=italic gui=italic - hi String cterm=italic gui=italic - endif - hi! link iCursor Cursor - hi! link vCursor Cursor - hi NormalMode ctermfg=240 ctermbg=235 guifg=#5b5b5b guibg=#292b2e guisp=NONE cterm=NONE,reverse gui=NONE,reverse - hi InsertMode ctermfg=32 ctermbg=235 guifg=#4f97d7 guibg=#292b2e guisp=NONE cterm=NONE,reverse gui=NONE,reverse - hi ReplaceMode ctermfg=29 ctermbg=235 guifg=#2d9574 guibg=#292b2e guisp=NONE cterm=NONE,reverse gui=NONE,reverse - hi VisualMode ctermfg=173 ctermbg=235 guifg=#e18254 guibg=#292b2e guisp=NONE cterm=NONE,reverse gui=NONE,reverse - hi CommandMode ctermfg=170 ctermbg=235 guifg=#bc6ec5 guibg=#292b2e guisp=NONE cterm=NONE,reverse gui=NONE,reverse - hi Warnings ctermfg=173 ctermbg=235 guifg=#e18254 guibg=#292b2e guisp=NONE cterm=NONE,reverse gui=NONE,reverse - if has('nvim') - let g:terminal_color_0 = '#292b2e' - let g:terminal_color_8 = '#44505c' - let g:terminal_color_1 = '#d26487' - let g:terminal_color_9 = '#f2241f' - let g:terminal_color_2 = '#35a8a5' - let g:terminal_color_10 = '#67b11d' - let g:terminal_color_3 = '#b89f33' - let g:terminal_color_11 = '#b1951d' - let g:terminal_color_4 = '#6981c5' - let g:terminal_color_12 = '#4f97d7' - let g:terminal_color_5 = '#a15ea7' - let g:terminal_color_13 = '#bc6ec5' - let g:terminal_color_6 = '#288668' - let g:terminal_color_14 = '#2d9574' - let g:terminal_color_7 = '#5b5b5b' - let g:terminal_color_15 = '#b2b2b2' - hi! link TermCursor Cursor - hi TermCursorNC ctermfg=234 ctermbg=249 guifg=#212026 guibg=#b2b2b2 guisp=NONE cterm=NONE gui=NONE - endif - if !(get(g:, "space_vim_plugin_hi_groups", 1) || get(g:, "space_vim_filetype_hi_groups", 1)) - finish - endif - if get(g:, "space_vim_plugin_hi_groups", 1) - hi ALEError ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=#f2241f cterm=NONE,underline gui=NONE,undercurl - hi ALEWarning ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=#f2241f cterm=NONE,underline gui=NONE,undercurl - hi ALEInfo ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=#4f97d7 cterm=NONE,underline gui=NONE,undercurl - hi ALEErrorSign ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi ALEWarningSign ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi ALEInfoSign ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi BufTabLineCurrent ctermfg=235 ctermbg=240 guifg=#292b2e guibg=#5b5b5b guisp=NONE cterm=NONE gui=NONE - hi BufTabLineActive ctermfg=240 ctermbg=232 guifg=#5b5b5b guibg=#100a14 guisp=NONE cterm=NONE gui=NONE - hi BufTabLineHidden ctermfg=236 ctermbg=234 guifg=#34323e guibg=#212026 guisp=NONE cterm=NONE gui=NONE - hi BufTabLineFill ctermfg=235 ctermbg=235 guifg=#292b2e guibg=#292b2e guisp=NONE cterm=NONE gui=NONE - hi CtrlPMatch ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi CtrlPNoEntries ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi CtrlPPrtBase ctermfg=232 ctermbg=NONE guifg=#100a14 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi CtrlPPrtCursor ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi CtrlPLinePre ctermfg=232 ctermbg=NONE guifg=#100a14 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi CtrlPMode1 ctermfg=32 ctermbg=232 guifg=#4f97d7 guibg=#100a14 guisp=NONE cterm=NONE,bold gui=NONE,bold - hi CtrlPMode2 ctermfg=235 ctermbg=32 guifg=#292b2e guibg=#4f97d7 guisp=NONE cterm=NONE,bold gui=NONE,bold - hi CtrlPStats ctermfg=240 ctermbg=232 guifg=#5b5b5b guibg=#100a14 guisp=NONE cterm=NONE,bold gui=NONE,bold - hi DirvishPathTail ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi DirvishArg ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi! link EasyMotionTarget Search - hi! link EasyMotionShade Comment - hi gitcommitSelectedFile ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi gitcommitDiscardedFile ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi GitGutterAdd ctermfg=70 ctermbg=235 guifg=#67b11d guibg=#292b2e guisp=NONE cterm=NONE,bold gui=NONE,bold - hi GitGutterChange ctermfg=173 ctermbg=235 guifg=#e18254 guibg=#292b2e guisp=NONE cterm=NONE,bold gui=NONE,bold - hi GitGutterDelete ctermfg=196 ctermbg=235 guifg=#f2241f guibg=#292b2e guisp=NONE cterm=NONE,bold gui=NONE,bold - hi GitGutterChangeDelete ctermfg=168 ctermbg=235 guifg=#ce537a guibg=#292b2e guisp=NONE cterm=NONE,bold gui=NONE,bold - if get(g:, "indent_guides_auto_colors", 0) - if get(g: "space_vim_invert_indent_guides", 0) - hi IndentGuidesOdd ctermfg=235 ctermbg=232 guifg=#292b2e guibg=#100a14 guisp=NONE cterm=NONE,reverse gui=NONE,reverse - hi IndentGuidesEven ctermfg=235 ctermbg=234 guifg=#292b2e guibg=#212026 guisp=NONE cterm=NONE,reverse gui=NONE,reverse - else - hi IndentGuidesOdd ctermfg=235 ctermbg=232 guifg=#292b2e guibg=#100a14 guisp=NONE cterm=NONE gui=NONE - hi IndentGuidesEven ctermfg=235 ctermbg=234 guifg=#292b2e guibg=#212026 guisp=NONE cterm=NONE gui=NONE - endif - endif - " IndentLine - if !exists('g:indentLine_color_term') - let g:indentLine_color_term = 232 - endif - if !exists('g:indentLine_color_gui') - let g:indentLine_color_gui = '#100a14' - endif - hi NERDTreeDir ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi NERDTreeDirSlash ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi NERDTreeOpenable ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi NERDTreeClosable ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi NERDTreeFile ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi NERDTreeExecFile ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi NERDTreeUp ctermfg=168 ctermbg=NONE guifg=#ce537a guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi NERDTreeCWD ctermfg=170 ctermbg=NONE guifg=#bc6ec5 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi NERDTreeHelp ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi NERDTreeToggleOn ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi NERDTreeToggleOff ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi netrwDir ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi netrwClassify ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi netrwLink ctermfg=239 ctermbg=NONE guifg=#44505c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi netrwSymLink ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi netrwExe ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi netrwComment ctermfg=239 ctermbg=NONE guifg=#44505c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi netrwList ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi netrwHelpCmd ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi netrwCmdSep ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi netrwVersion ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE - " Rainbow Parentheses - if !exists('g:rbpt_colorpairs') - let g:rbpt_colorpairs = [['blue', '#6981c5'], ['magenta', '#a15ea7'], - \ ['red', '#d26487'], ['173', '#ca754b']] - endif - - let g:rainbow_guifgs = [ '#ca754b', '#d26487', '#a15ea7', '#6981c5' ] - let g:rainbow_ctermfgs = [ '173', 'red', 'magenta', 'blue' ] - - if !exists('g:rainbow_conf') - let g:rainbow_conf = {} - endif - if !has_key(g:rainbow_conf, 'guifgs') - let g:rainbow_conf['guifgs'] = g:rainbow_guifgs - endif - if !has_key(g:rainbow_conf, 'ctermfgs') - let g:rainbow_conf['ctermfgs'] = g:rainbow_ctermfgs - endif - - let g:niji_dark_colours = g:rbpt_colorpairs - let g:niji_light_colours = g:rbpt_colorpairs - hi ShowMarksHLl ctermfg=32 ctermbg=235 guifg=#4f97d7 guibg=#292b2e guisp=NONE cterm=NONE,bold gui=NONE,bold - hi ShowMarksHLu ctermfg=32 ctermbg=235 guifg=#4f97d7 guibg=#292b2e guisp=NONE cterm=NONE,bold gui=NONE,bold - hi ShowMarksHLo ctermfg=32 ctermbg=235 guifg=#4f97d7 guibg=#292b2e guisp=NONE cterm=NONE,bold gui=NONE,bold - hi ShowMarksHLm ctermfg=32 ctermbg=235 guifg=#4f97d7 guibg=#292b2e guisp=NONE cterm=NONE,bold gui=NONE,bold - hi SignifySignAdd ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi SignifySignChange ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi SignifySignDelete ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi SignatureMarkText ctermfg=32 ctermbg=235 guifg=#4f97d7 guibg=#292b2e guisp=NONE cterm=NONE,bold gui=NONE,bold - hi SignatureMarkerText ctermfg=170 ctermbg=235 guifg=#bc6ec5 guibg=#292b2e guisp=NONE cterm=NONE,bold gui=NONE,bold - hi StartifyBracket ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi StartifyFile ctermfg=249 ctermbg=235 guifg=#b2b2b2 guibg=#292b2e guisp=NONE cterm=NONE gui=NONE - hi StartifyNumber ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi StartifyPath ctermfg=68 ctermbg=NONE guifg=#7590db guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi StartifySlash ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi StartifySection ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi! link StartifySpecial Type - hi StartifyHeader ctermfg=133 ctermbg=NONE guifg=#a45bad guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi StartifyFooter ctermfg=133 ctermbg=NONE guifg=#a45bad guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi SyntasticError ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=#f2241f cterm=NONE,underline gui=NONE,undercurl - hi SyntasticWarning ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=#b1951d cterm=NONE,underline gui=NONE,undercurl - hi SyntasticErrorSign ctermfg=196 ctermbg=235 guifg=#f2241f guibg=#292b2e guisp=NONE cterm=NONE gui=NONE - hi SyntasticWarningSign ctermfg=136 ctermbg=235 guifg=#b1951d guibg=#292b2e guisp=NONE cterm=NONE gui=NONE - hi multiple_cursors_cursor ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE,reverse gui=NONE,reverse - hi multiple_cursors_visual ctermfg=NONE ctermbg=232 guifg=NONE guibg=#100a14 guisp=NONE cterm=NONE gui=NONE - hi CurrentWord ctermfg=NONE ctermbg=60 guifg=NONE guibg=#544a65 guisp=NONE cterm=NONE,underline gui=NONE,underline - hi CurrentWordTwins ctermfg=NONE ctermbg=60 guifg=NONE guibg=#544a65 guisp=NONE cterm=NONE gui=NONE - hi! link WhichKey Function - hi WhichKeySeperator ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi! link WhichKeyGroup Keyword - hi! link WhichKeyDesc Identifier - let g:vimshell_escape_colors = [ - \ '#34323e', '#f2241f', '#67b11d', '#b1951d', - \ '#4f97d7', '#bc6ec5', '#2d9574', '#5b5b5b', - \ '#292b2e', '#f2241f', '#67b11d', '#e18254', - \ '#4f97d7', '#bc6ec5', '#2d9574', '#cdcdcd' - \ ] - endif - if get(g:, "space_vim_filetype_hi_groups", 1) - hi diffAdded ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi diffRemoved ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi diffChanged ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi diffFile ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi diffNewFile ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi diffLine ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi htmlTag ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi htmlEndTag ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi htmlTagName ctermfg=133 ctermbg=NONE guifg=#a45bad guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi htmlArg ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi htmlScriptTag ctermfg=170 ctermbg=NONE guifg=#bc6ec5 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi htmlTagN ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi htmlSpecialTagName ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi htmlLink ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE,underline gui=NONE,underline - hi htmlSpecialChar ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi htmlBold ctermfg=fg ctermbg=235 guifg=fg guibg=#292b2e guisp=NONE cterm=NONE,bold gui=NONE,bold - hi htmlBoldUnderline ctermfg=fg ctermbg=235 guifg=fg guibg=#292b2e guisp=NONE cterm=NONE,bold,underline gui=NONE,bold,underline - hi htmlBoldItalic ctermfg=fg ctermbg=235 guifg=fg guibg=#292b2e guisp=NONE cterm=NONE,bold,italic gui=NONE,bold,italic - hi htmlBoldUnderlineItalic ctermfg=fg ctermbg=235 guifg=fg guibg=#292b2e guisp=NONE cterm=NONE,bold,italic,underline gui=NONE,bold,italic,underline - hi htmlUnderline ctermfg=fg ctermbg=235 guifg=fg guibg=#292b2e guisp=NONE cterm=NONE,underline gui=NONE,underline - hi htmlUnderlineItalic ctermfg=fg ctermbg=235 guifg=fg guibg=#292b2e guisp=NONE cterm=NONE,italic,underline gui=NONE,italic,underline - hi htmlItalic ctermfg=68 ctermbg=NONE guifg=#7590db guibg=NONE guisp=NONE cterm=NONE,italic gui=NONE,italic - hi xmlTag ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi xmlEndTag ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi xmlTagName ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi xmlEqual ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi docbkKeyword ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi xmlDocTypeDecl ctermfg=239 ctermbg=NONE guifg=#44505c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi xmlDocTypeKeyword ctermfg=170 ctermbg=NONE guifg=#bc6ec5 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi xmlCdataStart ctermfg=239 ctermbg=NONE guifg=#44505c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi xmlCdataCdata ctermfg=170 ctermbg=NONE guifg=#bc6ec5 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi dtdFunction ctermfg=239 ctermbg=NONE guifg=#44505c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi dtdTagName ctermfg=170 ctermbg=NONE guifg=#bc6ec5 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi xmlAttrib ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi xmlProcessingDelim ctermfg=239 ctermbg=NONE guifg=#44505c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi dtdParamEntityPunct ctermfg=239 ctermbg=NONE guifg=#44505c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi dtdParamEntityDPunct ctermfg=239 ctermbg=NONE guifg=#44505c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi xmlAttribPunct ctermfg=239 ctermbg=NONE guifg=#44505c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi xmlEntity ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi xmlEntityPunct ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi vimCommentTitle ctermfg=68 ctermbg=NONE guifg=#7590db guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi vimNotation ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi vimBracket ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi vimMapModKey ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi vimCommand ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi vimLet ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi vimNorm ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi! link vimFuncSID Function - hi! link vimFunction Function - hi vimGroup ctermfg=68 ctermbg=NONE guifg=#7590db guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi! link vimHiGroup Type - hi vimSetSep ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi vimSep ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi vimContinue ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi clojureKeyword ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi clojureCond ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi clojureSpecial ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi clojureDefine ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi clojureFunc ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi clojureRepeat ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi clojureCharacter ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi clojureStringEscape ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi clojureException ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi clojureRegexp ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi clojureRegexpEscape ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi clojureRegexpCharClass ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi! link clojureRegexpMod clojureRegexpCharClass - hi! link clojureRegexpQuantifier clojureRegexpCharClass - hi clojureParen ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi clojureAnonArg ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi clojureVariable ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi clojureMacro ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi clojureMeta ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi clojureDeref ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi clojureQuote ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi clojureUnquote ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cOperator ctermfg=170 ctermbg=NONE guifg=#bc6ec5 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cStructure ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi rustSelf ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi rustPanic ctermfg=168 ctermbg=NONE guifg=#ce537a guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi rustAssert ctermfg=68 ctermbg=NONE guifg=#7590db guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi! link pythonCoding Comment - hi cssBraces ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssFunctionName ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssIdentifier ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssClassName ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssColor ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssSelectorOp ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssSelectorOp2 ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssImportant ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssVendor ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssTextProp ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssAnimationProp ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssUIProp ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssTransformProp ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssTransitionProp ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssPrintProp ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssPositioningProp ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssBoxProp ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssFontDescriptorProp ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssFlexibleBoxProp ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssBorderOutlineProp ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssBackgroundProp ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssMarginProp ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssListProp ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssTableProp ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssFontProp ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssPaddingProp ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssDimensionProp ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssRenderProp ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssColorProp ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssGeneratedContentProp ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javaScriptBraces ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javaScriptFunction ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javaScriptIdentifier ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javaScriptMember ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javaScriptNumber ctermfg=170 ctermbg=NONE guifg=#bc6ec5 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javaScriptNull ctermfg=170 ctermbg=NONE guifg=#bc6ec5 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javaScriptParens ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptImport ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptExport ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptClassKeyword ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptClassExtends ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptDefault ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptClassName ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptClassSuperName ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptGlobal ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptEndColons ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptFuncArg ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptGlobalMethod ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptNodeGlobal ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptBOMWindowProp ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptArrayMethod ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptArrayStaticMethod ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptCacheMethod ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptDateMethod ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptMathStaticMethod ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptURLUtilsProp ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptBOMNavigatorProp ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptDOMDocMethod ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptDOMDocProp ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptBOMLocationMethod ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptBOMWindowMethod ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptStringMethod ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptVariable ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptIdentifier ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptClassSuper ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptFuncKeyword ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptAsyncFunc ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptClassStatic ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptOperator ctermfg=168 ctermbg=NONE guifg=#ce537a guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptForOperator ctermfg=168 ctermbg=NONE guifg=#ce537a guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptYield ctermfg=168 ctermbg=NONE guifg=#ce537a guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptExceptions ctermfg=168 ctermbg=NONE guifg=#ce537a guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptMessage ctermfg=168 ctermbg=NONE guifg=#ce537a guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptTemplateSB ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptTemplateSubstitution ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptLabel ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptObjectLabel ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptPropertyName ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptLogicSymbols ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptArrowFunc ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptDocParamName ctermfg=240 ctermbg=NONE guifg=#5b5b5b guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptDocTags ctermfg=240 ctermbg=NONE guifg=#5b5b5b guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptDocNotation ctermfg=240 ctermbg=NONE guifg=#5b5b5b guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptDocParamType ctermfg=240 ctermbg=NONE guifg=#5b5b5b guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptDocNamedParamType ctermfg=240 ctermbg=NONE guifg=#5b5b5b guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptBrackets ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptDOMElemAttrs ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptDOMEventMethod ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptDOMNodeMethod ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptDOMStorageMethod ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptHeadersMethod ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptAsyncFuncKeyword ctermfg=168 ctermbg=NONE guifg=#ce537a guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi javascriptAwaitFuncKeyword ctermfg=168 ctermbg=NONE guifg=#ce537a guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi! link jsClassKeyword Keyword - hi! link jsExtendsKeyword Keyword - hi jsExportDefault ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi jsTemplateBraces ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi! link jsGlobalNodeObjects Keyword - hi! link jsGlobalObjects Keyword - hi! link jsFunction Function - hi jsFuncParens ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi jsParens ctermfg=168 ctermbg=NONE guifg=#ce537a guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi jsNull ctermfg=170 ctermbg=NONE guifg=#bc6ec5 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi! link jsUndefined ErrorMsg - hi jsClassDefinition ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi! link jsObjectProp Identifier - hi jsObjectKey ctermfg=74 ctermbg=NONE guifg=#58b0d9 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi jsFunctionKey ctermfg=68 ctermbg=NONE guifg=#7590db guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi jsBracket ctermfg=168 ctermbg=NONE guifg=#ce537a guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi jsObjectColon ctermfg=168 ctermbg=NONE guifg=#ce537a guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi jsFuncArgs ctermfg=74 ctermbg=NONE guifg=#58b0d9 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi jsFuncBraces ctermfg=68 ctermbg=NONE guifg=#7590db guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi jsVariableDef ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi! link jsObjectBraces Special - hi jsObjectValue ctermfg=147 ctermbg=NONE guifg=#b7b7ff guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi jsClassBlock ctermfg=68 ctermbg=NONE guifg=#7590db guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi jsFutureKeys ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi jsFuncArgs ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi jsStorageClass ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi jsxRegion ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi typeScriptReserved ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi! link typeScriptLabel Label - hi! link typeScriptFuncKeyword Function - hi! link typeScriptIdentifier Identifier - hi typeScriptBraces ctermfg=168 ctermbg=NONE guifg=#ce537a guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi typeScriptEndColons ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi typeScriptDOMObjects ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi! link typeScriptAjaxMethods Function - hi typeScriptLogicSymbols ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi! link typeScriptDocSeeTag Comment - hi! link typeScriptDocParam Comment - hi! link typeScriptDocTags vimCommentTitle - hi! link typeScriptGlobalObjects Keyword - hi typeScriptParens ctermfg=68 ctermbg=NONE guifg=#7590db guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi! link typeScriptOpSymbols Operator - hi! link typeScriptHtmlElemProperties Special - hi typeScriptNull ctermfg=170 ctermbg=NONE guifg=#bc6ec5 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi typeScriptInterpolationDelimiter ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi purescriptModuleKeyword ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi purescriptModuleName ctermfg=168 ctermbg=NONE guifg=#ce537a guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi purescriptWhere ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi purescriptDelimiter ctermfg=240 ctermbg=NONE guifg=#5b5b5b guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi! link purescriptType Type - hi! link purescriptImportKeyword Keyword - hi! link purescriptHidingKeyword Keyword - hi! link purescriptAsKeyword Keyword - hi! link purescriptStructure Structure - hi! link purescriptOperator Operator - hi! link purescriptTypeVar Type - hi! link purescriptConstructor Function - hi! link purescriptFunction Function - hi! link purescriptConditional Conditional - hi purescriptBacktick ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi coffeeExtendedOp ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi coffeeSpecialOp ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi coffeeCurly ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi coffeeParen ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi coffeeBracket ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi rubyStringDelimiter ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi rubyInterpolationDelimiter ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi objcTypeModifier ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi objcDirective ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi goDirective ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi goConstants ctermfg=170 ctermbg=NONE guifg=#bc6ec5 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi! link goDeclaration Keyword - hi goDeclType ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi goBuiltins ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi luaIn ctermfg=168 ctermbg=NONE guifg=#ce537a guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi luaFunction ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi luaTable ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi moonSpecialOp ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi moonExtendedOp ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi moonFunction ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi moonObject ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javaAnnotation ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javaDocTags ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi! link javaCommentTitle vimCommentTitle - hi javaParen ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javaParen1 ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javaParen2 ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javaParen3 ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javaParen4 ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javaParen5 ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javaOperator ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javaVarArg ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi! link elixirDocString Comment - hi elixirStringDelimiter ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi elixirInterpolationDelimiter ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi elixirModuleDeclaration ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi scalaNameDefinition ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi scalaCaseFollowing ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi scalaCapitalWord ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi scalaTypeExtension ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi scalaKeyword ctermfg=168 ctermbg=NONE guifg=#ce537a guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi scalaKeywordModifier ctermfg=168 ctermbg=NONE guifg=#ce537a guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi scalaSpecial ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi scalaOperator ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi scalaTypeDeclaration ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi scalaTypeTypePostDeclaration ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi scalaInstanceDeclaration ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi scalaInterpolation ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi markdownItalic ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE,italic gui=NONE,italic - hi markdownH1 ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi markdownH2 ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi markdownH3 ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi markdownH4 ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi markdownH5 ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi markdownH6 ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi! link htmlH1 markdownH1 - hi! link htmlH2 markdownH2 - hi! link htmlH3 markdownH3 - hi! link htmlH4 markdownH4 - hi! link htmlH5 markdownH5 - hi! link htmlH6 markdownH6 - hi markdownCode ctermfg=133 ctermbg=NONE guifg=#a45bad guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi! link mkdCode markdownCode - hi markdownCodeBlock ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi markdownCodeDelimiter ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi! link mkdCodeDelimiter markdownCodeDelimiter - hi markdownBlockquote ctermfg=239 ctermbg=NONE guifg=#44505c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi markdownListMarker ctermfg=239 ctermbg=NONE guifg=#44505c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi markdownOrderedListMarker ctermfg=239 ctermbg=NONE guifg=#44505c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi markdownRule ctermfg=239 ctermbg=NONE guifg=#44505c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi markdownHeadingRule ctermfg=239 ctermbg=NONE guifg=#44505c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi markdownUrlDelimiter ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi markdownLinkDelimiter ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi markdownLinkTextDelimiter ctermfg=243 ctermbg=NONE guifg=#727272 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi markdownHeadingDelimiter ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi markdownUrl ctermfg=170 ctermbg=NONE guifg=#bc6ec5 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi markdownUrlTitleDelimiter ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi! link markdownLinkText htmlLink - hi! link markdownIdDeclaration markdownLinkText - hi haskellType ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi haskellIdentifier ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi haskellSeparator ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi haskellDelimiter ctermfg=240 ctermbg=NONE guifg=#5b5b5b guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi haskellOperators ctermfg=32 ctermbg=NONE guifg=#4f97d7 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi haskellBacktick ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi haskellStatement ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi haskellConditional ctermfg=173 ctermbg=NONE guifg=#e18254 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi haskellLet ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi haskellDefault ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi haskellWhere ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi haskellBottom ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi haskellBlockKeywords ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi haskellImportKeywords ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi haskellDeclKeyword ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi haskellDeriving ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi haskellAssocType ctermfg=29 ctermbg=NONE guifg=#2d9574 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi haskellNumber ctermfg=170 ctermbg=NONE guifg=#bc6ec5 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi haskellPragma ctermfg=170 ctermbg=NONE guifg=#bc6ec5 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi haskellString ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi haskellChar ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi jsonKeyword ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi jsonQuote ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi jsonBraces ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi jsonString ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE guisp=NONE cterm=NONE gui=NONE - endif - finish -endif - -let g:terminal_ansi_colors = [ - \ '#fbf8ef', '#d26487', '#35a8a5', '#b89f33', '#6981c5', '#a15ea7', '#288668', '#504259', - \ '#a8a4ae', '#f2241f', '#67b11d', '#b1951d', '#3a81c3', '#6c3163', '#24775c', '#655370'] -if !has('gui_running') && get(g:, 'space_vim_transp_bg', 0) - hi Normal ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi CursorLineNr ctermfg=89 ctermbg=NONE guifg=#6c3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi FoldColumn ctermfg=89 ctermbg=NONE guifg=#6c3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi SignColumn ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi VertSplit ctermfg=255 ctermbg=NONE guifg=#efeae9 guibg=NONE guisp=NONE cterm=NONE gui=NONE -else - hi Normal ctermfg=60 ctermbg=231 guifg=#655370 guibg=#fbf8ef guisp=NONE cterm=NONE gui=NONE - hi CursorLineNr ctermfg=89 ctermbg=255 guifg=#6c3163 guibg=#efeae9 guisp=NONE cterm=NONE gui=NONE - hi FoldColumn ctermfg=89 ctermbg=255 guifg=#6c3163 guibg=#efeae9 guisp=NONE cterm=NONE gui=NONE - hi SignColumn ctermfg=60 ctermbg=231 guifg=#655370 guibg=#fbf8ef guisp=NONE cterm=NONE gui=NONE - hi VertSplit ctermfg=255 ctermbg=231 guifg=#efeae9 guibg=#fbf8ef guisp=NONE cterm=NONE gui=NONE -endif -hi ColorColumn ctermfg=NONE ctermbg=255 guifg=NONE guibg=#efeae9 guisp=NONE cterm=NONE gui=NONE -hi Conceal ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE -hi Cursor ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE,bold,reverse gui=NONE,bold,reverse -hi! link CursorColumn CursorLine -hi CursorLine ctermfg=NONE ctermbg=255 guifg=NONE guibg=#efeae9 guisp=NONE cterm=NONE gui=NONE -hi DiffAdd ctermfg=70 ctermbg=231 guifg=#67b11d guibg=#fbf8ef guisp=NONE cterm=NONE,reverse gui=NONE,reverse -hi DiffChange ctermfg=166 ctermbg=231 guifg=#b46843 guibg=#fbf8ef guisp=NONE cterm=NONE,reverse gui=NONE,reverse -hi DiffDelete ctermfg=196 ctermbg=231 guifg=#f2241f guibg=#fbf8ef guisp=NONE cterm=NONE,reverse gui=NONE,reverse -hi DiffText ctermfg=136 ctermbg=231 guifg=#b1951d guibg=#fbf8ef guisp=NONE cterm=NONE,reverse gui=NONE,reverse -hi Directory ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold -hi EndOfBuffer ctermfg=231 ctermbg=NONE guifg=#fbf8ef guibg=NONE guisp=NONE cterm=NONE gui=NONE -hi Error ctermfg=196 ctermbg=231 guifg=#f2241f guibg=#fbf8ef guisp=NONE cterm=NONE,bold,reverse gui=NONE,bold,reverse -hi ErrorMsg ctermfg=231 ctermbg=196 guifg=#fbf8ef guibg=#f2241f guisp=NONE cterm=NONE gui=NONE -hi Folded ctermfg=53 ctermbg=255 guifg=#4e3163 guibg=#efeae9 guisp=NONE cterm=NONE gui=NONE,italic -hi IncSearch ctermfg=166 ctermbg=231 guifg=#b46843 guibg=#fbf8ef guisp=NONE cterm=NONE,bold,reverse gui=NONE,bold,reverse -hi LineNr ctermfg=146 ctermbg=NONE guifg=#a8a8bf guibg=NONE guisp=NONE cterm=NONE gui=NONE -hi MatchParen ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE,bold,underline gui=NONE,bold,underline -hi ModeMsg ctermfg=184 ctermbg=NONE guifg=#e5d11c guibg=NONE guisp=NONE cterm=NONE gui=NONE -hi! link MoreMsg ModeMsg -hi NonText ctermfg=146 ctermbg=NONE guifg=#a8a8bf guibg=NONE guisp=NONE cterm=NONE gui=NONE -hi Pmenu ctermfg=103 ctermbg=254 guifg=#8c799f guibg=#e2e0ea guisp=NONE cterm=NONE gui=NONE -hi PmenuSbar ctermfg=NONE ctermbg=255 guifg=NONE guibg=#efeae9 guisp=NONE cterm=NONE gui=NONE -hi PmenuSel ctermfg=NONE ctermbg=189 guifg=NONE guibg=#c8c6dd guisp=NONE cterm=NONE gui=NONE -hi PmenuThumb ctermfg=NONE ctermbg=189 guifg=NONE guibg=#d3d3e7 guisp=NONE cterm=NONE gui=NONE -hi Question ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold -hi! link QuickFixLine Search -hi! link qfLineNr Type -hi Search ctermfg=70 ctermbg=231 guifg=#67b11d guibg=#fbf8ef guisp=NONE cterm=NONE,bold,reverse gui=NONE,bold,reverse -hi SpecialKey ctermfg=89 ctermbg=NONE guifg=#6c3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE -hi SpellBad ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=#f2241f cterm=NONE,underline gui=NONE,italic,undercurl -hi SpellCap ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=#3a81c3 cterm=NONE,underline gui=NONE,italic,undercurl -hi SpellLocal ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=#24775c cterm=NONE,underline gui=NONE,italic,undercurl -hi SpellRare ctermfg=89 ctermbg=NONE guifg=#6c3163 guibg=NONE guisp=#6c3163 cterm=NONE,underline gui=NONE,italic,undercurl -hi StatusLine ctermfg=60 ctermbg=189 guifg=#655370 guibg=#d3d3e7 guisp=NONE cterm=NONE gui=NONE -hi StatusLineNC ctermfg=189 ctermbg=248 guifg=#d3d3e7 guibg=#a8a4ae guisp=NONE cterm=NONE gui=NONE -hi! link StatusLineTerm StatusLine -hi! link StatusLineTermNC StatusLineNC -hi TabLineFill ctermfg=60 ctermbg=255 guifg=#544a65 guibg=#efeae9 guisp=NONE cterm=NONE gui=NONE -hi TabLineSel ctermfg=70 ctermbg=255 guifg=#67b11d guibg=#efeae9 guisp=NONE cterm=NONE gui=NONE -hi! link TabLine TabLineFill -hi Title ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold -hi Visual ctermfg=NONE ctermbg=60 guifg=NONE guibg=#544a65 guisp=NONE cterm=NONE gui=NONE -hi! link VisualNOS Visual -hi WarningMsg ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE -hi WildMenu ctermfg=166 ctermbg=255 guifg=#b46843 guibg=#efeae9 guisp=NONE cterm=NONE,bold gui=NONE,bold -hi Boolean ctermfg=166 ctermbg=NONE guifg=#dc752f guibg=NONE guisp=NONE cterm=NONE gui=NONE -hi Character ctermfg=89 ctermbg=NONE guifg=#6c3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE -hi Comment ctermfg=37 ctermbg=NONE guifg=#2aa1ae guibg=NONE guisp=NONE cterm=NONE,none gui=NONE,italic,none -hi Conditional ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold -hi Constant ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE -hi Define ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE -hi Debug ctermfg=196 ctermbg=NONE guifg=#f54e3c guibg=NONE guisp=NONE cterm=NONE gui=NONE -hi Delimiter ctermfg=73 ctermbg=NONE guifg=#74baac guibg=NONE guisp=NONE cterm=NONE gui=NONE -hi Error ctermfg=196 ctermbg=231 guifg=#f2241f guibg=#fbf8ef guisp=NONE cterm=NONE,bold,reverse gui=NONE,bold,reverse -hi Exception ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE -hi Float ctermfg=147 ctermbg=NONE guifg=#b7b7ff guibg=NONE guisp=NONE cterm=NONE gui=NONE -hi Function ctermfg=89 ctermbg=NONE guifg=#6c3163 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold -hi Identifier ctermfg=61 ctermbg=NONE guifg=#715ab1 guibg=NONE guisp=NONE cterm=NONE gui=NONE -hi Ignore ctermfg=fg ctermbg=NONE guifg=fg guibg=NONE guisp=NONE cterm=NONE gui=NONE -hi Include ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE -hi Keyword ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold -hi Label ctermfg=161 ctermbg=NONE guifg=#ba2f59 guibg=NONE guisp=NONE cterm=NONE gui=NONE -hi Macro ctermfg=61 ctermbg=NONE guifg=#715ab1 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold -hi Number ctermfg=176 ctermbg=NONE guifg=#e697e6 guibg=NONE guisp=NONE cterm=NONE gui=NONE -hi Operator ctermfg=74 ctermbg=NONE guifg=#58b0d9 guibg=NONE guisp=NONE cterm=NONE gui=NONE -hi PreCondit ctermfg=53 ctermbg=NONE guifg=#4e3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE -hi PreProc ctermfg=97 ctermbg=NONE guifg=#86589e guibg=NONE guisp=NONE cterm=NONE gui=NONE -hi Repeat ctermfg=161 ctermbg=NONE guifg=#ba2f59 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold -hi SpecialChar ctermfg=37 ctermbg=NONE guifg=#21b8c7 guibg=NONE guisp=NONE cterm=NONE gui=NONE -hi SpecialComment ctermfg=67 ctermbg=NONE guifg=#768294 guibg=NONE guisp=NONE cterm=NONE gui=NONE -hi Statement ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE -hi StorageClass ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold -hi Special ctermfg=172 ctermbg=NONE guifg=#d79650 guibg=NONE guisp=NONE cterm=NONE gui=NONE -hi String ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE -hi Structure ctermfg=31 ctermbg=NONE guifg=#4495b4 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold -hi Tag ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE -hi Todo ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold,italic -hi Type ctermfg=161 ctermbg=NONE guifg=#ba2f59 guibg=NONE guisp=NONE cterm=NONE gui=NONE -hi Typedef ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE -hi Underlined ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE,underline gui=NONE,underline -hi! link lCursor Cursor -hi CursorIM ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE,reverse gui=NONE,reverse -hi ToolbarLine ctermfg=NONE ctermbg=252 guifg=NONE guibg=#d2ceda guisp=NONE cterm=NONE gui=NONE -hi ToolbarButton ctermfg=103 ctermbg=252 guifg=#83758c guibg=#d2ceda guisp=NONE cterm=NONE,bold gui=NONE,bold -if get(g:, "space_vim_italic", 0) - hi Comment cterm=italic - hi Folded cterm=italic - hi SpellBad cterm=italic,underline - hi SpellCap cterm=italic,underline - hi SpellLocal cterm=italic,underline - hi SpellRare cterm=italic,underline - hi Todo cterm=italic -endif -if get(g:, "space_vim_italicize_strings", 0) - hi Special cterm=italic gui=italic - hi String cterm=italic gui=italic -endif -hi! link iCursor Cursor -hi! link vCursor Cursor -hi NormalMode ctermfg=237 ctermbg=231 guifg=#463a4e guibg=#fbf8ef guisp=NONE cterm=NONE,reverse gui=NONE,reverse -hi InsertMode ctermfg=32 ctermbg=231 guifg=#3a81c3 guibg=#fbf8ef guisp=NONE cterm=NONE,reverse gui=NONE,reverse -hi ReplaceMode ctermfg=29 ctermbg=231 guifg=#24775c guibg=#fbf8ef guisp=NONE cterm=NONE,reverse gui=NONE,reverse -hi VisualMode ctermfg=166 ctermbg=231 guifg=#b46843 guibg=#fbf8ef guisp=NONE cterm=NONE,reverse gui=NONE,reverse -hi CommandMode ctermfg=89 ctermbg=231 guifg=#6c3163 guibg=#fbf8ef guisp=NONE cterm=NONE,reverse gui=NONE,reverse -hi Warnings ctermfg=166 ctermbg=231 guifg=#b46843 guibg=#fbf8ef guisp=NONE cterm=NONE,reverse gui=NONE,reverse -if has('nvim') - let g:terminal_color_0 = '#fbf8ef' - let g:terminal_color_8 = '#a8a8bf' - let g:terminal_color_1 = '#d26487' - let g:terminal_color_9 = '#f2241f' - let g:terminal_color_2 = '#35a8a5' - let g:terminal_color_10 = '#67b11d' - let g:terminal_color_3 = '#b89f33' - let g:terminal_color_11 = '#b1951d' - let g:terminal_color_4 = '#6981c5' - let g:terminal_color_12 = '#3a81c3' - let g:terminal_color_5 = '#a15ea7' - let g:terminal_color_13 = '#6c3163' - let g:terminal_color_6 = '#288668' - let g:terminal_color_14 = '#24775c' - let g:terminal_color_7 = '#463a4e' - let g:terminal_color_15 = '#655370' - hi! link TermCursor Cursor - hi TermCursorNC ctermfg=255 ctermbg=60 guifg=#efeae9 guibg=#655370 guisp=NONE cterm=NONE gui=NONE -endif -if !(get(g:, "space_vim_plugin_hi_groups", 1) || get(g:, "space_vim_filetype_hi_groups", 1)) - finish -endif -if get(g:, "space_vim_plugin_hi_groups", 1) - hi ALEError ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=#f2241f cterm=NONE,underline gui=NONE,undercurl - hi ALEWarning ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=#f2241f cterm=NONE,underline gui=NONE,undercurl - hi ALEInfo ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=#3a81c3 cterm=NONE,underline gui=NONE,undercurl - hi ALEErrorSign ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi ALEWarningSign ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi ALEInfoSign ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi BufTabLineCurrent ctermfg=231 ctermbg=237 guifg=#fbf8ef guibg=#463a4e guisp=NONE cterm=NONE gui=NONE - hi BufTabLineActive ctermfg=237 ctermbg=254 guifg=#463a4e guibg=#e3dedd guisp=NONE cterm=NONE gui=NONE - hi BufTabLineHidden ctermfg=248 ctermbg=255 guifg=#a8a4ae guibg=#efeae9 guisp=NONE cterm=NONE gui=NONE - hi BufTabLineFill ctermfg=231 ctermbg=231 guifg=#fbf8ef guibg=#fbf8ef guisp=NONE cterm=NONE gui=NONE - hi CtrlPMatch ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi CtrlPNoEntries ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi CtrlPPrtBase ctermfg=254 ctermbg=NONE guifg=#e3dedd guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi CtrlPPrtCursor ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi CtrlPLinePre ctermfg=254 ctermbg=NONE guifg=#e3dedd guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi CtrlPMode1 ctermfg=32 ctermbg=254 guifg=#3a81c3 guibg=#e3dedd guisp=NONE cterm=NONE,bold gui=NONE,bold - hi CtrlPMode2 ctermfg=231 ctermbg=32 guifg=#fbf8ef guibg=#3a81c3 guisp=NONE cterm=NONE,bold gui=NONE,bold - hi CtrlPStats ctermfg=237 ctermbg=254 guifg=#463a4e guibg=#e3dedd guisp=NONE cterm=NONE,bold gui=NONE,bold - hi DirvishPathTail ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi DirvishArg ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi! link EasyMotionTarget Search - hi! link EasyMotionShade Comment - hi gitcommitSelectedFile ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi gitcommitDiscardedFile ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi GitGutterAdd ctermfg=70 ctermbg=231 guifg=#67b11d guibg=#fbf8ef guisp=NONE cterm=NONE,bold gui=NONE,bold - hi GitGutterChange ctermfg=166 ctermbg=231 guifg=#b46843 guibg=#fbf8ef guisp=NONE cterm=NONE,bold gui=NONE,bold - hi GitGutterDelete ctermfg=196 ctermbg=231 guifg=#f2241f guibg=#fbf8ef guisp=NONE cterm=NONE,bold gui=NONE,bold - hi GitGutterChangeDelete ctermfg=161 ctermbg=231 guifg=#ba2f59 guibg=#fbf8ef guisp=NONE cterm=NONE,bold gui=NONE,bold - if get(g:, "indent_guides_auto_colors", 0) - if get(g: "space_vim_invert_indent_guides", 0) - hi IndentGuidesOdd ctermfg=231 ctermbg=254 guifg=#fbf8ef guibg=#e3dedd guisp=NONE cterm=NONE,reverse gui=NONE,reverse - hi IndentGuidesEven ctermfg=231 ctermbg=255 guifg=#fbf8ef guibg=#efeae9 guisp=NONE cterm=NONE,reverse gui=NONE,reverse - else - hi IndentGuidesOdd ctermfg=231 ctermbg=254 guifg=#fbf8ef guibg=#e3dedd guisp=NONE cterm=NONE gui=NONE - hi IndentGuidesEven ctermfg=231 ctermbg=255 guifg=#fbf8ef guibg=#efeae9 guisp=NONE cterm=NONE gui=NONE - endif - endif - " IndentLine - if !exists('g:indentLine_color_term') - let g:indentLine_color_term = 254 - endif - if !exists('g:indentLine_color_gui') - let g:indentLine_color_gui = '#e3dedd' - endif - hi NERDTreeDir ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi NERDTreeDirSlash ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi NERDTreeOpenable ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi NERDTreeClosable ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi NERDTreeFile ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi NERDTreeExecFile ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi NERDTreeUp ctermfg=161 ctermbg=NONE guifg=#ba2f59 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi NERDTreeCWD ctermfg=89 ctermbg=NONE guifg=#6c3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi NERDTreeHelp ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi NERDTreeToggleOn ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi NERDTreeToggleOff ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi netrwDir ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi netrwClassify ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi netrwLink ctermfg=146 ctermbg=NONE guifg=#a8a8bf guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi netrwSymLink ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi netrwExe ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi netrwComment ctermfg=146 ctermbg=NONE guifg=#a8a8bf guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi netrwList ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi netrwHelpCmd ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi netrwCmdSep ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi netrwVersion ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE - " Rainbow Parentheses - if !exists('g:rbpt_colorpairs') - let g:rbpt_colorpairs = [['blue', '#6981c5'], ['magenta', '#a15ea7'], - \ ['red', '#d26487'], ['173', '#ca754b']] - endif - - let g:rainbow_guifgs = [ '#ca754b', '#d26487', '#a15ea7', '#6981c5' ] - let g:rainbow_ctermfgs = [ '173', 'red', 'magenta', 'blue' ] - - if !exists('g:rainbow_conf') - let g:rainbow_conf = {} - endif - if !has_key(g:rainbow_conf, 'guifgs') - let g:rainbow_conf['guifgs'] = g:rainbow_guifgs - endif - if !has_key(g:rainbow_conf, 'ctermfgs') - let g:rainbow_conf['ctermfgs'] = g:rainbow_ctermfgs - endif - - let g:niji_dark_colours = g:rbpt_colorpairs - let g:niji_light_colours = g:rbpt_colorpairs - hi ShowMarksHLl ctermfg=32 ctermbg=231 guifg=#3a81c3 guibg=#fbf8ef guisp=NONE cterm=NONE,bold gui=NONE,bold - hi ShowMarksHLu ctermfg=32 ctermbg=231 guifg=#3a81c3 guibg=#fbf8ef guisp=NONE cterm=NONE,bold gui=NONE,bold - hi ShowMarksHLo ctermfg=32 ctermbg=231 guifg=#3a81c3 guibg=#fbf8ef guisp=NONE cterm=NONE,bold gui=NONE,bold - hi ShowMarksHLm ctermfg=32 ctermbg=231 guifg=#3a81c3 guibg=#fbf8ef guisp=NONE cterm=NONE,bold gui=NONE,bold - hi SignifySignAdd ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi SignifySignChange ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi SignifySignDelete ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi SignatureMarkText ctermfg=32 ctermbg=231 guifg=#3a81c3 guibg=#fbf8ef guisp=NONE cterm=NONE,bold gui=NONE,bold - hi SignatureMarkerText ctermfg=89 ctermbg=231 guifg=#6c3163 guibg=#fbf8ef guisp=NONE cterm=NONE,bold gui=NONE,bold - hi StartifyBracket ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi StartifyFile ctermfg=60 ctermbg=231 guifg=#655370 guibg=#fbf8ef guisp=NONE cterm=NONE gui=NONE - hi StartifyNumber ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi StartifyPath ctermfg=61 ctermbg=NONE guifg=#715ab1 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi StartifySlash ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi StartifySection ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi! link StartifySpecial Type - hi StartifyHeader ctermfg=53 ctermbg=NONE guifg=#4e3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi StartifyFooter ctermfg=53 ctermbg=NONE guifg=#4e3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi SyntasticError ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=#f2241f cterm=NONE,underline gui=NONE,undercurl - hi SyntasticWarning ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=#b1951d cterm=NONE,underline gui=NONE,undercurl - hi SyntasticErrorSign ctermfg=196 ctermbg=231 guifg=#f2241f guibg=#fbf8ef guisp=NONE cterm=NONE gui=NONE - hi SyntasticWarningSign ctermfg=136 ctermbg=231 guifg=#b1951d guibg=#fbf8ef guisp=NONE cterm=NONE gui=NONE - hi multiple_cursors_cursor ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE guisp=NONE cterm=NONE,reverse gui=NONE,reverse - hi multiple_cursors_visual ctermfg=NONE ctermbg=254 guifg=NONE guibg=#e3dedd guisp=NONE cterm=NONE gui=NONE - hi CurrentWord ctermfg=NONE ctermbg=60 guifg=NONE guibg=#544a65 guisp=NONE cterm=NONE,underline gui=NONE,underline - hi CurrentWordTwins ctermfg=NONE ctermbg=60 guifg=NONE guibg=#544a65 guisp=NONE cterm=NONE gui=NONE - hi! link WhichKey Function - hi WhichKeySeperator ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi! link WhichKeyGroup Keyword - hi! link WhichKeyDesc Identifier - let g:vimshell_escape_colors = [ - \ '#a8a4ae', '#f2241f', '#67b11d', '#b1951d', - \ '#3a81c3', '#6c3163', '#24775c', '#463a4e', - \ '#fbf8ef', '#f2241f', '#67b11d', '#b46843', - \ '#3a81c3', '#6c3163', '#24775c', '#83758c' - \ ] -endif -if get(g:, "space_vim_filetype_hi_groups", 1) - hi diffAdded ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi diffRemoved ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi diffChanged ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi diffFile ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi diffNewFile ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi diffLine ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi htmlTag ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi htmlEndTag ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi htmlTagName ctermfg=53 ctermbg=NONE guifg=#4e3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi htmlArg ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi htmlScriptTag ctermfg=89 ctermbg=NONE guifg=#6c3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi htmlTagN ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi htmlSpecialTagName ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi htmlLink ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE,underline gui=NONE,underline - hi htmlSpecialChar ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi htmlBold ctermfg=fg ctermbg=231 guifg=fg guibg=#fbf8ef guisp=NONE cterm=NONE,bold gui=NONE,bold - hi htmlBoldUnderline ctermfg=fg ctermbg=231 guifg=fg guibg=#fbf8ef guisp=NONE cterm=NONE,bold,underline gui=NONE,bold,underline - hi htmlBoldItalic ctermfg=fg ctermbg=231 guifg=fg guibg=#fbf8ef guisp=NONE cterm=NONE,bold,italic gui=NONE,bold,italic - hi htmlBoldUnderlineItalic ctermfg=fg ctermbg=231 guifg=fg guibg=#fbf8ef guisp=NONE cterm=NONE,bold,italic,underline gui=NONE,bold,italic,underline - hi htmlUnderline ctermfg=fg ctermbg=231 guifg=fg guibg=#fbf8ef guisp=NONE cterm=NONE,underline gui=NONE,underline - hi htmlUnderlineItalic ctermfg=fg ctermbg=231 guifg=fg guibg=#fbf8ef guisp=NONE cterm=NONE,italic,underline gui=NONE,italic,underline - hi htmlItalic ctermfg=61 ctermbg=NONE guifg=#715ab1 guibg=NONE guisp=NONE cterm=NONE,italic gui=NONE,italic - hi xmlTag ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi xmlEndTag ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi xmlTagName ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi xmlEqual ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi docbkKeyword ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi xmlDocTypeDecl ctermfg=146 ctermbg=NONE guifg=#a8a8bf guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi xmlDocTypeKeyword ctermfg=89 ctermbg=NONE guifg=#6c3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi xmlCdataStart ctermfg=146 ctermbg=NONE guifg=#a8a8bf guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi xmlCdataCdata ctermfg=89 ctermbg=NONE guifg=#6c3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi dtdFunction ctermfg=146 ctermbg=NONE guifg=#a8a8bf guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi dtdTagName ctermfg=89 ctermbg=NONE guifg=#6c3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi xmlAttrib ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi xmlProcessingDelim ctermfg=146 ctermbg=NONE guifg=#a8a8bf guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi dtdParamEntityPunct ctermfg=146 ctermbg=NONE guifg=#a8a8bf guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi dtdParamEntityDPunct ctermfg=146 ctermbg=NONE guifg=#a8a8bf guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi xmlAttribPunct ctermfg=146 ctermbg=NONE guifg=#a8a8bf guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi xmlEntity ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi xmlEntityPunct ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi vimCommentTitle ctermfg=61 ctermbg=NONE guifg=#715ab1 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi vimNotation ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi vimBracket ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi vimMapModKey ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi vimCommand ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi vimLet ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi vimNorm ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi! link vimFuncSID Function - hi! link vimFunction Function - hi vimGroup ctermfg=61 ctermbg=NONE guifg=#715ab1 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi! link vimHiGroup Type - hi vimSetSep ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi vimSep ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi vimContinue ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi clojureKeyword ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi clojureCond ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi clojureSpecial ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi clojureDefine ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi clojureFunc ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi clojureRepeat ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi clojureCharacter ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi clojureStringEscape ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi clojureException ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi clojureRegexp ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi clojureRegexpEscape ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi clojureRegexpCharClass ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi! link clojureRegexpMod clojureRegexpCharClass - hi! link clojureRegexpQuantifier clojureRegexpCharClass - hi clojureParen ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi clojureAnonArg ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi clojureVariable ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi clojureMacro ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi clojureMeta ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi clojureDeref ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi clojureQuote ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi clojureUnquote ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cOperator ctermfg=89 ctermbg=NONE guifg=#6c3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cStructure ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi rustSelf ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi rustPanic ctermfg=161 ctermbg=NONE guifg=#ba2f59 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi rustAssert ctermfg=61 ctermbg=NONE guifg=#715ab1 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi! link pythonCoding Comment - hi cssBraces ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssFunctionName ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssIdentifier ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssClassName ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssColor ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssSelectorOp ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssSelectorOp2 ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssImportant ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssVendor ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssTextProp ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssAnimationProp ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssUIProp ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssTransformProp ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssTransitionProp ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssPrintProp ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssPositioningProp ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssBoxProp ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssFontDescriptorProp ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssFlexibleBoxProp ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssBorderOutlineProp ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssBackgroundProp ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssMarginProp ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssListProp ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssTableProp ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssFontProp ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssPaddingProp ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssDimensionProp ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssRenderProp ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssColorProp ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi cssGeneratedContentProp ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javaScriptBraces ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javaScriptFunction ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javaScriptIdentifier ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javaScriptMember ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javaScriptNumber ctermfg=89 ctermbg=NONE guifg=#6c3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javaScriptNull ctermfg=89 ctermbg=NONE guifg=#6c3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javaScriptParens ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptImport ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptExport ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptClassKeyword ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptClassExtends ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptDefault ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptClassName ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptClassSuperName ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptGlobal ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptEndColons ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptFuncArg ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptGlobalMethod ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptNodeGlobal ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptBOMWindowProp ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptArrayMethod ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptArrayStaticMethod ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptCacheMethod ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptDateMethod ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptMathStaticMethod ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptURLUtilsProp ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptBOMNavigatorProp ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptDOMDocMethod ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptDOMDocProp ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptBOMLocationMethod ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptBOMWindowMethod ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptStringMethod ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptVariable ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptIdentifier ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptClassSuper ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptFuncKeyword ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptAsyncFunc ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptClassStatic ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptOperator ctermfg=161 ctermbg=NONE guifg=#ba2f59 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptForOperator ctermfg=161 ctermbg=NONE guifg=#ba2f59 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptYield ctermfg=161 ctermbg=NONE guifg=#ba2f59 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptExceptions ctermfg=161 ctermbg=NONE guifg=#ba2f59 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptMessage ctermfg=161 ctermbg=NONE guifg=#ba2f59 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptTemplateSB ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptTemplateSubstitution ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptLabel ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptObjectLabel ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptPropertyName ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptLogicSymbols ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptArrowFunc ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptDocParamName ctermfg=237 ctermbg=NONE guifg=#463a4e guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptDocTags ctermfg=237 ctermbg=NONE guifg=#463a4e guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptDocNotation ctermfg=237 ctermbg=NONE guifg=#463a4e guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptDocParamType ctermfg=237 ctermbg=NONE guifg=#463a4e guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptDocNamedParamType ctermfg=237 ctermbg=NONE guifg=#463a4e guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptBrackets ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptDOMElemAttrs ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptDOMEventMethod ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptDOMNodeMethod ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptDOMStorageMethod ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptHeadersMethod ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javascriptAsyncFuncKeyword ctermfg=161 ctermbg=NONE guifg=#ba2f59 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi javascriptAwaitFuncKeyword ctermfg=161 ctermbg=NONE guifg=#ba2f59 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi! link jsClassKeyword Keyword - hi! link jsExtendsKeyword Keyword - hi jsExportDefault ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi jsTemplateBraces ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi! link jsGlobalNodeObjects Keyword - hi! link jsGlobalObjects Keyword - hi! link jsFunction Function - hi jsFuncParens ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi jsParens ctermfg=161 ctermbg=NONE guifg=#ba2f59 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi jsNull ctermfg=89 ctermbg=NONE guifg=#6c3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi! link jsUndefined ErrorMsg - hi jsClassDefinition ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi! link jsObjectProp Identifier - hi jsObjectKey ctermfg=74 ctermbg=NONE guifg=#58b0d9 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi jsFunctionKey ctermfg=61 ctermbg=NONE guifg=#715ab1 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi jsBracket ctermfg=161 ctermbg=NONE guifg=#ba2f59 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi jsObjectColon ctermfg=161 ctermbg=NONE guifg=#ba2f59 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi jsFuncArgs ctermfg=74 ctermbg=NONE guifg=#58b0d9 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi jsFuncBraces ctermfg=61 ctermbg=NONE guifg=#715ab1 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi jsVariableDef ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi! link jsObjectBraces Special - hi jsObjectValue ctermfg=147 ctermbg=NONE guifg=#b7b7ff guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi jsClassBlock ctermfg=61 ctermbg=NONE guifg=#715ab1 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi jsFutureKeys ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi jsFuncArgs ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi jsStorageClass ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi jsxRegion ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi typeScriptReserved ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi! link typeScriptLabel Label - hi! link typeScriptFuncKeyword Function - hi! link typeScriptIdentifier Identifier - hi typeScriptBraces ctermfg=161 ctermbg=NONE guifg=#ba2f59 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi typeScriptEndColons ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi typeScriptDOMObjects ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi! link typeScriptAjaxMethods Function - hi typeScriptLogicSymbols ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi! link typeScriptDocSeeTag Comment - hi! link typeScriptDocParam Comment - hi! link typeScriptDocTags vimCommentTitle - hi! link typeScriptGlobalObjects Keyword - hi typeScriptParens ctermfg=61 ctermbg=NONE guifg=#715ab1 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi! link typeScriptOpSymbols Operator - hi! link typeScriptHtmlElemProperties Special - hi typeScriptNull ctermfg=89 ctermbg=NONE guifg=#6c3163 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi typeScriptInterpolationDelimiter ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi purescriptModuleKeyword ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi purescriptModuleName ctermfg=161 ctermbg=NONE guifg=#ba2f59 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi purescriptWhere ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi purescriptDelimiter ctermfg=237 ctermbg=NONE guifg=#463a4e guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi! link purescriptType Type - hi! link purescriptImportKeyword Keyword - hi! link purescriptHidingKeyword Keyword - hi! link purescriptAsKeyword Keyword - hi! link purescriptStructure Structure - hi! link purescriptOperator Operator - hi! link purescriptTypeVar Type - hi! link purescriptConstructor Function - hi! link purescriptFunction Function - hi! link purescriptConditional Conditional - hi purescriptBacktick ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi coffeeExtendedOp ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi coffeeSpecialOp ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi coffeeCurly ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi coffeeParen ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi coffeeBracket ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi rubyStringDelimiter ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi rubyInterpolationDelimiter ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi objcTypeModifier ctermfg=196 ctermbg=NONE guifg=#f2241f guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi objcDirective ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi goDirective ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi goConstants ctermfg=89 ctermbg=NONE guifg=#6c3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi! link goDeclaration Keyword - hi goDeclType ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi goBuiltins ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi luaIn ctermfg=161 ctermbg=NONE guifg=#ba2f59 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi luaFunction ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi luaTable ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi moonSpecialOp ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi moonExtendedOp ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi moonFunction ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi moonObject ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javaAnnotation ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javaDocTags ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi! link javaCommentTitle vimCommentTitle - hi javaParen ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javaParen1 ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javaParen2 ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javaParen3 ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javaParen4 ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javaParen5 ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javaOperator ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi javaVarArg ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi! link elixirDocString Comment - hi elixirStringDelimiter ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi elixirInterpolationDelimiter ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi elixirModuleDeclaration ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi scalaNameDefinition ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi scalaCaseFollowing ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi scalaCapitalWord ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi scalaTypeExtension ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi scalaKeyword ctermfg=161 ctermbg=NONE guifg=#ba2f59 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi scalaKeywordModifier ctermfg=161 ctermbg=NONE guifg=#ba2f59 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi scalaSpecial ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi scalaOperator ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi scalaTypeDeclaration ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi scalaTypeTypePostDeclaration ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi scalaInstanceDeclaration ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi scalaInterpolation ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi markdownItalic ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE,italic gui=NONE,italic - hi markdownH1 ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi markdownH2 ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi markdownH3 ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi markdownH4 ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE,bold gui=NONE,bold - hi markdownH5 ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi markdownH6 ctermfg=136 ctermbg=NONE guifg=#b1951d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi! link htmlH1 markdownH1 - hi! link htmlH2 markdownH2 - hi! link htmlH3 markdownH3 - hi! link htmlH4 markdownH4 - hi! link htmlH5 markdownH5 - hi! link htmlH6 markdownH6 - hi markdownCode ctermfg=53 ctermbg=NONE guifg=#4e3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi! link mkdCode markdownCode - hi markdownCodeBlock ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi markdownCodeDelimiter ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi! link mkdCodeDelimiter markdownCodeDelimiter - hi markdownBlockquote ctermfg=146 ctermbg=NONE guifg=#a8a8bf guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi markdownListMarker ctermfg=146 ctermbg=NONE guifg=#a8a8bf guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi markdownOrderedListMarker ctermfg=146 ctermbg=NONE guifg=#a8a8bf guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi markdownRule ctermfg=146 ctermbg=NONE guifg=#a8a8bf guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi markdownHeadingRule ctermfg=146 ctermbg=NONE guifg=#a8a8bf guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi markdownUrlDelimiter ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi markdownLinkDelimiter ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi markdownLinkTextDelimiter ctermfg=60 ctermbg=NONE guifg=#504259 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi markdownHeadingDelimiter ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi markdownUrl ctermfg=89 ctermbg=NONE guifg=#6c3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi markdownUrlTitleDelimiter ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi! link markdownLinkText htmlLink - hi! link markdownIdDeclaration markdownLinkText - hi haskellType ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi haskellIdentifier ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi haskellSeparator ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi haskellDelimiter ctermfg=237 ctermbg=NONE guifg=#463a4e guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi haskellOperators ctermfg=32 ctermbg=NONE guifg=#3a81c3 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi haskellBacktick ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi haskellStatement ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi haskellConditional ctermfg=166 ctermbg=NONE guifg=#b46843 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi haskellLet ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi haskellDefault ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi haskellWhere ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi haskellBottom ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi haskellBlockKeywords ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi haskellImportKeywords ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi haskellDeclKeyword ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi haskellDeriving ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi haskellAssocType ctermfg=29 ctermbg=NONE guifg=#24775c guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi haskellNumber ctermfg=89 ctermbg=NONE guifg=#6c3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi haskellPragma ctermfg=89 ctermbg=NONE guifg=#6c3163 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi haskellString ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi haskellChar ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi jsonKeyword ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi jsonQuote ctermfg=70 ctermbg=NONE guifg=#67b11d guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi jsonBraces ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE - hi jsonString ctermfg=60 ctermbg=NONE guifg=#655370 guibg=NONE guisp=NONE cterm=NONE gui=NONE -endif -hi StatusLineNC ctermfg=189 ctermbg=255 guifg=#d3d3e7 guibg=#efeae9 guisp=NONE cterm=NONE gui=NONE -hi Visual ctermfg=NONE ctermbg=254 guifg=NONE guibg=#e3dedd guisp=NONE cterm=NONE gui=NONE -finish - -" Color: neutralred #d26487 ~ -" Color: neutralgreen #35a8a5 ~ -" Color: neutralyellow #b89f33 ~ -" Color: neutralblue #6981c5 ~ -" Color: neutralpurple #a15ea7 ~ -" Color: neutralaqua #288668 ~ -" Color: neutralorange #ca754b ~ -" Background: dark -" Color: bg0 #292b2e ~ -" Color: bg1 #212026 ~ -" Color: bg2 #100a14 ~ -" Color: bg3 #0a0814 ~ -" Color: bg4 #34323e ~ -" Color: fg0 #cdcdcd ~ -" Color: fg1 #b2b2b2 ~ -" Color: fg2 #8e8e8e ~ -" Color: fg3 #727272 ~ -" Color: fg4 #5b5b5b ~ -" Color: fg5 #9a9aba ~ -" Color: fg6 #5e5079 ~ -" Color: fg7 #666666 ~ -" Color: grey #44505c ~ -" Color: grey1 #768294 ~ -" Color: red #f2241f ~ -" Color: red1 #ce537a ~ -" Color: red2 #f54e3c ~ -" Color: green #67b11d ~ -" Color: green1 #2aa1ae ~ -" Color: blue0 #58b0d9 ~ -" Color: blue #4f97d7 ~ -" Color: blue1 #7590db ~ -" Color: purple #bc6ec5 ~ -" Color: purple0 #d698fe ~ -" Color: purple1 #a45bad ~ -" Color: purple2 #5d4d7a ~ -" Color: purple3 #544a65 ~ -" Color: purple4 #34323e ~ -" Color: aqua #2d9574 ~ -" Color: aqua1 #4495b4 ~ -" Color: orange0 #d79650 ~ -" Color: orange #e18254 ~ -" Color: yellow #b1951d ~ -" Color: yellow1 #e5d11c ~ -" Color: cyan #28def0 ~ -" Color: mat #86dc2f ~ -" Color: meta #9f8766 ~ -" Color: highlight #444155 ~ -" Color: comp #c56ec3 ~ -" Color: cblk #cbc1d5 ~ -" Color: war #dc752f ~ -" Color: float #b7b7ff ~ -" Color: delimiter #74baac ~ -" Color: debug #ffc8c8 ~ -" Color: number #e697e6 ~ -" Normal fg1 none -" CursorLineNr purple none -" FoldColumn purple none -" SignColumn fg1 none -" VertSplit bg1 none -" Normal fg1 bg0 -" CursorLineNr purple bg1 -" FoldColumn purple bg1 -" SignColumn fg1 bg0 -" VertSplit bg1 bg0 -" ColorColumn none bg1 -" Conceal blue none -" Cursor orange none bold,reverse -" CursorColumn -> CursorLine -" CursorLine none bg1 -" DiffAdd green bg0 reverse -" DiffChange orange bg0 reverse -" DiffDelete red bg0 reverse -" DiffText yellow bg0 reverse -" Directory blue none bold -" EndOfBuffer bg0 none -" Error red bg0 bold,reverse -" ErrorMsg bg0 red -" Folded purple1 bg1 g=italic -" IncSearch orange bg0 bold,reverse -" LineNr grey none -" MatchParen green none bold,underline -" ModeMsg yellow1 none -" MoreMsg -> ModeMsg -" NonText grey none -" Pmenu fg5 purple4 -" PmenuSbar none bg1 -" PmenuSel none fg6 -" PmenuThumb none purple2 -" Question orange none bold -" QuickFixLine -> Search -" qfLineNr -> Type -" Search green bg0 bold,reverse -" SpecialKey purple none -" SpellBad red none t=underline g=italic,undercurl s=red -" SpellCap blue none t=underline g=italic,undercurl s=blue -" SpellLocal aqua none t=underline g=italic,undercurl s=aqua -" SpellRare purple none t=underline g=italic,undercurl s=purple -" StatusLine fg1 purple2 -" StatusLineNC purple2 bg4 -" StatusLineTerm -> StatusLine -" StatusLineTermNC -> StatusLineNC -" TabLineFill purple3 bg1 -" TabLineSel green bg1 -" TabLine -> TabLineFill -" Title green none bold -" Visual none purple3 -" VisualNOS -> Visual -" WarningMsg red none -" WildMenu orange bg1 bold -" Boolean war none -" Character purple none -" Comment green1 none none g=italic -" Conditional blue none bold -" Constant orange none -" Define aqua none -" Debug red2 none -" Delimiter delimiter none -" Error red bg0 bold,reverse -" Exception red none -" Float float none -" Function purple none bold -" Identifier blue1 none -" Ignore fg none -" Include yellow none -" Keyword blue none bold -" Label red1 none -" Macro blue1 none bold -" Number number none -" Operator blue0 none -" PreCondit purple1 none -" PreProc purple0 none -" Repeat red1 none bold -" SpecialChar cyan none -" SpecialComment grey1 none -" Statement blue none -" StorageClass yellow none bold -" Special orange0 none -" String aqua none -" Structure aqua1 none bold -" Tag orange none -" Todo orange none t=bold g=bold,italic -" Type red1 none -" Typedef yellow none -" Underlined blue none underline -" lCursor -> Cursor -" CursorIM none none reverse -" ToolbarLine none bg3 -" ToolbarButton fg0 bg3 bold -" iCursor -> Cursor -" vCursor -> Cursor -" NormalMode fg4 bg0 reverse -" InsertMode blue bg0 reverse -" ReplaceMode aqua bg0 reverse -" VisualMode orange bg0 reverse -" CommandMode purple bg0 reverse -" Warnings orange bg0 reverse -" TermCursor -> Cursor -" TermCursorNC bg1 fg1 -" ALEError none none t=underline g=undercurl s=red -" ALEWarning none none t=underline g=undercurl s=red -" ALEInfo none none t=underline g=undercurl s=blue -" ALEErrorSign red none -" ALEWarningSign yellow none -" ALEInfoSign blue none -" BufTabLineCurrent bg0 fg4 -" BufTabLineActive fg4 bg2 -" BufTabLineHidden bg4 bg1 -" BufTabLineFill bg0 bg0 -" CtrlPMatch yellow none -" CtrlPNoEntries red none -" CtrlPPrtBase bg2 none -" CtrlPPrtCursor blue none -" CtrlPLinePre bg2 none -" CtrlPMode1 blue bg2 bold -" CtrlPMode2 bg0 blue bold -" CtrlPStats fg4 bg2 bold -" DirvishPathTail aqua none -" DirvishArg yellow none -" EasyMotionTarget -> Search -" EasyMotionShade -> Comment -" gitcommitSelectedFile green none -" gitcommitDiscardedFile red none -" GitGutterAdd green bg0 bold -" GitGutterChange orange bg0 bold -" GitGutterDelete red bg0 bold -" GitGutterChangeDelete red1 bg0 bold -" IndentGuidesOdd bg0 bg2 reverse -" IndentGuidesEven bg0 bg1 reverse -" IndentGuidesOdd bg0 bg2 -" IndentGuidesEven bg0 bg1 -" NERDTreeDir blue none bold -" NERDTreeDirSlash blue none -" NERDTreeOpenable blue none -" NERDTreeClosable blue none -" NERDTreeFile fg1 none -" NERDTreeExecFile yellow none -" NERDTreeUp red1 none -" NERDTreeCWD purple none -" NERDTreeHelp fg1 none -" NERDTreeToggleOn green none -" NERDTreeToggleOff red none -" netrwDir blue none -" netrwClassify blue none -" netrwLink grey none -" netrwSymLink fg1 none -" netrwExe yellow none -" netrwComment grey none -" netrwList blue none -" netrwHelpCmd aqua none -" netrwCmdSep fg3 none -" netrwVersion green none -" ShowMarksHLl blue bg0 bold -" ShowMarksHLu blue bg0 bold -" ShowMarksHLo blue bg0 bold -" ShowMarksHLm blue bg0 bold -" SignifySignAdd green none -" SignifySignChange orange none -" SignifySignDelete red none -" SignatureMarkText blue bg0 bold -" SignatureMarkerText purple bg0 bold -" StartifyBracket fg3 none -" StartifyFile fg1 bg0 -" StartifyNumber blue none -" StartifyPath blue1 none bold -" StartifySlash blue none -" StartifySection blue none bold -" StartifySpecial -> Type -" StartifyHeader purple1 none -" StartifyFooter purple1 none -" SyntasticError none none t=underline g=undercurl s=red -" SyntasticWarning none none t=underline g=undercurl s=yellow -" SyntasticErrorSign red bg0 -" SyntasticWarningSign yellow bg0 -" multiple_cursors_cursor none none reverse -" multiple_cursors_visual none bg2 -" CurrentWord none purple3 underline -" CurrentWordTwins none purple3 -" WhichKey -> Function -" WhichKeySeperator green none -" WhichKeyGroup -> Keyword -" WhichKeyDesc -> Identifier -" diffAdded green none -" diffRemoved red none -" diffChanged aqua none -" diffFile orange none -" diffNewFile yellow none -" diffLine blue none -" htmlTag blue none -" htmlEndTag blue none -" htmlTagName purple1 none -" htmlArg aqua none -" htmlScriptTag purple none -" htmlTagN fg1 none -" htmlSpecialTagName aqua none bold -" htmlLink blue none underline -" htmlSpecialChar orange none -" htmlBold fg bg0 bold -" htmlBoldUnderline fg bg0 bold,underline -" htmlBoldItalic fg bg0 bold,italic -" htmlBoldUnderlineItalic fg bg0 bold,underline,italic -" htmlUnderline fg bg0 underline -" htmlUnderlineItalic fg bg0 underline,italic -" htmlItalic blue1 none italic -" xmlTag blue none -" xmlEndTag blue none -" xmlTagName blue none -" xmlEqual blue none -" docbkKeyword aqua none bold -" xmlDocTypeDecl grey none -" xmlDocTypeKeyword purple none -" xmlCdataStart grey none -" xmlCdataCdata purple none -" dtdFunction grey none -" dtdTagName purple none -" xmlAttrib aqua none -" xmlProcessingDelim grey none -" dtdParamEntityPunct grey none -" dtdParamEntityDPunct grey none -" xmlAttribPunct grey none -" xmlEntity orange none -" xmlEntityPunct orange none -" vimCommentTitle blue1 none bold -" vimNotation orange none -" vimBracket orange none -" vimMapModKey orange none -" vimCommand blue none bold -" vimLet blue none -" vimNorm blue none -" vimFuncSID -> Function -" vimFunction -> Function -" vimGroup blue1 none -" vimHiGroup -> Type -" vimSetSep fg3 none -" vimSep fg3 none -" vimContinue yellow none -" clojureKeyword blue none -" clojureCond orange none -" clojureSpecial orange none -" clojureDefine orange none -" clojureFunc yellow none -" clojureRepeat yellow none -" clojureCharacter aqua none -" clojureStringEscape aqua none -" clojureException red none -" clojureRegexp aqua none -" clojureRegexpEscape aqua none -" clojureRegexpCharClass fg3 none bold -" clojureRegexpMod -> clojureRegexpCharClass -" clojureRegexpQuantifier -> clojureRegexpCharClass -" clojureParen fg3 none -" clojureAnonArg yellow none -" clojureVariable blue none -" clojureMacro orange none -" clojureMeta yellow none -" clojureDeref yellow none -" clojureQuote yellow none -" clojureUnquote yellow none -" cOperator purple none -" cStructure orange none -" rustSelf blue none bold -" rustPanic red1 none bold -" rustAssert blue1 none bold -" pythonCoding -> Comment -" cssBraces blue none -" cssFunctionName yellow none -" cssIdentifier orange none -" cssClassName green none -" cssColor blue none -" cssSelectorOp blue none -" cssSelectorOp2 blue none -" cssImportant green none -" cssVendor fg1 none -" cssTextProp aqua none -" cssAnimationProp aqua none -" cssUIProp yellow none -" cssTransformProp aqua none -" cssTransitionProp aqua none -" cssPrintProp aqua none -" cssPositioningProp yellow none -" cssBoxProp aqua none -" cssFontDescriptorProp aqua none -" cssFlexibleBoxProp aqua none -" cssBorderOutlineProp aqua none -" cssBackgroundProp aqua none -" cssMarginProp aqua none -" cssListProp aqua none -" cssTableProp aqua none -" cssFontProp aqua none -" cssPaddingProp aqua none -" cssDimensionProp aqua none -" cssRenderProp aqua none -" cssColorProp aqua none -" cssGeneratedContentProp aqua none -" javaScriptBraces fg1 none -" javaScriptFunction aqua none -" javaScriptIdentifier red none -" javaScriptMember blue none -" javaScriptNumber purple none -" javaScriptNull purple none -" javaScriptParens fg3 none -" javascriptImport aqua none -" javascriptExport aqua none -" javascriptClassKeyword aqua none -" javascriptClassExtends aqua none -" javascriptDefault aqua none -" javascriptClassName yellow none -" javascriptClassSuperName yellow none -" javascriptGlobal yellow none -" javascriptEndColons fg1 none -" javascriptFuncArg fg1 none -" javascriptGlobalMethod fg1 none -" javascriptNodeGlobal fg1 none -" javascriptBOMWindowProp fg1 none -" javascriptArrayMethod fg1 none -" javascriptArrayStaticMethod fg1 none -" javascriptCacheMethod fg1 none -" javascriptDateMethod fg1 none -" javascriptMathStaticMethod fg1 none -" javascriptURLUtilsProp fg1 none -" javascriptBOMNavigatorProp fg1 none -" javascriptDOMDocMethod fg1 none -" javascriptDOMDocProp fg1 none -" javascriptBOMLocationMethod fg1 none -" javascriptBOMWindowMethod fg1 none -" javascriptStringMethod fg1 none -" javascriptVariable orange none -" javascriptIdentifier orange none -" javascriptClassSuper orange none -" javascriptFuncKeyword aqua none -" javascriptAsyncFunc aqua none -" javascriptClassStatic orange none -" javascriptOperator red1 none -" javascriptForOperator red1 none -" javascriptYield red1 none -" javascriptExceptions red1 none -" javascriptMessage red1 none -" javascriptTemplateSB aqua none -" javascriptTemplateSubstitution fg1 none -" javascriptLabel fg1 none -" javascriptObjectLabel fg1 none -" javascriptPropertyName fg1 none -" javascriptLogicSymbols fg1 none -" javascriptArrowFunc yellow none -" javascriptDocParamName fg4 none -" javascriptDocTags fg4 none -" javascriptDocNotation fg4 none -" javascriptDocParamType fg4 none -" javascriptDocNamedParamType fg4 none -" javascriptBrackets fg1 none -" javascriptDOMElemAttrs fg1 none -" javascriptDOMEventMethod fg1 none -" javascriptDOMNodeMethod fg1 none -" javascriptDOMStorageMethod fg1 none -" javascriptHeadersMethod fg1 none -" javascriptAsyncFuncKeyword red1 none bold -" javascriptAwaitFuncKeyword red1 none bold -" jsClassKeyword -> Keyword -" jsExtendsKeyword -> Keyword -" jsExportDefault blue none bold -" jsTemplateBraces aqua none -" jsGlobalNodeObjects -> Keyword -" jsGlobalObjects -> Keyword -" jsFunction -> Function -" jsFuncParens orange none -" jsParens red1 none -" jsNull purple none -" jsUndefined -> ErrorMsg -" jsClassDefinition yellow none -" jsObjectProp -> Identifier -" jsObjectKey blue0 none -" jsFunctionKey blue1 none -" jsBracket red1 none -" jsObjectColon red1 none -" jsFuncArgs blue0 none -" jsFuncBraces blue1 none -" jsVariableDef fg1 none -" jsObjectBraces -> Special -" jsObjectValue float none -" jsClassBlock blue1 none -" jsFutureKeys orange none bold -" jsFuncArgs blue none -" jsStorageClass blue none -" jsxRegion blue none -" typeScriptReserved aqua none -" typeScriptLabel -> Label -" typeScriptFuncKeyword -> Function -" typeScriptIdentifier -> Identifier -" typeScriptBraces red1 none -" typeScriptEndColons fg1 none -" typeScriptDOMObjects fg1 none -" typeScriptAjaxMethods -> Function -" typeScriptLogicSymbols fg1 none -" typeScriptDocSeeTag -> Comment -" typeScriptDocParam -> Comment -" typeScriptDocTags -> vimCommentTitle -" typeScriptGlobalObjects -> Keyword -" typeScriptParens blue1 none -" typeScriptOpSymbols -> Operator -" typeScriptHtmlElemProperties -> Special -" typeScriptNull purple none bold -" typeScriptInterpolationDelimiter aqua none -" purescriptModuleKeyword aqua none -" purescriptModuleName red1 none bold -" purescriptWhere aqua none -" purescriptDelimiter fg4 none -" purescriptType -> Type -" purescriptImportKeyword -> Keyword -" purescriptHidingKeyword -> Keyword -" purescriptAsKeyword -> Keyword -" purescriptStructure -> Structure -" purescriptOperator -> Operator -" purescriptTypeVar -> Type -" purescriptConstructor -> Function -" purescriptFunction -> Function -" purescriptConditional -> Conditional -" purescriptBacktick orange none -" coffeeExtendedOp fg3 none -" coffeeSpecialOp fg3 none -" coffeeCurly orange none -" coffeeParen fg3 none -" coffeeBracket orange none -" rubyStringDelimiter green none -" rubyInterpolationDelimiter aqua none -" objcTypeModifier red none -" objcDirective blue none -" goDirective aqua none -" goConstants purple none -" goDeclaration -> Keyword -" goDeclType blue none -" goBuiltins orange none -" luaIn red1 none -" luaFunction aqua none -" luaTable orange none -" moonSpecialOp fg3 none -" moonExtendedOp fg3 none -" moonFunction fg3 none -" moonObject yellow none -" javaAnnotation blue none -" javaDocTags aqua none -" javaCommentTitle -> vimCommentTitle -" javaParen fg3 none -" javaParen1 fg3 none -" javaParen2 fg3 none -" javaParen3 fg3 none -" javaParen4 fg3 none -" javaParen5 fg3 none -" javaOperator orange none -" javaVarArg green none -" elixirDocString -> Comment -" elixirStringDelimiter green none -" elixirInterpolationDelimiter aqua none -" elixirModuleDeclaration yellow none -" scalaNameDefinition fg1 none -" scalaCaseFollowing fg1 none -" scalaCapitalWord fg1 none -" scalaTypeExtension fg1 none -" scalaKeyword red1 none bold -" scalaKeywordModifier red1 none -" scalaSpecial aqua none -" scalaOperator fg1 none -" scalaTypeDeclaration yellow none -" scalaTypeTypePostDeclaration yellow none -" scalaInstanceDeclaration fg1 none -" scalaInterpolation aqua none -" markdownItalic fg3 none italic -" markdownH1 blue none bold -" markdownH2 aqua none bold -" markdownH3 green none bold -" markdownH4 yellow none bold -" markdownH5 yellow none -" markdownH6 yellow none -" htmlH1 -> markdownH1 -" htmlH2 -> markdownH2 -" htmlH3 -> markdownH3 -" htmlH4 -> markdownH4 -" htmlH5 -> markdownH5 -" htmlH6 -> markdownH6 -" markdownCode purple1 none -" mkdCode -> markdownCode -" markdownCodeBlock aqua none -" markdownCodeDelimiter orange none -" mkdCodeDelimiter -> markdownCodeDelimiter -" markdownBlockquote grey none -" markdownListMarker grey none -" markdownOrderedListMarker grey none -" markdownRule grey none -" markdownHeadingRule grey none -" markdownUrlDelimiter fg3 none -" markdownLinkDelimiter fg3 none -" markdownLinkTextDelimiter fg3 none -" markdownHeadingDelimiter orange none -" markdownUrl purple none -" markdownUrlTitleDelimiter green none -" markdownLinkText -> htmlLink -" markdownIdDeclaration -> markdownLinkText -" haskellType fg1 none -" haskellIdentifier fg1 none -" haskellSeparator fg1 none -" haskellDelimiter fg4 none -" haskellOperators blue none -" haskellBacktick orange none -" haskellStatement orange none -" haskellConditional orange none -" haskellLet aqua none -" haskellDefault aqua none -" haskellWhere aqua none -" haskellBottom aqua none -" haskellBlockKeywords aqua none -" haskellImportKeywords aqua none -" haskellDeclKeyword aqua none -" haskellDeriving aqua none -" haskellAssocType aqua none -" haskellNumber purple none -" haskellPragma purple none -" haskellString green none -" haskellChar green none -" jsonKeyword green none -" jsonQuote green none -" jsonBraces fg1 none -" jsonString fg1 none -" Background: light -" Color: bg0 #fbf8ef ~ -" Color: bg1 #efeae9 ~ -" Color: bg2 #e3dedd ~ -" Color: bg3 #d2ceda ~ -" Color: bg4 #a8a4ae ~ -" Color: fg0 #83758c ~ -" Color: fg1 #655370 ~ -" Color: fg2 #5a4a64 ~ -" Color: fg3 #504259 ~ -" Color: fg4 #463a4e ~ -" Color: fg5 #8c799f ~ -" Color: fg6 #c8c6dd ~ -" Color: grey #a8a8bf ~ -" Color: grey1 #768294 ~ -" Color: red #f2241f ~ -" Color: red1 #ba2f59 ~ -" Color: red2 #f54e3c ~ -" Color: blue0 #58b0d9 ~ -" Color: blue #3a81c3 ~ -" Color: blue1 #715ab1 ~ -" Color: purple #6c3163 ~ -" Color: purple0 #86589e ~ -" Color: purple1 #4e3163 ~ -" Color: purple2 #d3d3e7 ~ -" Color: purple3 #544a65 ~ -" Color: purple4 #e2e0ea ~ -" Color: green #67b11d ~ -" Color: green1 #2aa1ae ~ -" Color: aqua #24775c ~ -" Color: aqua1 #4495b4 ~ -" Color: orange0 #d79650 ~ -" Color: orange #b46843 ~ -" Color: yellow #b1951d ~ -" Color: yellow1 #e5d11c ~ -" Color: cyan #21b8c7 ~ -" Color: meta #da8b55 ~ -" Color: mat #ba2f59 ~ -" Color: highlight #d3d3e7 ~ -" Color: war #dc752f ~ -" Color: cblk #655370 ~ -" Color: comp #6c4173 ~ -" Color: number #e697e6 ~ -" Color: debug #ffc8c8 ~ -" Color: float #b7b7ff ~ -" Color: delimiter #74baac ~ -" Normal fg1 none -" CursorLineNr purple none -" FoldColumn purple none -" SignColumn fg1 none -" VertSplit bg1 none -" Normal fg1 bg0 -" CursorLineNr purple bg1 -" FoldColumn purple bg1 -" SignColumn fg1 bg0 -" VertSplit bg1 bg0 -" ColorColumn none bg1 -" Conceal blue none -" Cursor orange none bold,reverse -" CursorColumn -> CursorLine -" CursorLine none bg1 -" DiffAdd green bg0 reverse -" DiffChange orange bg0 reverse -" DiffDelete red bg0 reverse -" DiffText yellow bg0 reverse -" Directory blue none bold -" EndOfBuffer bg0 none -" Error red bg0 bold,reverse -" ErrorMsg bg0 red -" Folded purple1 bg1 g=italic -" IncSearch orange bg0 bold,reverse -" LineNr grey none -" MatchParen green none bold,underline -" ModeMsg yellow1 none -" MoreMsg -> ModeMsg -" NonText grey none -" Pmenu fg5 purple4 -" PmenuSbar none bg1 -" PmenuSel none fg6 -" PmenuThumb none purple2 -" Question orange none bold -" QuickFixLine -> Search -" qfLineNr -> Type -" Search green bg0 bold,reverse -" SpecialKey purple none -" SpellBad red none t=underline g=italic,undercurl s=red -" SpellCap blue none t=underline g=italic,undercurl s=blue -" SpellLocal aqua none t=underline g=italic,undercurl s=aqua -" SpellRare purple none t=underline g=italic,undercurl s=purple -" StatusLine fg1 purple2 -" StatusLineNC purple2 bg4 -" StatusLineTerm -> StatusLine -" StatusLineTermNC -> StatusLineNC -" TabLineFill purple3 bg1 -" TabLineSel green bg1 -" TabLine -> TabLineFill -" Title green none bold -" Visual none purple3 -" VisualNOS -> Visual -" WarningMsg red none -" WildMenu orange bg1 bold -" Boolean war none -" Character purple none -" Comment green1 none none g=italic -" Conditional blue none bold -" Constant orange none -" Define aqua none -" Debug red2 none -" Delimiter delimiter none -" Error red bg0 bold,reverse -" Exception red none -" Float float none -" Function purple none bold -" Identifier blue1 none -" Ignore fg none -" Include yellow none -" Keyword blue none bold -" Label red1 none -" Macro blue1 none bold -" Number number none -" Operator blue0 none -" PreCondit purple1 none -" PreProc purple0 none -" Repeat red1 none bold -" SpecialChar cyan none -" SpecialComment grey1 none -" Statement blue none -" StorageClass yellow none bold -" Special orange0 none -" String aqua none -" Structure aqua1 none bold -" Tag orange none -" Todo orange none t=bold g=bold,italic -" Type red1 none -" Typedef yellow none -" Underlined blue none underline -" lCursor -> Cursor -" CursorIM none none reverse -" ToolbarLine none bg3 -" ToolbarButton fg0 bg3 bold -" iCursor -> Cursor -" vCursor -> Cursor -" NormalMode fg4 bg0 reverse -" InsertMode blue bg0 reverse -" ReplaceMode aqua bg0 reverse -" VisualMode orange bg0 reverse -" CommandMode purple bg0 reverse -" Warnings orange bg0 reverse -" TermCursor -> Cursor -" TermCursorNC bg1 fg1 -" ALEError none none t=underline g=undercurl s=red -" ALEWarning none none t=underline g=undercurl s=red -" ALEInfo none none t=underline g=undercurl s=blue -" ALEErrorSign red none -" ALEWarningSign yellow none -" ALEInfoSign blue none -" BufTabLineCurrent bg0 fg4 -" BufTabLineActive fg4 bg2 -" BufTabLineHidden bg4 bg1 -" BufTabLineFill bg0 bg0 -" CtrlPMatch yellow none -" CtrlPNoEntries red none -" CtrlPPrtBase bg2 none -" CtrlPPrtCursor blue none -" CtrlPLinePre bg2 none -" CtrlPMode1 blue bg2 bold -" CtrlPMode2 bg0 blue bold -" CtrlPStats fg4 bg2 bold -" DirvishPathTail aqua none -" DirvishArg yellow none -" EasyMotionTarget -> Search -" EasyMotionShade -> Comment -" gitcommitSelectedFile green none -" gitcommitDiscardedFile red none -" GitGutterAdd green bg0 bold -" GitGutterChange orange bg0 bold -" GitGutterDelete red bg0 bold -" GitGutterChangeDelete red1 bg0 bold -" IndentGuidesOdd bg0 bg2 reverse -" IndentGuidesEven bg0 bg1 reverse -" IndentGuidesOdd bg0 bg2 -" IndentGuidesEven bg0 bg1 -" NERDTreeDir blue none bold -" NERDTreeDirSlash blue none -" NERDTreeOpenable blue none -" NERDTreeClosable blue none -" NERDTreeFile fg1 none -" NERDTreeExecFile yellow none -" NERDTreeUp red1 none -" NERDTreeCWD purple none -" NERDTreeHelp fg1 none -" NERDTreeToggleOn green none -" NERDTreeToggleOff red none -" netrwDir blue none -" netrwClassify blue none -" netrwLink grey none -" netrwSymLink fg1 none -" netrwExe yellow none -" netrwComment grey none -" netrwList blue none -" netrwHelpCmd aqua none -" netrwCmdSep fg3 none -" netrwVersion green none -" ShowMarksHLl blue bg0 bold -" ShowMarksHLu blue bg0 bold -" ShowMarksHLo blue bg0 bold -" ShowMarksHLm blue bg0 bold -" SignifySignAdd green none -" SignifySignChange orange none -" SignifySignDelete red none -" SignatureMarkText blue bg0 bold -" SignatureMarkerText purple bg0 bold -" StartifyBracket fg3 none -" StartifyFile fg1 bg0 -" StartifyNumber blue none -" StartifyPath blue1 none bold -" StartifySlash blue none -" StartifySection blue none bold -" StartifySpecial -> Type -" StartifyHeader purple1 none -" StartifyFooter purple1 none -" SyntasticError none none t=underline g=undercurl s=red -" SyntasticWarning none none t=underline g=undercurl s=yellow -" SyntasticErrorSign red bg0 -" SyntasticWarningSign yellow bg0 -" multiple_cursors_cursor none none reverse -" multiple_cursors_visual none bg2 -" CurrentWord none purple3 underline -" CurrentWordTwins none purple3 -" WhichKey -> Function -" WhichKeySeperator green none -" WhichKeyGroup -> Keyword -" WhichKeyDesc -> Identifier -" diffAdded green none -" diffRemoved red none -" diffChanged aqua none -" diffFile orange none -" diffNewFile yellow none -" diffLine blue none -" htmlTag blue none -" htmlEndTag blue none -" htmlTagName purple1 none -" htmlArg aqua none -" htmlScriptTag purple none -" htmlTagN fg1 none -" htmlSpecialTagName aqua none bold -" htmlLink blue none underline -" htmlSpecialChar orange none -" htmlBold fg bg0 bold -" htmlBoldUnderline fg bg0 bold,underline -" htmlBoldItalic fg bg0 bold,italic -" htmlBoldUnderlineItalic fg bg0 bold,underline,italic -" htmlUnderline fg bg0 underline -" htmlUnderlineItalic fg bg0 underline,italic -" htmlItalic blue1 none italic -" xmlTag blue none -" xmlEndTag blue none -" xmlTagName blue none -" xmlEqual blue none -" docbkKeyword aqua none bold -" xmlDocTypeDecl grey none -" xmlDocTypeKeyword purple none -" xmlCdataStart grey none -" xmlCdataCdata purple none -" dtdFunction grey none -" dtdTagName purple none -" xmlAttrib aqua none -" xmlProcessingDelim grey none -" dtdParamEntityPunct grey none -" dtdParamEntityDPunct grey none -" xmlAttribPunct grey none -" xmlEntity orange none -" xmlEntityPunct orange none -" vimCommentTitle blue1 none bold -" vimNotation orange none -" vimBracket orange none -" vimMapModKey orange none -" vimCommand blue none bold -" vimLet blue none -" vimNorm blue none -" vimFuncSID -> Function -" vimFunction -> Function -" vimGroup blue1 none -" vimHiGroup -> Type -" vimSetSep fg3 none -" vimSep fg3 none -" vimContinue yellow none -" clojureKeyword blue none -" clojureCond orange none -" clojureSpecial orange none -" clojureDefine orange none -" clojureFunc yellow none -" clojureRepeat yellow none -" clojureCharacter aqua none -" clojureStringEscape aqua none -" clojureException red none -" clojureRegexp aqua none -" clojureRegexpEscape aqua none -" clojureRegexpCharClass fg3 none bold -" clojureRegexpMod -> clojureRegexpCharClass -" clojureRegexpQuantifier -> clojureRegexpCharClass -" clojureParen fg3 none -" clojureAnonArg yellow none -" clojureVariable blue none -" clojureMacro orange none -" clojureMeta yellow none -" clojureDeref yellow none -" clojureQuote yellow none -" clojureUnquote yellow none -" cOperator purple none -" cStructure orange none -" rustSelf blue none bold -" rustPanic red1 none bold -" rustAssert blue1 none bold -" pythonCoding -> Comment -" cssBraces blue none -" cssFunctionName yellow none -" cssIdentifier orange none -" cssClassName green none -" cssColor blue none -" cssSelectorOp blue none -" cssSelectorOp2 blue none -" cssImportant green none -" cssVendor fg1 none -" cssTextProp aqua none -" cssAnimationProp aqua none -" cssUIProp yellow none -" cssTransformProp aqua none -" cssTransitionProp aqua none -" cssPrintProp aqua none -" cssPositioningProp yellow none -" cssBoxProp aqua none -" cssFontDescriptorProp aqua none -" cssFlexibleBoxProp aqua none -" cssBorderOutlineProp aqua none -" cssBackgroundProp aqua none -" cssMarginProp aqua none -" cssListProp aqua none -" cssTableProp aqua none -" cssFontProp aqua none -" cssPaddingProp aqua none -" cssDimensionProp aqua none -" cssRenderProp aqua none -" cssColorProp aqua none -" cssGeneratedContentProp aqua none -" javaScriptBraces fg1 none -" javaScriptFunction aqua none -" javaScriptIdentifier red none -" javaScriptMember blue none -" javaScriptNumber purple none -" javaScriptNull purple none -" javaScriptParens fg3 none -" javascriptImport aqua none -" javascriptExport aqua none -" javascriptClassKeyword aqua none -" javascriptClassExtends aqua none -" javascriptDefault aqua none -" javascriptClassName yellow none -" javascriptClassSuperName yellow none -" javascriptGlobal yellow none -" javascriptEndColons fg1 none -" javascriptFuncArg fg1 none -" javascriptGlobalMethod fg1 none -" javascriptNodeGlobal fg1 none -" javascriptBOMWindowProp fg1 none -" javascriptArrayMethod fg1 none -" javascriptArrayStaticMethod fg1 none -" javascriptCacheMethod fg1 none -" javascriptDateMethod fg1 none -" javascriptMathStaticMethod fg1 none -" javascriptURLUtilsProp fg1 none -" javascriptBOMNavigatorProp fg1 none -" javascriptDOMDocMethod fg1 none -" javascriptDOMDocProp fg1 none -" javascriptBOMLocationMethod fg1 none -" javascriptBOMWindowMethod fg1 none -" javascriptStringMethod fg1 none -" javascriptVariable orange none -" javascriptIdentifier orange none -" javascriptClassSuper orange none -" javascriptFuncKeyword aqua none -" javascriptAsyncFunc aqua none -" javascriptClassStatic orange none -" javascriptOperator red1 none -" javascriptForOperator red1 none -" javascriptYield red1 none -" javascriptExceptions red1 none -" javascriptMessage red1 none -" javascriptTemplateSB aqua none -" javascriptTemplateSubstitution fg1 none -" javascriptLabel fg1 none -" javascriptObjectLabel fg1 none -" javascriptPropertyName fg1 none -" javascriptLogicSymbols fg1 none -" javascriptArrowFunc yellow none -" javascriptDocParamName fg4 none -" javascriptDocTags fg4 none -" javascriptDocNotation fg4 none -" javascriptDocParamType fg4 none -" javascriptDocNamedParamType fg4 none -" javascriptBrackets fg1 none -" javascriptDOMElemAttrs fg1 none -" javascriptDOMEventMethod fg1 none -" javascriptDOMNodeMethod fg1 none -" javascriptDOMStorageMethod fg1 none -" javascriptHeadersMethod fg1 none -" javascriptAsyncFuncKeyword red1 none bold -" javascriptAwaitFuncKeyword red1 none bold -" jsClassKeyword -> Keyword -" jsExtendsKeyword -> Keyword -" jsExportDefault blue none bold -" jsTemplateBraces aqua none -" jsGlobalNodeObjects -> Keyword -" jsGlobalObjects -> Keyword -" jsFunction -> Function -" jsFuncParens orange none -" jsParens red1 none -" jsNull purple none -" jsUndefined -> ErrorMsg -" jsClassDefinition yellow none -" jsObjectProp -> Identifier -" jsObjectKey blue0 none -" jsFunctionKey blue1 none -" jsBracket red1 none -" jsObjectColon red1 none -" jsFuncArgs blue0 none -" jsFuncBraces blue1 none -" jsVariableDef fg1 none -" jsObjectBraces -> Special -" jsObjectValue float none -" jsClassBlock blue1 none -" jsFutureKeys orange none bold -" jsFuncArgs blue none -" jsStorageClass blue none -" jsxRegion blue none -" typeScriptReserved aqua none -" typeScriptLabel -> Label -" typeScriptFuncKeyword -> Function -" typeScriptIdentifier -> Identifier -" typeScriptBraces red1 none -" typeScriptEndColons fg1 none -" typeScriptDOMObjects fg1 none -" typeScriptAjaxMethods -> Function -" typeScriptLogicSymbols fg1 none -" typeScriptDocSeeTag -> Comment -" typeScriptDocParam -> Comment -" typeScriptDocTags -> vimCommentTitle -" typeScriptGlobalObjects -> Keyword -" typeScriptParens blue1 none -" typeScriptOpSymbols -> Operator -" typeScriptHtmlElemProperties -> Special -" typeScriptNull purple none bold -" typeScriptInterpolationDelimiter aqua none -" purescriptModuleKeyword aqua none -" purescriptModuleName red1 none bold -" purescriptWhere aqua none -" purescriptDelimiter fg4 none -" purescriptType -> Type -" purescriptImportKeyword -> Keyword -" purescriptHidingKeyword -> Keyword -" purescriptAsKeyword -> Keyword -" purescriptStructure -> Structure -" purescriptOperator -> Operator -" purescriptTypeVar -> Type -" purescriptConstructor -> Function -" purescriptFunction -> Function -" purescriptConditional -> Conditional -" purescriptBacktick orange none -" coffeeExtendedOp fg3 none -" coffeeSpecialOp fg3 none -" coffeeCurly orange none -" coffeeParen fg3 none -" coffeeBracket orange none -" rubyStringDelimiter green none -" rubyInterpolationDelimiter aqua none -" objcTypeModifier red none -" objcDirective blue none -" goDirective aqua none -" goConstants purple none -" goDeclaration -> Keyword -" goDeclType blue none -" goBuiltins orange none -" luaIn red1 none -" luaFunction aqua none -" luaTable orange none -" moonSpecialOp fg3 none -" moonExtendedOp fg3 none -" moonFunction fg3 none -" moonObject yellow none -" javaAnnotation blue none -" javaDocTags aqua none -" javaCommentTitle -> vimCommentTitle -" javaParen fg3 none -" javaParen1 fg3 none -" javaParen2 fg3 none -" javaParen3 fg3 none -" javaParen4 fg3 none -" javaParen5 fg3 none -" javaOperator orange none -" javaVarArg green none -" elixirDocString -> Comment -" elixirStringDelimiter green none -" elixirInterpolationDelimiter aqua none -" elixirModuleDeclaration yellow none -" scalaNameDefinition fg1 none -" scalaCaseFollowing fg1 none -" scalaCapitalWord fg1 none -" scalaTypeExtension fg1 none -" scalaKeyword red1 none bold -" scalaKeywordModifier red1 none -" scalaSpecial aqua none -" scalaOperator fg1 none -" scalaTypeDeclaration yellow none -" scalaTypeTypePostDeclaration yellow none -" scalaInstanceDeclaration fg1 none -" scalaInterpolation aqua none -" markdownItalic fg3 none italic -" markdownH1 blue none bold -" markdownH2 aqua none bold -" markdownH3 green none bold -" markdownH4 yellow none bold -" markdownH5 yellow none -" markdownH6 yellow none -" htmlH1 -> markdownH1 -" htmlH2 -> markdownH2 -" htmlH3 -> markdownH3 -" htmlH4 -> markdownH4 -" htmlH5 -> markdownH5 -" htmlH6 -> markdownH6 -" markdownCode purple1 none -" mkdCode -> markdownCode -" markdownCodeBlock aqua none -" markdownCodeDelimiter orange none -" mkdCodeDelimiter -> markdownCodeDelimiter -" markdownBlockquote grey none -" markdownListMarker grey none -" markdownOrderedListMarker grey none -" markdownRule grey none -" markdownHeadingRule grey none -" markdownUrlDelimiter fg3 none -" markdownLinkDelimiter fg3 none -" markdownLinkTextDelimiter fg3 none -" markdownHeadingDelimiter orange none -" markdownUrl purple none -" markdownUrlTitleDelimiter green none -" markdownLinkText -> htmlLink -" markdownIdDeclaration -> markdownLinkText -" haskellType fg1 none -" haskellIdentifier fg1 none -" haskellSeparator fg1 none -" haskellDelimiter fg4 none -" haskellOperators blue none -" haskellBacktick orange none -" haskellStatement orange none -" haskellConditional orange none -" haskellLet aqua none -" haskellDefault aqua none -" haskellWhere aqua none -" haskellBottom aqua none -" haskellBlockKeywords aqua none -" haskellImportKeywords aqua none -" haskellDeclKeyword aqua none -" haskellDeriving aqua none -" haskellAssocType aqua none -" haskellNumber purple none -" haskellPragma purple none -" haskellString green none -" haskellChar green none -" jsonKeyword green none -" jsonQuote green none -" jsonBraces fg1 none -" jsonString fg1 none -" StatusLineNC purple2 bg1 -" Visual none bg2 - diff --git a/files/nvim/colors/vim-material.vim b/files/nvim/colors/vim-material.vim deleted file mode 100644 index 9f9d97d..0000000 --- a/files/nvim/colors/vim-material.vim +++ /dev/null @@ -1,234 +0,0 @@ -" ----------------------------------------------------------------------------- -" File: vim-material.vim -" Description: equinusocio's Material Theme porting -" Porting From: https://github.com/equinusocio/vsc-material-theme -" Author: hzchris -" Source: https://github.com/hzchirs/vim-material -" Last Modified: 10 February 2019 -" ----------------------------------------------------------------------------- - -if version > 580 - highlight clear - if exists("syntax_on") - syntax reset - endif -endif - -let g:colors_name = "vim-material" - -let s:gui = {} -let s:cterm = {} - -let s:gui.background = { 'dark': '#263238', 'light': '#FAFAFA', 'palenight': '#292D3E', 'oceanic': '#0F111A' } -let s:gui.foreground = { 'dark': '#ECEFF1', 'light': '#666666', 'palenight': '#A6ACCD', 'oceanic': '#A6ACCD' } -let s:gui.none = { 'dark': 'NONE', 'light': 'NONE', 'palenight': 'NONE' , 'oceanic': 'NONE' } -let s:gui.selection = { 'dark': '#455A64', 'light': '#CCEAE7', 'palenight': '#434A6C', 'oceanic': '#292D3E' } -let s:gui.line = { 'dark': '#212121', 'light': '#EAEFF0', 'palenight': '#191919', 'oceanic': '#191919' } -let s:gui.comment = { 'dark': '#5D818E', 'light': '#90A4AE', 'palenight': '#676E95', 'oceanic': '#525975' } - -let s:gui.red = { 'dark': '#FF5370', 'light': '#E53935', 'palenight': '#FF5370', 'oceanic': '#FF5370' } -let s:gui.dark_red = { 'dark': '#B71C1C', 'light': '#E53935', 'palenight': '#FF5370', 'oceanic': '#FF5370' } -let s:gui.pink = { 'dark': '#F07178', 'light': '#FF5370', 'palenight': '#F07178', 'oceanic': '#F07178' } -let s:gui.orange = { 'dark': '#F78C6C', 'light': '#F76D47', 'palenight': '#F78C6C', 'oceanic': '#F78C6C' } -let s:gui.light_yellow = { 'dark': '#FFE57F', 'light': '#FFAD13', 'palenight': '#FFE57F', 'oceanic': '#FFE57F' } -let s:gui.yellow = { 'dark': '#FFCB6B', 'light': '#FFAD13', 'palenight': '#FFCB6B', 'oceanic': '#FFCB6B' } -let s:gui.green = { 'dark': '#C3E88D', 'light': '#82A550', 'palenight': '#C3E88D', 'oceanic': '#C3E88D' } -let s:gui.teal = { 'dark': '#004D40', 'light': '#CCEAE7', 'palenight': '#004D40', 'oceanic': '#004D40' } -let s:gui.light_teal = { 'dark': '#69F0AE', 'light': '#73B6B0', 'palenight': '#69F0AE', 'oceanic': '#69F0AE' } -let s:gui.pale_blue = { 'dark': '#B2CCD6', 'light': '#8796B0', 'palenight': '#B2CCD6', 'oceanic': '#B2CCD6' } -let s:gui.cyan = { 'dark': '#89DDFF', 'light': '#39ADB5', 'palenight': '#89DDFF', 'oceanic': '#89DDFF' } -let s:gui.blue = { 'dark': '#82AAFF', 'light': '#6182B8', 'palenight': '#82AAFF', 'oceanic': '#82AAFF' } -let s:gui.purple = { 'dark': '#C792EA', 'light': '#7C4DFF', 'palenight': '#C792EA', 'oceanic': '#C792EA' } -let s:gui.violet = { 'dark': '#BB80B3', 'light': '#945EB8', 'palenight': '#BB80B3', 'oceanic': '#BB80B3' } -let s:gui.brown = { 'dark': '#AB7967', 'light': '#AB7967', 'palenight': '#C17E70', 'oceanic': '#C17E70' } - -if !exists('g:material_style') - let g:material_style='default' -endif - -function! s:hi(group, guifg, guibg, ctermfg, ctermbg, attr) - if s:gui(a:guifg) != "" - exec "hi " . a:group . " guifg=" . s:gui(a:guifg) - endif - if s:gui(a:guibg) != "" - exec "hi " . a:group . " guibg=" . s:gui(a:guibg) - endif - if a:ctermfg != "" - exec "hi " . a:group . " ctermfg=" . a:ctermfg - endif - if a:ctermbg != "" - exec "hi " . a:group . " ctermbg=" . a:ctermbg - endif - if a:attr != "" - exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr - endif -endfunction - -function! s:gui(color) - if &background == "light" - return a:color['light'] - else - if g:material_style == 'default' - return a:color['dark'] - else - return a:color[g:material_style] - endif - endif -endfunction - -" Neovim Terminal colors -if has("nvim") - let g:terminal_color_0 = s:gui(s:gui.background) - let g:terminal_color_1 = s:gui(s:gui.red) - let g:terminal_color_2 = s:gui(s:gui.green) - let g:terminal_color_3 = s:gui(s:gui.light_yellow) - let g:terminal_color_4 = s:gui(s:gui.blue) - let g:terminal_color_5 = s:gui(s:gui.pink) - let g:terminal_color_6 = s:gui(s:gui.light_teal) - let g:terminal_color_7 = s:gui(s:gui.pale_blue) - let g:terminal_color_8 = s:gui(s:gui.selection) - let g:terminal_color_9 = s:gui(s:gui.red) - let g:terminal_color_10 = s:gui(s:gui.green) - let g:terminal_color_11 = s:gui(s:gui.light_yellow) - let g:terminal_color_12 = s:gui(s:gui.cyan) - let g:terminal_color_13 = s:gui(s:gui.purple) - let g:terminal_color_14 = s:gui(s:gui.cyan) - let g:terminal_color_15 = s:gui(s:gui.foreground) -endif - -" Editor colors -call s:hi("ColorColumn", s:gui.none, s:gui.line, "", "", "") -call s:hi("Cursor", s:gui.yellow, "", "", "", "") -call s:hi("CursorColumn", s:gui.none, s:gui.line, "", "", "") -call s:hi("LineNr", s:gui.comment, "", "", "", "") -call s:hi("CursorLine", s:gui.none, s:gui.line, "", "", "") -call s:hi("CursorLineNr", s:gui.cyan, s:gui.line, "", "", "") -call s:hi("Directory", s:gui.blue, "", "", "", "") -call s:hi("FoldColumn", "", s:gui.background, "", "", "") -call s:hi("Folded", s:gui.comment, s:gui.line, "", "", "") -call s:hi("PMenu", s:gui.foreground, s:gui.line, "", "", "") -call s:hi("PMenuSel", s:gui.cyan, s:gui.selection, "", "", "bold") -call s:hi("ErrorMsg", s:gui.red, s:gui.none, "", "", "") -call s:hi("Error", s:gui.red, s:gui.none, "", "", "") -call s:hi("WarningMsg", s:gui.orange, "", "", "", "") -call s:hi("VertSplit", s:gui.background, s:gui.foreground, "", "", "") -call s:hi("Conceal", s:gui.comment, s:gui.background, "", "", "") - -call s:hi("DiffAdded", s:gui.green, "", "", "", "") -call s:hi("DiffRemoved", s:gui.red, "", "", "", "") - -call s:hi("DiffAdd", "", s:gui.teal, "", "", "") -call s:hi("DiffChange", "", s:gui.teal, "", "", "") -call s:hi("DiffDelete", s:gui.red, s:gui.background, "", "", "") -call s:hi("DiffText", "", s:gui.selection, "", "", "") - - -call s:hi("NonText", s:gui.comment, "", "", "", "") -call s:hi("helpExample", s:gui.blue, "", "", "", "") -call s:hi("MatchParen", "", s:gui.selection, "", "", "") -call s:hi("Title", s:gui.cyan, "", "", "", "") -call s:hi("Comment", s:gui.comment, "", "", "", "italic") -call s:hi("String", s:gui.green, "", "", "", "") -call s:hi("Normal", s:gui.foreground, s:gui.background, "", "", "") -call s:hi("Visual", "", s:gui.selection, "", "", "") -call s:hi("Constant", s:gui.pink, "", "", "", "") -call s:hi("Type", s:gui.yellow, "", "", "", "none") -call s:hi("Define", s:gui.cyan, "", "", "", "") -call s:hi("Statement", s:gui.cyan, "", "", "", "none") -call s:hi("Function", s:gui.blue, "", "", "", "") -call s:hi("Conditional", s:gui.cyan, "", "", "", "") -call s:hi("Float", s:gui.orange, "", "", "", "") -call s:hi("Noise", s:gui.cyan, "", "", "", "") -call s:hi("Number", s:gui.orange, "", "", "", "") -call s:hi("Identifier", s:gui.pink, "", "", "", "") -call s:hi("Operator", s:gui.cyan, "", "", "", "") -call s:hi("PreProc", s:gui.blue, "", "", "", "") -call s:hi("Search", s:gui.none, s:gui.none, "", "", "underline") -call s:hi("InSearch", s:gui.background, s:gui.foreground, "", "", "") -call s:hi("Todo", s:gui.red, s:gui.foreground, "", "", "reverse") -call s:hi("Special", s:gui.orange, "", "", "", "") - - -" Ruby colors -call s:hi("rubyClassName", s:gui.yellow, "", "", "", "bold") -call s:hi("rubyConstant", s:gui.yellow, "", "", "", "") -call s:hi("rubyKeywordAsMethod", s:gui.blue, "", "", "", "") -call s:hi("rubyOperator", s:gui.purple, "", "", "", "") -call s:hi("rubyPseudoVariable", s:gui.red, "", "", "", "italic") -call s:hi("rubySymbol", s:gui.orange, "", "", "", "") -call s:hi("rubySymbolDelimiter", s:gui.cyan, "", "", "", "") - -"eRuby colors -call s:hi("eRubyDelimiter", s:gui.cyan, "", "", "", "") - -" Elixir colors -call s:hi("elixirKeyword", s:gui.blue, "", "", "", "") - -" Javascript colors -" yajs -call s:hi("javascriptArrayMethod", s:gui.blue, "", "", "", "") -call s:hi("javascriptBlock", s:gui.cyan, "", "", "", "") -call s:hi("javascriptBraces", s:gui.cyan, "", "", "", "") -call s:hi("javascriptBrackets", s:gui.cyan, "", "", "", "") -call s:hi("javascriptClassName", s:gui.yellow, "", "", "", "bold") -call s:hi("javascriptClassSuperName", s:gui.yellow, "", "", "", "") -call s:hi("javascriptExport", s:gui.cyan, "", "", "", "") -call s:hi("javascriptFuncKeyword", s:gui.purple, "", "", "", "") -call s:hi("javascriptIdentifierName", s:gui.foreground, "", "", "", "") -call s:hi("javascriptLabel", s:gui.foreground, "", "", "", "") -call s:hi("javascriptMethod", s:gui.blue, "", "", "", "") -call s:hi("javascriptObjectLabel", s:gui.foreground, "", "", "", "") -call s:hi("javascriptObjectLabelColon", s:gui.cyan, "", "", "", "") -call s:hi("javascriptObjectMethodName", s:gui.blue, "", "", "", "") -call s:hi("javascriptOperator", s:gui.purple, "", "", "", "") -call s:hi("javascriptProperty", s:gui.cyan, "", "", "", "") -call s:hi("javascriptStringMethod", s:gui.blue, "", "", "", "") -call s:hi("javascriptVariable", s:gui.purple, "", "", "", "") - -" vim-javascript -call s:hi("jsArrowFuncArgs", s:gui.red, "", "", "", "") -call s:hi("jsArrowFunction", s:gui.purple, "", "", "", "") -call s:hi("jsBooleanFalse", s:gui.orange, "", "", "", "") -call s:hi("jsBooleanTrue", s:gui.orange, "", "", "", "") -call s:hi("jsClassBraces", s:gui.cyan, "", "", "", "") -call s:hi("jsClassDefinition", s:gui.yellow, "", "", "", "") -call s:hi("jsClassKeyword", s:gui.purple, "", "", "", "") -call s:hi("jsConditional", s:gui.cyan, "", "", "", "italic") -call s:hi("jsFuncArgs", s:gui.red, "", "", "", "") -call s:hi("jsFuncBraces", s:gui.cyan, "", "", "", "") -call s:hi("jsFuncCall", s:gui.blue, "", "", "", "") -call s:hi("jsFuncParens", s:gui.cyan, "", "", "", "") -call s:hi("jsFunction", s:gui.purple, "", "", "", "") -call s:hi("jsFunctionKey", s:gui.blue, "", "", "", "") -call s:hi("jsGlobalObjects", s:gui.yellow, "", "", "", "") -call s:hi("jsNoise", s:gui.cyan, "", "", "", "") -call s:hi("jsObjectKey", s:gui.foreground, "", "", "", "") -call s:hi("jsOperator", s:gui.purple, "", "", "", "") -call s:hi("jsParens", s:gui.cyan, "", "", "", "") -call s:hi("jsReturn", s:gui.cyan, "", "", "", "italic") -call s:hi("jsStorageClass", s:gui.purple, "", "", "", "") -call s:hi("jsThis", s:gui.red, "", "", "", "italic") - -" yats -call s:hi("typescriptAccessibilityModifier", s:gui.purple, "", "", "", "") -call s:hi("typescriptCall", s:gui.pink, "", "", "", "") -call s:hi("typescriptClassName", s:gui.yellow, "", "", "", "") -call s:hi("typescriptExport", s:gui.blue, "", "", "", "") -call s:hi("typescriptImport", s:gui.blue, "", "", "", "") -call s:hi("typescriptInterfaceName", s:gui.yellow, "", "", "", "") -call s:hi("typescriptPredefinedType", s:gui.pale_blue, "", "", "", "") -call s:hi("typescriptVariable", s:gui.purple, "", "", "", "") -call s:hi("typescriptOperator", s:gui.purple, "", "", "", "") - -" HTML colors -call s:hi("htmlTag", s:gui.cyan, "", "", "", "") -call s:hi("htmlEndTag", s:gui.cyan, "", "", "", "") -call s:hi("htmlTagName", s:gui.red, "", "", "", "") -call s:hi("htmlSpecialTagName", s:gui.red, "", "", "", "") -call s:hi("htmlArg", s:gui.yellow, "", "", "", "") - -" jsx colors -call s:hi("xmlTag", s:gui.cyan, "", "", "", "") -call s:hi("xmlEndTag", s:gui.cyan, "", "", "", "") -call s:hi("xmlTagName", s:gui.red, "", "", "", "") -call s:hi("xmlAttrib", s:gui.yellow, "", "", "", "") diff --git a/tasks/neovim.yml b/tasks/neovim.yml index 9658816..cf03e9e 100644 --- a/tasks/neovim.yml +++ b/tasks/neovim.yml @@ -62,11 +62,6 @@ path: '{{ xdg_data_dir }}/nvim/site/pack/default/start/coc.nvim' state: absent -- name: setup neovim color files - copy: - dest: '{{ xdg_data_dir }}/nvim/site/' - src: 'files/nvim/colors' - - name: setup neovim configuration files template: dest: '{{ item.dest }}' diff --git a/templates/nvim/lua/auto-commands.lua.j2 b/templates/nvim/lua/auto-commands.lua.j2 index bc6ef63..ee6b22c 100644 --- a/templates/nvim/lua/auto-commands.lua.j2 +++ b/templates/nvim/lua/auto-commands.lua.j2 @@ -1,13 +1,5 @@ -- {{ ansible_managed }} ---enable this option here as the events are used in this buffer -vim.cmd('syntax on') - -vim.api.nvim_create_autocmd('Syntax', { - command = [[:normal zR]], - desc = 'Open folds by default', -}) - vim.api.nvim_create_autocmd('Filetype', { pattern = 'TelescopeResults', command = [[:setlocal nofoldenable]], diff --git a/templates/nvim/lua/lsp.lua.j2 b/templates/nvim/lua/lsp.lua.j2 index a41af24..a5ce5de 100644 --- a/templates/nvim/lua/lsp.lua.j2 +++ b/templates/nvim/lua/lsp.lua.j2 @@ -6,29 +6,26 @@ local on_attach = function(client, bufnr) local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end - -- enable completion triggered by - buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc') - -- mappings - local opts = { buffer = bufnr, noremap = true, silent = true } - vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, opts) - vim.keymap.set('n', 'gd', vim.lsp.buf.definition, opts) - vim.keymap.set('n', 'K', vim.lsp.buf.hover, opts) - vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, opts) - vim.keymap.set('n', '', vim.lsp.buf.signature_help, opts) - vim.keymap.set('n', 'wa', vim.lsp.buf.add_workspace_folder, opts) - vim.keymap.set('n', 'wr', vim.lsp.buf.remove_workspace_folder, opts) - vim.keymap.set('n', 'wl', function() - print(vim.inspect(vim.lsp.buf.list_workspace_folders())) - end, opts) - vim.keymap.set('n', 'D', vim.lsp.buf.type_definition, opts) - vim.keymap.set('n', 'rn', vim.lsp.buf.rename, opts) - vim.keymap.set('n', 'gr', vim.lsp.buf.references, opts) - vim.keymap.set('n', 'e', vim.diagnostic.open_float, opts) - vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, opts) - vim.keymap.set('n', ']d', vim.diagnostic.goto_next, opts) - vim.keymap.set('n', 'q', vim.diagnostic.setloclist, opts) - vim.keymap.set('n', 'la', vim.lsp.buf.code_action, opts) + local opts = { buffer = bufnr, noremap = true, silent = true } + vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, opts) + vim.keymap.set('n', 'gd', vim.lsp.buf.definition, opts) + vim.keymap.set('n', 'K', vim.lsp.buf.hover, opts) + vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, opts) + vim.keymap.set('n', '', vim.lsp.buf.signature_help, opts) + vim.keymap.set('n', 'wa', vim.lsp.buf.add_workspace_folder, opts) + vim.keymap.set('n', 'wr', vim.lsp.buf.remove_workspace_folder, opts) + vim.keymap.set('n', 'wl', function() + print(vim.inspect(vim.lsp.buf.list_workspace_folders())) + end, opts) + vim.keymap.set('n', 'D', vim.lsp.buf.type_definition, opts) + vim.keymap.set('n', 'rn', vim.lsp.buf.rename, opts) + vim.keymap.set('n', 'gr', vim.lsp.buf.references, opts) + vim.keymap.set('n', 'e', vim.diagnostic.open_float, opts) + vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, opts) + vim.keymap.set('n', ']d', vim.diagnostic.goto_next, opts) + vim.keymap.set('n', 'q', vim.diagnostic.setloclist, opts) + vim.keymap.set('n', 'la', vim.lsp.buf.code_action, opts) end @@ -112,6 +109,15 @@ local luasnip = require('luasnip') cmp.setup({ sources = { { names = 'nvim_lsp', }, + { name = 'buffer' }, + { name = 'path' }, + { name = 'nvim_lua' }, + { + name = 'omni', + option = { + disable_omnifuncs = { 'v:lua.vim.lsp.omnifunc' } + } + }, { names = 'luasnip', }, -- TODO: add snippets }, diff --git a/templates/nvim/lua/options.lua.j2 b/templates/nvim/lua/options.lua.j2 index be4a259..3cf2b6d 100644 --- a/templates/nvim/lua/options.lua.j2 +++ b/templates/nvim/lua/options.lua.j2 @@ -20,7 +20,7 @@ vim.o.hidden = true -- folding vim.o.foldmethod = 'expr' -vim.o.foldexpr = 'nvim_treesitter#foldexpr()' +vim.o.foldexpr = 'v:lua.vim.treesitter.foldexpr()' -- don't open folds when jumping over one with (, {, [[ or [{ vim.opt.foldopen = vim.opt.foldopen - { 'block' } diff --git a/vars/main.yml b/vars/main.yml index f0f99e9..4e2f6f1 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -13,8 +13,12 @@ neovim_plugins: url: 'https://github.com/nvim-tree/nvim-web-devicons', name: 'nvim-tree-icons' } - { url: 'https://github.com/neovim/nvim-lspconfig', name: 'nvim-lspconfig' } - - { url: 'https://github.com/hrsh7th/nvim-cmp/', name: 'nvim-cmp' } - - { url: 'https://github.com/hrsh7th/cmp-nvim-lsp/', name: 'cmp-nvim-lsp' } + - { url: 'https://github.com/hrsh7th/nvim-cmp', name: 'nvim-cmp' } + - { url: 'https://github.com/hrsh7th/cmp-buffer', name: 'cmp-buffer' } + - { url: 'https://github.com/hrsh7th/cmp-path', name: 'cmp-path' } + - { url: 'https://github.com/hrsh7th/cmp-omni', name: 'cmp-omni' } + - { url: 'https://github.com/hrsh7th/cmp-nvim-lsp', name: 'cmp-nvim-lsp' } + - { url: 'https://github.com/hrsh7th/cmp-nvim-lua', name: 'cmp-nvim-lua' } - { url: 'https://github.com/nvim-treesitter/nvim-treesitter', name: 'nvim-treesitter' } - { url: 'https://github.com/nvim-lua/plenary.nvim', name: 'plenary.nvim' } - { From 8bd8ce698cd38293c73e49f53d8b63441d6ddbfa Mon Sep 17 00:00:00 2001 From: sonny Date: Fri, 11 Oct 2024 22:02:29 +0200 Subject: [PATCH 089/170] Set initial colorscheme on debian hosts --- templates/nvim/lua/colorscheme.lua.j2 | 33 ++++++++++++++++----------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/templates/nvim/lua/colorscheme.lua.j2 b/templates/nvim/lua/colorscheme.lua.j2 index f500a86..4cbea41 100644 --- a/templates/nvim/lua/colorscheme.lua.j2 +++ b/templates/nvim/lua/colorscheme.lua.j2 @@ -1,19 +1,26 @@ -- {{ ansible_managed }} --- set the colorscheme whenever the background setting changes -vim.api.nvim_create_autocmd({'OptionSet'}, { - pattern = {'background'}, - callback = function() - if vim.o.background == 'dark' then - vim.cmd('colorscheme github_dark_dimmed') - else - vim.cmd('colorscheme github_light') - end +local background_callback = function() + if vim.o.background == 'dark' then + vim.cmd('colorscheme github_dark_dimmed') + else + vim.cmd('colorscheme github_light') + end - -- force a full redraw: - vim.cmd('mode') - end -}) + -- force a full redraw: + vim.cmd('mode') +end + +-- set the colorscheme whenever the background setting changes +vim.api.nvim_create_autocmd( + { 'OptionSet' }, + { pattern = { 'background' }, callback = background_callback } +) + + +{% if ansible_facts['os_family'] == 'Debian' %} +background_callback() +{% endif %} {% if ansible_facts['os_family'] == 'Archlinux' %} --[[ From c775ba3fa5ed5c02132f099bac4ffd27d3450e93 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Mon, 11 Nov 2024 10:17:02 +0100 Subject: [PATCH 090/170] Update git forge setup --- archlinux.yml | 4 ++-- vars/main.yml | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/archlinux.yml b/archlinux.yml index 018d516..e951a69 100644 --- a/archlinux.yml +++ b/archlinux.yml @@ -6,14 +6,14 @@ name: '{{ item }}' state: present loop: '{{ packages }}' - - name: add gitlab to known hosts + - name: add git forge to known hosts include_role: name: common tasks_from: 'known_hosts.yml' vars: user: '{{ ansible_user_id }}' items: - - { domain: '{{ gitlab_domain }}', key: '{{ gitlab_host_key }}' } + - { domain: '{{ git_domain }}', key: '{{ git_host_key }}' } roles: - common tasks: diff --git a/vars/main.yml b/vars/main.yml index 4e2f6f1..3b8abeb 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -4,8 +4,8 @@ ansible_python_interpreter: '/usr/bin/env python' xdg_config_dir: '{{ ansible_env.HOME }}/.config' xdg_data_dir: '{{ ansible_env.HOME }}/.local/share' -dotfiles_repo: 'git@git.fudiggity.nl:sonny/dotfiles.git' -public_dotfiles_repo: 'git@git.fudiggity.nl:sonny/dotfiles.git' +dotfiles_repo: 'git@forgejo.fudiggity.nl:sonny/dotfiles.git' +public_dotfiles_repo: 'git@forgejo.fudiggity.nl:sonny/dotfiles.git' neovim_plugins: - { url: 'https://github.com/nvim-tree/nvim-tree.lua', name: 'nvim-tree' } @@ -48,5 +48,5 @@ neovim_plugins: version: 'v1.1.2', } -gitlab_domain: 'git.fudiggity.nl' -gitlab_host_key: 'git.fudiggity.nl ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINh/SlWqWmH2FG+duiJkkSpq0Fm+wUAmc//4/CbzbX5+' +git_domain: 'forgejo.fudiggity.nl' +git_host_key: 'forgejo.fudiggity.nl ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBqEej87ukSK7KGi7e0q+oTrru4h7Fm6fK8GgiMtu01+' From 5a346cf7ead63a0824c822918567a714e810e39e Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Mon, 25 Nov 2024 21:36:40 +0100 Subject: [PATCH 091/170] Update ruff lsp reference --- templates/nvim/lua/lsp.lua.j2 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/nvim/lua/lsp.lua.j2 b/templates/nvim/lua/lsp.lua.j2 index a5ce5de..77782d1 100644 --- a/templates/nvim/lua/lsp.lua.j2 +++ b/templates/nvim/lua/lsp.lua.j2 @@ -64,7 +64,7 @@ local python_root_dir = function(fname) util.path.dirname(fname) end -nvim_lsp.ruff_lsp.setup({ +nvim_lsp.ruff.setup({ on_attach = on_attach, capabilities = capabilities, root_dir = python_root_dir @@ -79,7 +79,7 @@ nvim_lsp.pylsp.setup({ pylsp = { plugins = { ruff = { - enabled = false -- now through ruff_lsp + enabled = false -- now through ruff lsp } } } From 903b70b59df823ee97186d4822480ed17cc6561b Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Mon, 25 Nov 2024 21:37:00 +0100 Subject: [PATCH 092/170] Open all folds by default --- templates/nvim/lua/options.lua.j2 | 1 + 1 file changed, 1 insertion(+) diff --git a/templates/nvim/lua/options.lua.j2 b/templates/nvim/lua/options.lua.j2 index 3cf2b6d..f04251f 100644 --- a/templates/nvim/lua/options.lua.j2 +++ b/templates/nvim/lua/options.lua.j2 @@ -20,6 +20,7 @@ vim.o.hidden = true -- folding vim.o.foldmethod = 'expr' +vim.o.foldlevel = 99 vim.o.foldexpr = 'v:lua.vim.treesitter.foldexpr()' -- don't open folds when jumping over one with (, {, [[ or [{ From 0fa06bdf394b8b294d711fe4855941261631979d Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Tue, 26 Nov 2024 09:51:12 +0100 Subject: [PATCH 093/170] Add missing bits for 5a346cf7ead63a0824c822918567a714e810e39e --- vars/archlinux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vars/archlinux.yml b/vars/archlinux.yml index 188113b..27640fb 100644 --- a/vars/archlinux.yml +++ b/vars/archlinux.yml @@ -81,7 +81,7 @@ language_servers: } - { package: ruff-lsp, - server_name: 'ruff_lsp', + server_name: 'ruff', auto_setup: false } - { From e737c4f44b5d48e01ac8fab8ffd11cbf2e731289 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Fri, 6 Dec 2024 15:51:13 +0100 Subject: [PATCH 094/170] Add keybinding to create files/directories --- templates/nvim/lua/nvim-tree.lua.j2 | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/templates/nvim/lua/nvim-tree.lua.j2 b/templates/nvim/lua/nvim-tree.lua.j2 index b29942b..a2bbfe7 100644 --- a/templates/nvim/lua/nvim-tree.lua.j2 +++ b/templates/nvim/lua/nvim-tree.lua.j2 @@ -11,17 +11,18 @@ local function my_on_attach(bufnr) end vim.keymap.set('n', '', api.tree.change_root_to_node, opts('CD')) - vim.keymap.set('n', '', api.tree.toggle_hidden_filter, opts('Toggle Filter: Dotfiles')) + vim.keymap.set('n', '', api.tree.toggle_hidden_filter, opts('Toggle filter: Dotfiles')) vim.keymap.set('n', '', api.node.open.edit, opts('Open')) vim.keymap.set('n', 'E', api.tree.expand_all, opts('Expand All')) - vim.keymap.set('n', 'F', api.live_filter.clear, opts('Live Filter: Clear')) - vim.keymap.set('n', 'f', api.live_filter.start, opts('Live Filter: Start')) + vim.keymap.set('n', 'F', api.live_filter.clear, opts('Live filter: Clear')) + vim.keymap.set('n', 'f', api.live_filter.start, opts('Live filter: Start')) vim.keymap.set('n', 'g?', api.tree.toggle_help, opts('Help')) - vim.keymap.set('n', 'I', api.tree.toggle_gitignore_filter, opts('Toggle Filter: Git Ignore')) - vim.keymap.set('n', 'm', api.marks.toggle, opts('Toggle Bookmark')) + vim.keymap.set('n', 'I', api.tree.toggle_gitignore_filter, opts('Toggle filter: Git Ignore')) + vim.keymap.set('n', 'm', api.marks.toggle, opts('Toggle bookmark')) vim.keymap.set('n', 'q', api.tree.close, opts('Close')) vim.keymap.set('n', 'R', api.tree.reload, opts('Refresh')) vim.keymap.set('n', 'S', api.tree.search_node, opts('Search')) + vim.keymap.set('n', 'a', api.fs.create, opts('Create file or directory')) end From f1196f4c42d382ab95c996e10c2472aad9478fe9 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Mon, 9 Dec 2024 20:38:36 +0100 Subject: [PATCH 095/170] Add source-link plugin --- tasks/neovim.yml | 6 ++++++ templates/nvim/init.lua.j2 | 1 + templates/nvim/lua/source-link.lua.j2 | 9 +++++++++ vars/main.yml | 1 + 4 files changed, 17 insertions(+) create mode 100644 templates/nvim/lua/source-link.lua.j2 diff --git a/tasks/neovim.yml b/tasks/neovim.yml index cf03e9e..3e7c323 100644 --- a/tasks/neovim.yml +++ b/tasks/neovim.yml @@ -160,6 +160,12 @@ src: 'templates/nvim/lua/colorscheme.lua.j2', dest: '{{ xdg_config_dir }}/nvim/lua/colorscheme.lua', } + - { + src: 'templates/nvim/lua/source-link.lua.j2', + dest: '{{ xdg_config_dir }}/nvim/lua/_source-link.lua', + } + + - block: - name: create neovim install directory diff --git a/templates/nvim/init.lua.j2 b/templates/nvim/init.lua.j2 index 61dfc38..74928fa 100644 --- a/templates/nvim/init.lua.j2 +++ b/templates/nvim/init.lua.j2 @@ -12,3 +12,4 @@ require('_telescope') require('indent-blankline') require('_nvim-tree') require('colorscheme') +require('_source-link') diff --git a/templates/nvim/lua/source-link.lua.j2 b/templates/nvim/lua/source-link.lua.j2 new file mode 100644 index 0000000..abbe9cc --- /dev/null +++ b/templates/nvim/lua/source-link.lua.j2 @@ -0,0 +1,9 @@ +-- {{ ansible_managed }} + +local source_link = require('source-link') + +source_link.setup() + +local opts = { noremap = true, silent = true } + +vim.api.nvim_set_keymap('n', '', ':SourceOpen', opts) diff --git a/vars/main.yml b/vars/main.yml index 3b8abeb..84b4e90 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -8,6 +8,7 @@ dotfiles_repo: 'git@forgejo.fudiggity.nl:sonny/dotfiles.git' public_dotfiles_repo: 'git@forgejo.fudiggity.nl:sonny/dotfiles.git' neovim_plugins: + - { url: 'https://forgejo.fudiggity.nl/sonny/source-link.lua', name: 'source-link' } - { url: 'https://github.com/nvim-tree/nvim-tree.lua', name: 'nvim-tree' } - { url: 'https://github.com/nvim-tree/nvim-web-devicons', name: 'nvim-tree-icons' From a5d9b86b3cf45317bfe10a2b5d0f94fe41da1285 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Fri, 27 Dec 2024 08:22:21 +0100 Subject: [PATCH 096/170] Add nvim-tree keybindings --- templates/nvim/lua/nvim-tree.lua.j2 | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/templates/nvim/lua/nvim-tree.lua.j2 b/templates/nvim/lua/nvim-tree.lua.j2 index a2bbfe7..904f72b 100644 --- a/templates/nvim/lua/nvim-tree.lua.j2 +++ b/templates/nvim/lua/nvim-tree.lua.j2 @@ -22,8 +22,9 @@ local function my_on_attach(bufnr) vim.keymap.set('n', 'q', api.tree.close, opts('Close')) vim.keymap.set('n', 'R', api.tree.reload, opts('Refresh')) vim.keymap.set('n', 'S', api.tree.search_node, opts('Search')) - vim.keymap.set('n', 'a', api.fs.create, opts('Create file or directory')) - + vim.keymap.set('n', 'a', api.fs.create, opts('Create a file')) + vim.keymap.set("n", "r", api.fs.rename, opts("Rename")) + vim.keymap.set('n', 'd', api.fs.remove, opts('Delete a file')) end nvim_tree.setup { From 3b448a85797c3368585e24d1df322aabc2b34698 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sat, 28 Dec 2024 12:06:56 +0100 Subject: [PATCH 097/170] Add uv to packages --- vars/archlinux.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/vars/archlinux.yml b/vars/archlinux.yml index 27640fb..c76329f 100644 --- a/vars/archlinux.yml +++ b/vars/archlinux.yml @@ -15,6 +15,7 @@ packages: - slirp4netns - tree-sitter - ripgrep + - uv aur_packages: - { From 763124e737b61dafa408575017d68d450e688d3e Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Fri, 3 Jan 2025 06:59:50 +0100 Subject: [PATCH 098/170] Focus on current file when toggling nvim-tree --- templates/nvim/lua/keybindings.lua.j2 | 3 +-- templates/nvim/lua/nvim-tree.lua.j2 | 12 ++++++++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/templates/nvim/lua/keybindings.lua.j2 b/templates/nvim/lua/keybindings.lua.j2 index 731135a..be7e754 100644 --- a/templates/nvim/lua/keybindings.lua.j2 +++ b/templates/nvim/lua/keybindings.lua.j2 @@ -1,8 +1,7 @@ -- {{ ansible_managed }} -local opts = {noremap=true, silent=true} +local opts = { noremap = true, silent = true } -vim.api.nvim_set_keymap('n', '', ':NvimTreeToggle', opts) vim.api.nvim_set_keymap('n', 'ff', 'lua require("telescope.builtin").find_files()', opts) vim.api.nvim_set_keymap('n', 'fg', 'lua require("telescope.builtin").live_grep()', opts) vim.api.nvim_set_keymap('n', 'fb', 'lua require("telescope.builtin").buffers()', opts) diff --git a/templates/nvim/lua/nvim-tree.lua.j2 b/templates/nvim/lua/nvim-tree.lua.j2 index 904f72b..d81328e 100644 --- a/templates/nvim/lua/nvim-tree.lua.j2 +++ b/templates/nvim/lua/nvim-tree.lua.j2 @@ -2,10 +2,18 @@ local nvim_tree = require('nvim-tree'); local nvim_tree_icons = require('nvim-web-devicons'); +local api = require('nvim-tree.api') + +local function toggle_tree() + api.tree.toggle({ find_file = true, update_root = true, focus = true }) +end + +vim.api.nvim_set_keymap( + 'n', '', '', + { noremap = true, silent = true, callback = toggle_tree } +) local function my_on_attach(bufnr) - local api = require('nvim-tree.api') - local function opts(desc) return { desc = 'nvim-tree: ' .. desc, buffer = bufnr, noremap = true, silent = true, nowait = true } end From a791f70f5f9949f76fa69cd23c1569efbf22b099 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Fri, 3 Jan 2025 07:30:43 +0100 Subject: [PATCH 099/170] Remove separate keybindings module --- tasks/neovim.yml | 4 ---- templates/nvim/init.lua.j2 | 1 - templates/nvim/lua/keybindings.lua.j2 | 12 ------------ templates/nvim/lua/telescope.lua.j2 | 14 +++++++++++++- 4 files changed, 13 insertions(+), 18 deletions(-) delete mode 100644 templates/nvim/lua/keybindings.lua.j2 diff --git a/tasks/neovim.yml b/tasks/neovim.yml index 3e7c323..36d771a 100644 --- a/tasks/neovim.yml +++ b/tasks/neovim.yml @@ -116,10 +116,6 @@ src: 'templates/nvim/lua/auto-commands.lua.j2', dest: '{{ xdg_config_dir }}/nvim/lua/auto-commands.lua', } - - { - src: 'templates/nvim/lua/keybindings.lua.j2', - dest: '{{ xdg_config_dir }}/nvim/lua/keybindings.lua', - } - { src: 'templates/nvim/lua/lsp.lua.j2', dest: '{{ xdg_config_dir }}/nvim/lua/lsp.lua', diff --git a/templates/nvim/init.lua.j2 b/templates/nvim/init.lua.j2 index 74928fa..c540171 100644 --- a/templates/nvim/init.lua.j2 +++ b/templates/nvim/init.lua.j2 @@ -3,7 +3,6 @@ require('options') require('lsp') require('nvim-cmp') -require('keybindings') require('auto-commands') require('tree-sitter') require('lua-line') diff --git a/templates/nvim/lua/keybindings.lua.j2 b/templates/nvim/lua/keybindings.lua.j2 deleted file mode 100644 index be7e754..0000000 --- a/templates/nvim/lua/keybindings.lua.j2 +++ /dev/null @@ -1,12 +0,0 @@ --- {{ ansible_managed }} - -local opts = { noremap = true, silent = true } - -vim.api.nvim_set_keymap('n', 'ff', 'lua require("telescope.builtin").find_files()', opts) -vim.api.nvim_set_keymap('n', 'fg', 'lua require("telescope.builtin").live_grep()', opts) -vim.api.nvim_set_keymap('n', 'fb', 'lua require("telescope.builtin").buffers()', opts) -vim.api.nvim_set_keymap('n', 'fh', 'lua require("telescope.builtin").help_tags()', opts) -vim.api.nvim_set_keymap('n', 'fj', 'lua require("telescope.builtin").jumplist()', opts) -vim.api.nvim_set_keymap('n', 'fl', 'lua require("telescope.builtin").loclist()', opts) -vim.api.nvim_set_keymap('n', 'fq', 'lua require("telescope.builtin").quickfix()', opts) -vim.api.nvim_set_keymap('n', 'fm', 'lua require("telescope.builtin").marks()', opts) diff --git a/templates/nvim/lua/telescope.lua.j2 b/templates/nvim/lua/telescope.lua.j2 index af27925..8e44027 100644 --- a/templates/nvim/lua/telescope.lua.j2 +++ b/templates/nvim/lua/telescope.lua.j2 @@ -1,6 +1,18 @@ -- {{ ansible_managed }} -local telescope = require('telescope'); +local telescope = require('telescope') +local builtin = require('telescope.builtin') + +local opts = { noremap = true, silent = true } + +vim.api.nvim_set_keymap('n', 'ff', '', { callback = builtin.find_files, unpack(opts) }) +vim.api.nvim_set_keymap('n', 'fg', '', { callback = builtin.live_grep, unpack(opts) }) +vim.api.nvim_set_keymap('n', 'fb', '', { callback = builtin.buffers, unpack(opts) }) +vim.api.nvim_set_keymap('n', 'fh', '', { callback = builtin.help_tags, unpack(opts) }) +vim.api.nvim_set_keymap('n', 'fj', '', { callback = builtin.jumplist, unpack(opts) }) +vim.api.nvim_set_keymap('n', 'fl', '', { callback = builtin.loclist, unpack(opts) }) +vim.api.nvim_set_keymap('n', 'fq', '', { callback = builtin.quickfix, unpack(opts) }) +vim.api.nvim_set_keymap('n', 'fm', '', { callback = builtin.marks, unpack(opts) }) telescope.setup({ defaults = { From 6f512112d8206adf07fde5efccb6ebb80885077b Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Fri, 3 Jan 2025 07:31:59 +0100 Subject: [PATCH 100/170] Remove unused functions --- templates/nvim/lua/lsp.lua.j2 | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/templates/nvim/lua/lsp.lua.j2 b/templates/nvim/lua/lsp.lua.j2 index 77782d1..37b3645 100644 --- a/templates/nvim/lua/lsp.lua.j2 +++ b/templates/nvim/lua/lsp.lua.j2 @@ -3,11 +3,8 @@ --use an on_attach function to only map the following keys --after the language server attaches to the current buffer local on_attach = function(client, bufnr) - local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end - local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end - - -- mappings local opts = { buffer = bufnr, noremap = true, silent = true } + vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, opts) vim.keymap.set('n', 'gd', vim.lsp.buf.definition, opts) vim.keymap.set('n', 'K', vim.lsp.buf.hover, opts) From 6115ca4be240d25335f6f638a37dde37ac21362b Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Fri, 3 Jan 2025 08:17:21 +0100 Subject: [PATCH 101/170] Replace `vim.api.nvim_set_keymap` with `vim.keymap.set` --- templates/nvim/lua/nvim-tree.lua.j2 | 5 +---- templates/nvim/lua/source-link.lua.j2 | 4 +--- templates/nvim/lua/telescope.lua.j2 | 16 ++++++++-------- 3 files changed, 10 insertions(+), 15 deletions(-) diff --git a/templates/nvim/lua/nvim-tree.lua.j2 b/templates/nvim/lua/nvim-tree.lua.j2 index d81328e..6715d70 100644 --- a/templates/nvim/lua/nvim-tree.lua.j2 +++ b/templates/nvim/lua/nvim-tree.lua.j2 @@ -8,10 +8,7 @@ local function toggle_tree() api.tree.toggle({ find_file = true, update_root = true, focus = true }) end -vim.api.nvim_set_keymap( - 'n', '', '', - { noremap = true, silent = true, callback = toggle_tree } -) +vim.keymap.set('n', '', toggle_tree, { noremap = true, silent = true }) local function my_on_attach(bufnr) local function opts(desc) diff --git a/templates/nvim/lua/source-link.lua.j2 b/templates/nvim/lua/source-link.lua.j2 index abbe9cc..8b7df92 100644 --- a/templates/nvim/lua/source-link.lua.j2 +++ b/templates/nvim/lua/source-link.lua.j2 @@ -4,6 +4,4 @@ local source_link = require('source-link') source_link.setup() -local opts = { noremap = true, silent = true } - -vim.api.nvim_set_keymap('n', '', ':SourceOpen', opts) +vim.keymap.set('n', '', ':SourceOpen', { noremap = true, silent = true }) diff --git a/templates/nvim/lua/telescope.lua.j2 b/templates/nvim/lua/telescope.lua.j2 index 8e44027..b74a42f 100644 --- a/templates/nvim/lua/telescope.lua.j2 +++ b/templates/nvim/lua/telescope.lua.j2 @@ -5,14 +5,14 @@ local builtin = require('telescope.builtin') local opts = { noremap = true, silent = true } -vim.api.nvim_set_keymap('n', 'ff', '', { callback = builtin.find_files, unpack(opts) }) -vim.api.nvim_set_keymap('n', 'fg', '', { callback = builtin.live_grep, unpack(opts) }) -vim.api.nvim_set_keymap('n', 'fb', '', { callback = builtin.buffers, unpack(opts) }) -vim.api.nvim_set_keymap('n', 'fh', '', { callback = builtin.help_tags, unpack(opts) }) -vim.api.nvim_set_keymap('n', 'fj', '', { callback = builtin.jumplist, unpack(opts) }) -vim.api.nvim_set_keymap('n', 'fl', '', { callback = builtin.loclist, unpack(opts) }) -vim.api.nvim_set_keymap('n', 'fq', '', { callback = builtin.quickfix, unpack(opts) }) -vim.api.nvim_set_keymap('n', 'fm', '', { callback = builtin.marks, unpack(opts) }) +vim.keymap.set('n', 'ff', builtin.find_files, opts) +vim.keymap.set('n', 'fg', builtin.live_grep, opts) +vim.keymap.set('n', 'fb', builtin.buffers, opts) +vim.keymap.set('n', 'fh', builtin.help_tags, opts) +vim.keymap.set('n', 'fj', builtin.jumplist, opts) +vim.keymap.set('n', 'fl', builtin.loclist, opts) +vim.keymap.set('n', 'fq', builtin.quickfix, opts) +vim.keymap.set('n', 'fm', builtin.marks, opts) telescope.setup({ defaults = { From f61a044c86e842c44b5e0ef77c0f32fefa6507d9 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Fri, 3 Jan 2025 20:00:01 +0100 Subject: [PATCH 102/170] Remove unused configuration files --- templates/nvim/init.lua.j2 | 2 -- templates/nvim/lua/auto-commands.lua.j2 | 6 ----- templates/nvim/lua/nvim-cmp.lua.j2 | 35 ------------------------- 3 files changed, 43 deletions(-) delete mode 100644 templates/nvim/lua/auto-commands.lua.j2 delete mode 100644 templates/nvim/lua/nvim-cmp.lua.j2 diff --git a/templates/nvim/init.lua.j2 b/templates/nvim/init.lua.j2 index c540171..0240adf 100644 --- a/templates/nvim/init.lua.j2 +++ b/templates/nvim/init.lua.j2 @@ -2,8 +2,6 @@ require('options') require('lsp') -require('nvim-cmp') -require('auto-commands') require('tree-sitter') require('lua-line') require('git-signs') diff --git a/templates/nvim/lua/auto-commands.lua.j2 b/templates/nvim/lua/auto-commands.lua.j2 deleted file mode 100644 index ee6b22c..0000000 --- a/templates/nvim/lua/auto-commands.lua.j2 +++ /dev/null @@ -1,6 +0,0 @@ --- {{ ansible_managed }} - -vim.api.nvim_create_autocmd('Filetype', { - pattern = 'TelescopeResults', - command = [[:setlocal nofoldenable]], -}) diff --git a/templates/nvim/lua/nvim-cmp.lua.j2 b/templates/nvim/lua/nvim-cmp.lua.j2 deleted file mode 100644 index b013475..0000000 --- a/templates/nvim/lua/nvim-cmp.lua.j2 +++ /dev/null @@ -1,35 +0,0 @@ --- {{ ansible_managed }} - -local cmp = require('cmp') - -cmp.setup { - mapping = { - [''] = cmp.mapping.select_prev_item(), - [''] = cmp.mapping.select_next_item(), - [''] = cmp.mapping.scroll_docs(-4), - [''] = cmp.mapping.scroll_docs(4), - [''] = cmp.mapping.complete(), - [''] = cmp.mapping.close(), - [''] = cmp.mapping.confirm { - behavior = cmp.ConfirmBehavior.Replace, - select = true, - }, - [''] = function(fallback) - if cmp.visible() then - cmp.select_next_item() - else - fallback() - end - end, - [''] = function(fallback) - if cmp.visible() then - cmp.select_prev_item() - else - fallback() - end - end, - }, - sources = { - { name = 'nvim_lsp' }, - }, -} From 9183c29751283022c3eca5bd6204568a57eaa4f1 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Fri, 3 Jan 2025 20:00:58 +0100 Subject: [PATCH 103/170] Remove old statubar setup & install python-lsp-server globablly --- templates/nvim/lua/options.lua.j2 | 6 +----- vars/archlinux.yml | 6 ++++++ 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/templates/nvim/lua/options.lua.j2 b/templates/nvim/lua/options.lua.j2 index f04251f..36bbe52 100644 --- a/templates/nvim/lua/options.lua.j2 +++ b/templates/nvim/lua/options.lua.j2 @@ -51,13 +51,9 @@ vim.o.cursorline = true -- theme related vim.o.termguicolors = true --- enable statusbar -vim.o.laststatus = 2 -vim.o.statusline = ' %F %m%r%w %= %{hostname()} %{strlen(&ft)?&ft:"none"} %{(&bomb?",BOM":"")} %{&ff} %l/%L %c %P' - -- use a dedicated file explorer vim.g.loaded_netrw = 1 vim.g.loaded_netrwPlugin = 1 -- python interpreter -vim.g.python3_host_prog = './env/bin/python' +vim.g.python3_host_prog = '/usr/bin/python3' diff --git a/vars/archlinux.yml b/vars/archlinux.yml index c76329f..410a5de 100644 --- a/vars/archlinux.yml +++ b/vars/archlinux.yml @@ -6,6 +6,7 @@ packages: - git - vim - neovim + - python-pynvim - wl-clipboard - npm - docker @@ -90,6 +91,11 @@ language_servers: server_name: 'pyright', auto_setup: false } + - { + package: python-lsp-server, + server_name: 'pylsp', + auto_setup: false + } python_download_url: 'https://www.python.org/ftp/python' python_versions: From b663f3bb2034480995cfc82e61e5e1f24d574de1 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Fri, 3 Jan 2025 20:03:34 +0100 Subject: [PATCH 104/170] Remove previously removed files --- tasks/neovim.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/tasks/neovim.yml b/tasks/neovim.yml index 36d771a..3779c71 100644 --- a/tasks/neovim.yml +++ b/tasks/neovim.yml @@ -112,18 +112,10 @@ dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/yaml.lua', } - { src: 'templates/nvim/init.lua.j2', dest: '{{ xdg_config_dir }}/nvim/init.lua' } - - { - src: 'templates/nvim/lua/auto-commands.lua.j2', - dest: '{{ xdg_config_dir }}/nvim/lua/auto-commands.lua', - } - { src: 'templates/nvim/lua/lsp.lua.j2', dest: '{{ xdg_config_dir }}/nvim/lua/lsp.lua', } - - { - src: 'templates/nvim/lua/nvim-cmp.lua.j2', - dest: '{{ xdg_config_dir }}/nvim/lua/nvim-cmp.lua', - } - { src: 'templates/nvim/lua/options.lua.j2', dest: '{{ xdg_config_dir }}/nvim/lua/options.lua', From d300288799efb30cbaff5bb0067c1046b03128a5 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Fri, 3 Jan 2025 21:18:05 +0100 Subject: [PATCH 105/170] Add nvim-cmp mappings --- templates/nvim/lua/lsp.lua.j2 | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/templates/nvim/lua/lsp.lua.j2 b/templates/nvim/lua/lsp.lua.j2 index 37b3645..541535f 100644 --- a/templates/nvim/lua/lsp.lua.j2 +++ b/templates/nvim/lua/lsp.lua.j2 @@ -120,12 +120,23 @@ cmp.setup({ formatting = { format = function(entry, vim_item) - vim_item.menu = string.format('[%s]', entry.source.source.client.name) + if entry.source.name == 'nvim_lsp' then + vim_item.menu = entry.source.source.client.name + end + return vim_item end, }, mapping = cmp.mapping.preset.insert({ + [''] = cmp.mapping.scroll_docs(-4), + [''] = cmp.mapping.scroll_docs(4), + [''] = cmp.mapping.complete(), + [''] = cmp.mapping.close(), + [''] = cmp.mapping.confirm { + behavior = cmp.ConfirmBehavior.Replace, + select = true, + }, [''] = cmp.mapping(function(fallback) if cmp.visible() then cmp.select_next_item() From f45918c93d88b5860ae5d048cd108337a1346522 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Fri, 3 Jan 2025 21:30:49 +0100 Subject: [PATCH 106/170] Remove python-lsp-server setup --- templates/nvim/lua/lsp.lua.j2 | 16 ---------------- vars/archlinux.yml | 7 ------- 2 files changed, 23 deletions(-) diff --git a/templates/nvim/lua/lsp.lua.j2 b/templates/nvim/lua/lsp.lua.j2 index 541535f..679f983 100644 --- a/templates/nvim/lua/lsp.lua.j2 +++ b/templates/nvim/lua/lsp.lua.j2 @@ -68,22 +68,6 @@ nvim_lsp.ruff.setup({ }) -nvim_lsp.pylsp.setup({ - on_attach = on_attach, - capabilities = capabilities, - cmd = { 'pylsp', '--verbose' }, - settings = { - pylsp = { - plugins = { - ruff = { - enabled = false -- now through ruff lsp - } - } - } - }, - root_dir = python_root_dir -}) - nvim_lsp.pyright.setup({ settings = { pyright = { diff --git a/vars/archlinux.yml b/vars/archlinux.yml index 410a5de..56ae648 100644 --- a/vars/archlinux.yml +++ b/vars/archlinux.yml @@ -38,8 +38,6 @@ aur_build_dir: '/usr/local/src' python_build_dir: '/usr/local/src' python_install_dir: '/opt' -# Note that the "python-lsp-server" and "neovim" python -# packages should be installed to the corresponding virtualenv as well. language_servers: - { package: ansible-language-server, @@ -91,11 +89,6 @@ language_servers: server_name: 'pyright', auto_setup: false } - - { - package: python-lsp-server, - server_name: 'pylsp', - auto_setup: false - } python_download_url: 'https://www.python.org/ftp/python' python_versions: From a3353cc601c781eedce3cac318fcace6d062d448 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Fri, 3 Jan 2025 21:31:15 +0100 Subject: [PATCH 107/170] Show diagnostics source --- templates/nvim/lua/lsp.lua.j2 | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/templates/nvim/lua/lsp.lua.j2 b/templates/nvim/lua/lsp.lua.j2 index 679f983..df5144e 100644 --- a/templates/nvim/lua/lsp.lua.j2 +++ b/templates/nvim/lua/lsp.lua.j2 @@ -147,3 +147,10 @@ cmp.setup({ end, }, }) + +vim.diagnostic.config({ + float = { + source = 'always', + border = border + }, +}) From 2bbf7655c93a348c9042adbacc30c4643c8c29d9 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Fri, 3 Jan 2025 21:40:38 +0100 Subject: [PATCH 108/170] Use fallback for displaying completion source --- templates/nvim/lua/lsp.lua.j2 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/templates/nvim/lua/lsp.lua.j2 b/templates/nvim/lua/lsp.lua.j2 index df5144e..92fbca2 100644 --- a/templates/nvim/lua/lsp.lua.j2 +++ b/templates/nvim/lua/lsp.lua.j2 @@ -105,7 +105,9 @@ cmp.setup({ formatting = { format = function(entry, vim_item) if entry.source.name == 'nvim_lsp' then - vim_item.menu = entry.source.source.client.name + vim_item.menu = string.format('[%s]', entry.source.source.client.name) + else + vim_item.menu = string.format('[%s]', entry.source.name) end return vim_item From 52e30d61d18bd902850475487a176f641be54124 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Fri, 3 Jan 2025 21:44:11 +0100 Subject: [PATCH 109/170] Fix nvim-cmp sources --- templates/nvim/lua/lsp.lua.j2 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/nvim/lua/lsp.lua.j2 b/templates/nvim/lua/lsp.lua.j2 index 92fbca2..a90237a 100644 --- a/templates/nvim/lua/lsp.lua.j2 +++ b/templates/nvim/lua/lsp.lua.j2 @@ -89,7 +89,7 @@ local luasnip = require('luasnip') cmp.setup({ sources = { - { names = 'nvim_lsp', }, + { name = 'nvim_lsp', }, { name = 'buffer' }, { name = 'path' }, { name = 'nvim_lua' }, @@ -99,7 +99,7 @@ cmp.setup({ disable_omnifuncs = { 'v:lua.vim.lsp.omnifunc' } } }, - { names = 'luasnip', }, -- TODO: add snippets + { name = 'luasnip', }, -- TODO: add snippets }, formatting = { From 0113a9c143ca08aa89a759332c42dafc03996cf9 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Tue, 7 Jan 2025 19:48:19 +0100 Subject: [PATCH 110/170] Add language servers for structured text formats --- vars/archlinux.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/vars/archlinux.yml b/vars/archlinux.yml index 56ae648..7bbc6e9 100644 --- a/vars/archlinux.yml +++ b/vars/archlinux.yml @@ -89,6 +89,16 @@ language_servers: server_name: 'pyright', auto_setup: false } + - { + package: marksman, + server_name: 'marksman', + auto_setup: true + } + - { + package: esbonio, + server_name: 'esbonio', + auto_setup: true + } python_download_url: 'https://www.python.org/ftp/python' python_versions: From ad47adabd0634eb88b1741adcf10669b9ce96a3b Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sun, 19 Jan 2025 21:46:42 +0100 Subject: [PATCH 111/170] Move tmux configuration file path --- tasks/dotfiles.yml | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/tasks/dotfiles.yml b/tasks/dotfiles.yml index 3cf84f3..92dbf59 100644 --- a/tasks/dotfiles.yml +++ b/tasks/dotfiles.yml @@ -15,10 +15,21 @@ update: yes when: dotfile_ssh_clone.failed -- name: create git configuration directory - file: - path: '{{ xdg_config_dir }}/git' +- name: Create xdg configuration directories + ansible.builtin.file: + path: '{{ item }}' state: directory + mode: '644' + loop: + - '{{ xdg_config_dir }}/git' + - '{{ xdg_config_dir }}/tmux' + +- name: Remove previous dotfiles + ansible.builtin.file: + path: '{{ item }}' + state: absent + loop: + - '{{ ansible_env.HOME }}/.tmux.conf' - name: setup dotfiles file: @@ -41,7 +52,7 @@ } - { src: '{{ ansible_env.HOME }}/dotfiles/.tmux.conf', - dest: '{{ ansible_env.HOME }}/.tmux.conf', + dest: '{{ xdg_config_dir }}/tmux/tmux.conf', } - { src: '{{ ansible_env.HOME }}/dotfiles/.gitignore', From f9a3f5f8bf790841a08b9c15aa818c3a44f5f598 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Mon, 20 Jan 2025 08:48:58 +0100 Subject: [PATCH 112/170] Fix file permissions --- tasks/dotfiles.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/dotfiles.yml b/tasks/dotfiles.yml index 92dbf59..39759ad 100644 --- a/tasks/dotfiles.yml +++ b/tasks/dotfiles.yml @@ -19,7 +19,7 @@ ansible.builtin.file: path: '{{ item }}' state: directory - mode: '644' + mode: '744' loop: - '{{ xdg_config_dir }}/git' - '{{ xdg_config_dir }}/tmux' From 3b9e414e17d6d229cb390af1bcb3c16cc5774ec7 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Thu, 6 Feb 2025 21:02:09 +0100 Subject: [PATCH 113/170] Fix publicly available repo URL --- vars/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vars/main.yml b/vars/main.yml index 84b4e90..ed85251 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -5,7 +5,7 @@ xdg_config_dir: '{{ ansible_env.HOME }}/.config' xdg_data_dir: '{{ ansible_env.HOME }}/.local/share' dotfiles_repo: 'git@forgejo.fudiggity.nl:sonny/dotfiles.git' -public_dotfiles_repo: 'git@forgejo.fudiggity.nl:sonny/dotfiles.git' +public_dotfiles_repo: 'https://forgejo.fudiggity.nl/sonny/dotfiles.git' neovim_plugins: - { url: 'https://forgejo.fudiggity.nl/sonny/source-link.lua', name: 'source-link' } From c2bbe6cf4a5568c4078f391944e1db4de320575f Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Thu, 6 Feb 2025 21:02:42 +0100 Subject: [PATCH 114/170] Set colorscheme early This allows propery theming for lualine & nvim-tree --- templates/nvim/init.lua.j2 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/nvim/init.lua.j2 b/templates/nvim/init.lua.j2 index 0240adf..d12f92b 100644 --- a/templates/nvim/init.lua.j2 +++ b/templates/nvim/init.lua.j2 @@ -1,12 +1,12 @@ -- {{ ansible_managed }} require('options') +require('colorscheme') require('lsp') require('tree-sitter') -require('lua-line') require('git-signs') require('_telescope') require('indent-blankline') require('_nvim-tree') -require('colorscheme') +require('lua-line') require('_source-link') From eb14a601fb2498ea98fc51ba0511cdf3d0443a89 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Fri, 7 Feb 2025 09:51:22 +0100 Subject: [PATCH 115/170] Add more tree-sitter parsers --- templates/nvim/lua/tree-sitter.lua.j2 | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/templates/nvim/lua/tree-sitter.lua.j2 b/templates/nvim/lua/tree-sitter.lua.j2 index 50a0fdc..d1730ad 100644 --- a/templates/nvim/lua/tree-sitter.lua.j2 +++ b/templates/nvim/lua/tree-sitter.lua.j2 @@ -7,8 +7,10 @@ local tree_sitter_config = require('nvim-treesitter.configs') tree_sitter_config.setup { ensure_installed = { - 'lua', 'yaml', 'bash', 'python', 'javascript', 'css', 'scss', 'html', - 'htmldjango', 'json', 'dockerfile', 'markdown', + 'lua', 'yaml', 'bash', 'python', 'javascript', 'typescript', 'css', 'scss', + 'html', 'htmldjango', 'sql', 'json', 'dockerfile', 'markdown', 'rst', 'tmux', + 'xml', 'toml', 'editorconfig', 'diff', 'gitcommit', 'git_config', 'gitignore', + 'gitattributes', 'make', 'nginx', 'vim', 'vimdoc', 'passwd', 'regex' }, auto_install = true, highlight = { From 5aa08aef39dee438ddc3f58fd2e8d98185ebcd6f Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Tue, 11 Feb 2025 09:10:52 +0100 Subject: [PATCH 116/170] Enable formatting on save Requires `ENABLE_FORMATTING` to be set --- templates/nvim/lua/lsp.lua.j2 | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/templates/nvim/lua/lsp.lua.j2 b/templates/nvim/lua/lsp.lua.j2 index a90237a..ad3fbbd 100644 --- a/templates/nvim/lua/lsp.lua.j2 +++ b/templates/nvim/lua/lsp.lua.j2 @@ -156,3 +156,28 @@ vim.diagnostic.config({ border = border }, }) + +local enable_formatting = os.getenv("ENABLE_FORMATTING", False) + +-- format buffers before saving for specific LSPs +if (enable_formatting) then + local excluded_clients = { 'pyright' } + + vim.api.nvim_create_autocmd('LspAttach', { + group = vim.api.nvim_create_augroup('lsp', { clear = true }), + callback = function(args) + vim.api.nvim_create_autocmd('BufWritePre', { + buffer = args.buf, + callback = function() + vim.lsp.buf.format { + filter = function(client) + return not vim.list_contains(excluded_clients, client.name) + end, + async = false, + id = args.data.client_id + } + end, + }) + end + }) +end From 199f40b0ea3215b6435747766ef3d0d8229ed81f Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Thu, 13 Feb 2025 20:49:49 +0100 Subject: [PATCH 117/170] Add ansible filetype detection Based on https://github.com/ansible/vscode-ansible/commit/86eea3d6846b66506cd3be1d10a68a6615453ce0 --- archlinux.yml | 2 + tasks/neovim.yml | 277 ++++++++++++++--------------- templates/nvim/init.lua.j2 | 2 + templates/nvim/lua/filetype.lua.j2 | 40 +++++ 4 files changed, 176 insertions(+), 145 deletions(-) create mode 100644 templates/nvim/lua/filetype.lua.j2 diff --git a/archlinux.yml b/archlinux.yml index e951a69..722ff76 100644 --- a/archlinux.yml +++ b/archlinux.yml @@ -24,9 +24,11 @@ manager: pacman - import_tasks: 'tasks/aur.yml' - import_tasks: 'tasks/docker.yml' + - name: setup python versions include_tasks: 'tasks/python.yml' loop: '{{ python_versions }}' + - import_tasks: 'tasks/nvm.yml' vars_files: - 'vars/main.yml' diff --git a/tasks/neovim.yml b/tasks/neovim.yml index 3779c71..b1b1e9d 100644 --- a/tasks/neovim.yml +++ b/tasks/neovim.yml @@ -1,7 +1,8 @@ -- name: ensure neovim configuration directories exist - file: +- name: Ensure neovim configuration directories exist + ansible.builtin.file: path: '{{ item }}' state: directory + mode: '0755' loop: - '{{ xdg_config_dir }}/nvim/' - '{{ xdg_config_dir }}/nvim/lua' @@ -12,8 +13,8 @@ - '{{ xdg_data_dir }}/nvim/site/pack/default' - '{{ xdg_data_dir }}/nvim/site/pack/default/start' -- name: remove old neovim packages - file: +- name: Remove old neovim packages + ansible.builtin.file: path: '{{ item }}' state: absent loop: @@ -21,185 +22,171 @@ - '{{ xdg_data_dir }}/nvim/site/pack/default/start/vim-colors-xcode' # Note that helptags may need to be regenerated (see `:h helptags`) -- name: clone neovim packages - git: +- name: Clone neovim packages + ansible.builtin.git: repo: '{{ item.url }}' dest: '{{ xdg_data_dir }}/nvim/site/pack/default/start/{{ item.name }}' update: true - version: '{{ item.version|default("HEAD") }}' + version: '{{ item.version | default("HEAD") }}' force: true # some maintainers overwrite existing tags :/ loop: '{{ neovim_plugins }}' -- name: install neovim node package +- name: Install neovim node package become: true - npm: + community.general.npm: name: neovim global: true -- name: install language servers +- name: Install language servers become: true - package: + ansible.builtin.package: name: '{{ item }}' state: present loop: '{{ language_servers | map(attribute="package") | list }}' when: ansible_facts['os_family'] == 'Archlinux' -- name: install language servers on debian hosts +- name: Install language servers on debian hosts become: true - npm: + community.general.npm: name: '{{ item }}' global: true loop: '{{ language_servers | map(attribute="package") | list }}' when: ansible_facts['os_family'] == 'Debian' -- name: remove old neovim configuration file - file: +- name: Remove old neovim configuration file + ansible.builtin.file: path: '{{ xdg_config_dir }}/nvim/init.vim' state: absent -- name: remove coc.nvim extension - file: +- name: Remove coc.nvim extension + ansible.builtin.file: path: '{{ xdg_data_dir }}/nvim/site/pack/default/start/coc.nvim' state: absent -- name: setup neovim configuration files - template: +- name: Setup neovim configuration files + ansible.builtin.template: dest: '{{ item.dest }}' src: '{{ item.src }}' + mode: '0755' loop: - - { - src: 'templates/nvim/ftplugin/bash.lua.j2', - dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/bash.lua', - } - - { - src: 'templates/nvim/ftplugin/css.lua.j2', - dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/css.lua', - } - - { - src: 'templates/nvim/ftplugin/html.lua.j2', - dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/html.lua', - } - - { - src: 'templates/nvim/ftplugin/htmldjango.lua.j2', - dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/htmldjango.lua', - } - - { - src: 'templates/nvim/ftplugin/javascript.lua.j2', - dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/javascript.lua', - } - - { - src: 'templates/nvim/ftplugin/json.lua.j2', - dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/json.lua', - } - - { - src: 'templates/nvim/ftplugin/lua.lua.j2', - dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/lua.lua', - } - - { - src: 'templates/nvim/ftplugin/python.lua.j2', - dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/python.lua', - } - - { - src: 'templates/nvim/ftplugin/scss.lua.j2', - dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/scss.lua', - } - - { - src: 'templates/nvim/ftplugin/sh.lua.j2', - dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/sh.lua', - } - - { - src: 'templates/nvim/ftplugin/yaml.lua.j2', - dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/yaml.lua', - } - - { src: 'templates/nvim/init.lua.j2', dest: '{{ xdg_config_dir }}/nvim/init.lua' } - - { - src: 'templates/nvim/lua/lsp.lua.j2', - dest: '{{ xdg_config_dir }}/nvim/lua/lsp.lua', - } - - { - src: 'templates/nvim/lua/options.lua.j2', - dest: '{{ xdg_config_dir }}/nvim/lua/options.lua', - } - - { - src: 'templates/nvim/lua/tree-sitter.lua.j2', - dest: '{{ xdg_config_dir }}/nvim/lua/tree-sitter.lua', - } - - { - src: 'templates/nvim/lua/git-signs.lua.j2', - dest: '{{ xdg_config_dir }}/nvim/lua/git-signs.lua', - } - - { - src: 'templates/nvim/lua/lua-line.lua.j2', - dest: '{{ xdg_config_dir }}/nvim/lua/lua-line.lua', - } - - { - src: 'templates/nvim/lua/telescope.lua.j2', - dest: '{{ xdg_config_dir }}/nvim/lua/_telescope.lua', - } - - { - src: 'templates/nvim/lua/indent-blankline.lua.j2', - dest: '{{ xdg_config_dir }}/nvim/lua/indent-blankline.lua', - } - - { - src: 'templates/nvim/lua/nvim-tree.lua.j2', - dest: '{{ xdg_config_dir }}/nvim/lua/_nvim-tree.lua', - } - - { - src: 'templates/nvim/lua/colorscheme.lua.j2', - dest: '{{ xdg_config_dir }}/nvim/lua/colorscheme.lua', - } - - { - src: 'templates/nvim/lua/source-link.lua.j2', - dest: '{{ xdg_config_dir }}/nvim/lua/_source-link.lua', - } + - src: 'templates/nvim/ftplugin/bash.lua.j2' + dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/bash.lua' + - src: 'templates/nvim/ftplugin/css.lua.j2' + dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/css.lua' + - src: 'templates/nvim/ftplugin/html.lua.j2' + dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/html.lua' + - src: 'templates/nvim/ftplugin/htmldjango.lua.j2' + dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/htmldjango.lua' -- block: - - name: create neovim install directory - become: true - file: - state: directory - path: '{{ neovim.install_path }}' - owner: '{{ ansible_user_id }}' - group: '{{ ansible_user_gid }}' + - src: 'templates/nvim/ftplugin/javascript.lua.j2' + dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/javascript.lua' - - name: register the current neovim version - command: - argv: - - '{{ neovim.install_path }}/bin/nvim' - - '--version' - register: neovim_stats - ignore_errors: true + - src: 'templates/nvim/ftplugin/json.lua.j2' + dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/json.lua' - - name: parse the current neovim version - set_fact: - neovim_installed_version: neovim_stats.stdout_lines[0] | regex_search('(v\d+\.\d+\.\d+)') - when: neovim_stats.rc == 0 + - src: 'templates/nvim/ftplugin/lua.lua.j2' + dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/lua.lua' - # TODO: verify checksum - - name: download neovim {{ neovim.version }} - get_url: - url: 'https://github.com/neovim/neovim/releases/download/{{ neovim.version }}/nvim-linux64.tar.gz' - dest: /tmp/nvim-linux64.tar.gz - when: neovim_stats.rc > 0 or neovim_installed_version != neovim.version - register: neovim_download + - src: 'templates/nvim/ftplugin/python.lua.j2' + dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/python.lua' - - name: extract downloaded neovim version - unarchive: - src: /tmp/nvim-linux64.tar.gz - dest: '{{ neovim.install_path }}' - extra_opts: - - '--strip-components=1' - - '--show-stored-names' - - '--overwrite' - when: neovim_download.state == 'file' and - (neovim_installed_version is undefined or neovim_installed_version != neovim.version) + - src: 'templates/nvim/ftplugin/scss.lua.j2' + dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/scss.lua' - - name: add neovim to PATH - become: true - template: - src: 'templates/nvim.profile.j2' - dest: '/etc/profile.d/neovim.sh' + - src: 'templates/nvim/ftplugin/sh.lua.j2' + dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/sh.lua' + - src: 'templates/nvim/ftplugin/yaml.lua.j2' + dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/yaml.lua' + + - src: 'templates/nvim/init.lua.j2' + dest: '{{ xdg_config_dir }}/nvim/init.lua' + + - src: 'templates/nvim/lua/lsp.lua.j2' + dest: '{{ xdg_config_dir }}/nvim/lua/lsp.lua' + + - src: 'templates/nvim/lua/options.lua.j2' + dest: '{{ xdg_config_dir }}/nvim/lua/options.lua' + + - src: 'templates/nvim/lua/tree-sitter.lua.j2' + dest: '{{ xdg_config_dir }}/nvim/lua/tree-sitter.lua' + + - src: 'templates/nvim/lua/git-signs.lua.j2' + dest: '{{ xdg_config_dir }}/nvim/lua/git-signs.lua' + + - src: 'templates/nvim/lua/lua-line.lua.j2' + dest: '{{ xdg_config_dir }}/nvim/lua/lua-line.lua' + + - src: 'templates/nvim/lua/telescope.lua.j2' + dest: '{{ xdg_config_dir }}/nvim/lua/_telescope.lua' + + - src: 'templates/nvim/lua/indent-blankline.lua.j2' + dest: '{{ xdg_config_dir }}/nvim/lua/indent-blankline.lua' + + - src: 'templates/nvim/lua/nvim-tree.lua.j2' + dest: '{{ xdg_config_dir }}/nvim/lua/_nvim-tree.lua' + + - src: 'templates/nvim/lua/colorscheme.lua.j2' + dest: '{{ xdg_config_dir }}/nvim/lua/colorscheme.lua' + + - src: 'templates/nvim/lua/source-link.lua.j2' + dest: '{{ xdg_config_dir }}/nvim/lua/_source-link.lua' + + - src: 'templates/nvim/lua/filetype.lua.j2' + dest: '{{ xdg_config_dir }}/nvim/lua/_filetype.lua' + +- name: Install neovim from archive when: ansible_facts['os_family'] == 'Debian' + block: + - name: Create neovim install directory + become: true + ansible.builtin.file: + state: directory + path: '{{ neovim.install_path }}' + owner: '{{ ansible_user_id }}' + group: '{{ ansible_user_gid }}' + mode: '0755' + + - name: Register the current neovim version + ansible.builtin.command: + argv: + - '{{ neovim.install_path }}/bin/nvim' + - '--version' + register: neovim_stats + changed_when: false + ignore_errors: true + + - name: Parse the current neovim version + ansible.builtin.set_fact: + neovim_installed_version: neovim_stats.stdout_lines[0] | regex_search('(v\d+\.\d+\.\d+)') + when: neovim_stats.rc == 0 + + # TODO: verify checksum + - name: Download neovim {{ neovim.version }} + ansible.builtin.get_url: + url: 'https://github.com/neovim/neovim/releases/download/{{ neovim.version }}/nvim-linux64.tar.gz' + dest: /tmp/nvim-linux64.tar.gz + mode: '0755' + when: neovim_stats.rc > 0 or neovim_installed_version != neovim.version + register: neovim_download + + - name: Extract downloaded neovim version + ansible.builtin.unarchive: + src: /tmp/nvim-linux64.tar.gz + dest: '{{ neovim.install_path }}' + extra_opts: + - '--strip-components=1' + - '--show-stored-names' + - '--overwrite' + when: | + neovim_download.state == 'file' + and (neovim_installed_version is undefined or neovim_installed_version != neovim.version) + + - name: Add neovim to PATH + become: true + ansible.builtin.template: + src: 'templates/nvim.profile.j2' + dest: '/etc/profile.d/neovim.sh' + mode: '0755' diff --git a/templates/nvim/init.lua.j2 b/templates/nvim/init.lua.j2 index d12f92b..84788ee 100644 --- a/templates/nvim/init.lua.j2 +++ b/templates/nvim/init.lua.j2 @@ -1,6 +1,8 @@ -- {{ ansible_managed }} +-- TODO: load environment vars from .env files require('options') +require('_filetype') require('colorscheme') require('lsp') require('tree-sitter') diff --git a/templates/nvim/lua/filetype.lua.j2 b/templates/nvim/lua/filetype.lua.j2 new file mode 100644 index 0000000..f117509 --- /dev/null +++ b/templates/nvim/lua/filetype.lua.j2 @@ -0,0 +1,40 @@ +local ansible_keywords = { + 'hosts', + 'tasks', + 'vars', + 'vars_files', + 'vars_prompt', + 'handlers', + 'roles', + 'import_tasks', + 'import_playbook', + 'import_role', +} + +vim.filetype.add { + pattern = { + ['playbook*.y(a?)ml'] = 'yaml.ansible', + ['site*.y(a?)ml'] = 'yaml.ansible', + ['inventory*.y(a?)ml'] = 'yaml.ansible', + ['task*.y(a?)ml'] = 'yaml.ansible', + ['requirement*.y(a?)ml'] = 'yaml.ansible', + + + ['.*/tasks/.*.y(a?)ml'] = 'yaml.ansible', + ['.*/vars/.*.y(a?)ml'] = 'yaml.ansible', + ['.*/playbooks/.*.y(a?)ml'] = 'yaml.ansible', + + ['*.ansible.y(a?)ml'] = 'yaml.ansible', + + ['.*.y(a?)ml'] = { + function(path, bufnr) + local content = vim.api.nvim_buf_get_lines(bufnr, 0, 1, false)[1] or '' + + for _, keyword in pairs(ansible_keywords) do + local pattern = string.format('^- %s:', keyword) + if content:match(pattern) then return 'yaml.ansible' end + end + end, + }, + }, +} From 3ca4225f7ccd2689682a28b24d9df2375a50162b Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Thu, 13 Feb 2025 20:50:07 +0100 Subject: [PATCH 118/170] Provision python 3.12 --- templates/nvim/lua/lsp.lua.j2 | 1 + templates/nvim/lua/lua-line.lua.j2 | 1 + vars/archlinux.yml | 1 + 3 files changed, 3 insertions(+) diff --git a/templates/nvim/lua/lsp.lua.j2 b/templates/nvim/lua/lsp.lua.j2 index ad3fbbd..ec1b85b 100644 --- a/templates/nvim/lua/lsp.lua.j2 +++ b/templates/nvim/lua/lsp.lua.j2 @@ -159,6 +159,7 @@ vim.diagnostic.config({ local enable_formatting = os.getenv("ENABLE_FORMATTING", False) +-- TODO: fix error message: [LSP] Format request failed, no matching language servers. -- format buffers before saving for specific LSPs if (enable_formatting) then local excluded_clients = { 'pyright' } diff --git a/templates/nvim/lua/lua-line.lua.j2 b/templates/nvim/lua/lua-line.lua.j2 index 5821a00..43f10c9 100644 --- a/templates/nvim/lua/lua-line.lua.j2 +++ b/templates/nvim/lua/lua-line.lua.j2 @@ -2,6 +2,7 @@ local lualine = require('lualine'); +-- TODO: show attached LSP count lualine.setup { sections = { lualine_a = {'mode'}, diff --git a/vars/archlinux.yml b/vars/archlinux.yml index 7bbc6e9..8361533 100644 --- a/vars/archlinux.yml +++ b/vars/archlinux.yml @@ -102,6 +102,7 @@ language_servers: python_download_url: 'https://www.python.org/ftp/python' python_versions: + - { version: 3.12.9, path: 'python3.12', binary: 'python3.12' } - { version: 3.11.9, path: 'python3.11', binary: 'python3.11' } - { version: 3.10.0, path: 'python3.10', binary: 'python3.10' } - { version: 3.9.14, path: 'python3.9', binary: 'python3.9' } From c2c6f53075da4da4b9871fd28460dbcd77730b6b Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Thu, 13 Feb 2025 21:11:15 +0100 Subject: [PATCH 119/170] Remove docker rootless setup --- tasks/aur.yml | 8 ------ tasks/docker.yml | 68 +++++++++++++++++++++++++++++++--------------- vars/archlinux.yml | 8 +----- 3 files changed, 47 insertions(+), 37 deletions(-) diff --git a/tasks/aur.yml b/tasks/aur.yml index 6dd8c75..0ae28e6 100644 --- a/tasks/aur.yml +++ b/tasks/aur.yml @@ -24,11 +24,3 @@ - name: build & install aur packages include_tasks: 'tasks/aur-package.yml' loop: '{{ aur_packages }}' - -- name: enable docker socket - systemd: - name: docker.socket - state: restarted - enabled: true - scope: user - daemon_reload: true diff --git a/tasks/docker.yml b/tasks/docker.yml index c0b35ca..2f0c938 100644 --- a/tasks/docker.yml +++ b/tasks/docker.yml @@ -1,39 +1,63 @@ -- name: copy docker mapping files +- name: Remove docker mapping files become: true - template: - src: '{{ item.src }}' - dest: '{{ item.dest }}' + ansible.builtin.file: + path: '{{ item }}' + state: absent loop: - - { src: 'templates/subgid.j2', dest: '/etc/subgid' } - - { src: 'templates/subuid.j2', dest: '/etc/subuid' } + - /etc/subgid + - /etc/subuid -- name: setup desktop configuration - copy: - src: 'files/docker-daemon.json' - dest: '{{ xdg_config_dir }}/docker/daemon.json' +- name: Setup desktop configuration + ansible.builtin.file: + path: 'files/docker-daemon.json' + dest: '/etc/docker/daemon.json' + mode: '0755' when: ansible_hostname == 'desktop' -- name: check for .bashrc.override - stat: +- name: Remove user setup desktop configuration + ansible.builtin.file: + path: '{{ xdg_config_dir }}/docker/daemon.json' + state: absent + when: ansible_hostname == 'desktop' + +- name: Check for .bashrc.override + ansible.builtin.stat: path: '{{ ansible_env.HOME }}/.bashrc.override' register: bashrc_override -- name: create .bashrc.override - file: +- name: Create .bashrc.override + ansible.builtin.file: path: '{{ ansible_env.HOME }}/.bashrc.override' state: touch + mode: '0755' when: not bashrc_override.stat.exists -- name: ensure correct DOCKER_HOST is set - lineinfile: +- name: Remove rootless DOCKER_HOST variable assignment + ansible.builtin.lineinfile: path: '{{ ansible_env.HOME }}/.bashrc.override' regexp: '^export DOCKER_HOST=' - line: 'export DOCKER_HOST=unix:///run/user/{{ ansible_user_uid }}/docker.sock' + line: '' -- name: enable docker socket - systemd: - name: docker.socket - state: restarted - enabled: true +- name: Disable user docker socket + ansible.builtin.systemd: + name: '{{ item }}' + state: stopped + enabled: false scope: user daemon_reload: true + loop: + - docker.socket + - docker.service + +- name: Remove docker rootless package + become: true + ansible.builtin.package: + name: docker-rootless-extras + state: absent + +- name: Enable system docker socket + become: true + ansible.builtin.systemd: + name: docker.socket + state: started + enabled: true diff --git a/vars/archlinux.yml b/vars/archlinux.yml index 8361533..bd77dfc 100644 --- a/vars/archlinux.yml +++ b/vars/archlinux.yml @@ -11,6 +11,7 @@ packages: - npm - docker - docker-compose + - iptables-nft - fuse-overlayfs - ttf-ibm-plex - slirp4netns @@ -19,13 +20,6 @@ packages: - uv aur_packages: - - { - url: 'https://aur.archlinux.org/docker-rootless-extras.git', - name: 'docker-rootless', - package_name: 'docker-rootless-extras', - version: '27.1.2-1', - arch: 'x86_64', - } - { url: 'https://aur.archlinux.org/nvm.git', name: 'nvm', From 030f8877346744949abaaee5f27e4772cb2535bb Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Thu, 13 Feb 2025 21:16:54 +0100 Subject: [PATCH 120/170] Add missing become statement --- tasks/docker.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/tasks/docker.yml b/tasks/docker.yml index 2f0c938..cb468f7 100644 --- a/tasks/docker.yml +++ b/tasks/docker.yml @@ -8,6 +8,7 @@ - /etc/subuid - name: Setup desktop configuration + become: true ansible.builtin.file: path: 'files/docker-daemon.json' dest: '/etc/docker/daemon.json' From a351ad691bd00314959c96fdfc323b7f968daf10 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Thu, 13 Feb 2025 21:25:49 +0100 Subject: [PATCH 121/170] Check lsp client capabilties before formatting --- archlinux.yml | 6 +++++- templates/nvim/lua/lsp.lua.j2 | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/archlinux.yml b/archlinux.yml index 722ff76..109d1a8 100644 --- a/archlinux.yml +++ b/archlinux.yml @@ -18,7 +18,11 @@ - common tasks: - import_tasks: 'tasks/dotfiles.yml' - - import_tasks: 'tasks/neovim.yml' + + - name: Include neovim tasks + import_tasks: 'tasks/neovim.yml' + tags: neovim + - name: gather package facts package_facts: manager: pacman diff --git a/templates/nvim/lua/lsp.lua.j2 b/templates/nvim/lua/lsp.lua.j2 index ec1b85b..9d719ea 100644 --- a/templates/nvim/lua/lsp.lua.j2 +++ b/templates/nvim/lua/lsp.lua.j2 @@ -159,7 +159,6 @@ vim.diagnostic.config({ local enable_formatting = os.getenv("ENABLE_FORMATTING", False) --- TODO: fix error message: [LSP] Format request failed, no matching language servers. -- format buffers before saving for specific LSPs if (enable_formatting) then local excluded_clients = { 'pyright' } @@ -172,6 +171,7 @@ if (enable_formatting) then callback = function() vim.lsp.buf.format { filter = function(client) + if not client.supports_method('textDocument/formatting') then return end return not vim.list_contains(excluded_clients, client.name) end, async = false, From ee344af9f5836b640f8cd6d956378fc53c293f20 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Thu, 13 Feb 2025 22:05:49 +0100 Subject: [PATCH 122/170] Show current attached LSP count --- templates/nvim/lua/lua-line.lua.j2 | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/templates/nvim/lua/lua-line.lua.j2 b/templates/nvim/lua/lua-line.lua.j2 index 43f10c9..abec89d 100644 --- a/templates/nvim/lua/lua-line.lua.j2 +++ b/templates/nvim/lua/lua-line.lua.j2 @@ -2,11 +2,17 @@ local lualine = require('lualine'); --- TODO: show attached LSP count +local function active_lsps() + local buffer = vim.api.nvim_get_current_buf() + local client_count = #vim.lsp.get_clients({ buffer = buffer }) + + return ('LSP: %d'):format(client_count) +end + lualine.setup { sections = { lualine_a = {'mode'}, - lualine_b = {'branch', 'diff', 'diagnostics'}, + lualine_b = {'branch', 'diff', 'diagnostics', active_lsps }, lualine_c = { { 'filename', From 5d15147130a796615455d8c5a35d40ed1411a0c7 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Fri, 14 Feb 2025 09:28:41 +0100 Subject: [PATCH 123/170] Attach yamlls to yaml.ansible filetypes & show diagnostic source similiar to lsp source --- templates/nvim/lua/lsp.lua.j2 | 32 ++++--- vars/archlinux.yml | 154 ++++++++++++++++++---------------- vars/debian.yml | 26 +++--- 3 files changed, 110 insertions(+), 102 deletions(-) diff --git a/templates/nvim/lua/lsp.lua.j2 b/templates/nvim/lua/lsp.lua.j2 index 9d719ea..c86d9d7 100644 --- a/templates/nvim/lua/lsp.lua.j2 +++ b/templates/nvim/lua/lsp.lua.j2 @@ -29,7 +29,6 @@ end --enable some language servers with the additional completion capabilities --offered by nvim-cmp --- TODO: use `.join`? local servers = { {% for item in language_servers %} {% if item.auto_setup and not loop.last %} @@ -61,33 +60,39 @@ local python_root_dir = function(fname) util.path.dirname(fname) end -nvim_lsp.ruff.setup({ +nvim_lsp.ruff.setup { on_attach = on_attach, capabilities = capabilities, root_dir = python_root_dir -}) +} -nvim_lsp.pyright.setup({ +nvim_lsp.pyright.setup { settings = { pyright = { -- Using Ruff's import organizer disableOrganizeImports = true, }, }, -}) +} -nvim_lsp.html.setup({ +nvim_lsp.html.setup { on_attach = on_attach, capabilities = capabilities, filetypes = { 'html', 'htmldjango' }, -}) +} {% endif %} +nvim_lsp.yamlls.setup { + on_attach = on_attach, + capabilities = capabilities, + filetypes = { 'yaml', 'yaml.ansible', 'yaml.docker-compose', 'yaml.gitlab' } +} + local cmp = require('cmp') local luasnip = require('luasnip') -cmp.setup({ +cmp.setup { sources = { { name = 'nvim_lsp', }, { name = 'buffer' }, @@ -148,14 +153,15 @@ cmp.setup({ luasnip.lsp_expand(args.body) end, }, -}) +} -vim.diagnostic.config({ +vim.diagnostic.config { float = { - source = 'always', - border = border + suffix = function(diagnostic) + return (' %s | [%s]'):format(diagnostic.code, diagnostic.source) + end }, -}) +} local enable_formatting = os.getenv("ENABLE_FORMATTING", False) diff --git a/vars/archlinux.yml b/vars/archlinux.yml index bd77dfc..74d162d 100644 --- a/vars/archlinux.yml +++ b/vars/archlinux.yml @@ -20,86 +20,92 @@ packages: - uv aur_packages: - - { - url: 'https://aur.archlinux.org/nvm.git', - name: 'nvm', - package_name: 'nvm', - version: '0.40.0-1', - arch: 'any', - } + - url: 'https://aur.archlinux.org/nvm.git' + name: 'nvm' + package_name: 'nvm' + version: '0.40.0-1' + arch: 'any' aur_build_dir: '/usr/local/src' python_build_dir: '/usr/local/src' python_install_dir: '/opt' language_servers: - - { - package: ansible-language-server, - server_name: 'ansiblels', - auto_setup: true - } - - { - package: yaml-language-server, - server_name: 'yamlls', - auto_setup: true - } - - { - package: typescript-language-server, - server_name: 'ts_ls', - auto_setup: true - } - - { - package: vscode-html-languageserver, - server_name: 'html', - auto_setup: false - } - - { - package: vscode-json-languageserver, - server_name: 'jsonls', - auto_setup: true - } - - { - package: vscode-css-languageserver, - server_name: 'cssls', - auto_setup: true - } - - { - package: bash-language-server, - server_name: 'bashls', - auto_setup: true - } - - { - package: lua-language-server, - server_name: 'lua_ls', - auto_setup: true - } - - { - package: ruff-lsp, - server_name: 'ruff', - auto_setup: false - } - - { - package: pyright, - server_name: 'pyright', - auto_setup: false - } - - { - package: marksman, - server_name: 'marksman', - auto_setup: true - } - - { - package: esbonio, - server_name: 'esbonio', - auto_setup: true - } + - package: ansible-language-server + server_name: 'ansiblels' + auto_setup: true + + - package: typescript-language-server + server_name: 'ts_ls' + auto_setup: true + + - package: vscode-json-languageserver + server_name: 'jsonls' + auto_setup: true + + - package: vscode-css-languageserver + server_name: 'cssls' + auto_setup: true + + - package: bash-language-server + server_name: 'bashls' + auto_setup: true + + - package: marksman + server_name: 'marksman' + auto_setup: true + + - package: esbonio + server_name: 'esbonio' + auto_setup: true + + - package: lua-language-server + server_name: 'lua_ls' + auto_setup: true + + - package: yaml-language-server + server_name: 'yamlls' + auto_setup: false + + - package: vscode-html-languageserver + server_name: 'html' + auto_setup: false + + - package: ruff-lsp + server_name: 'ruff' + auto_setup: false + + - package: pyright + server_name: 'pyright' + auto_setup: false + python_download_url: 'https://www.python.org/ftp/python' python_versions: - - { version: 3.12.9, path: 'python3.12', binary: 'python3.12' } - - { version: 3.11.9, path: 'python3.11', binary: 'python3.11' } - - { version: 3.10.0, path: 'python3.10', binary: 'python3.10' } - - { version: 3.9.14, path: 'python3.9', binary: 'python3.9' } - - { version: 3.8.14, path: 'python3.8', binary: 'python3.8' } - - { version: 3.7.14, path: 'python3.7', binary: 'python3.7' } - - { version: 3.6.15, path: 'python3.6', binary: 'python3.6' } + - version: 3.12.9 + path: 'python3.12' + binary: 'python3.12' + + - version: 3.11.9 + path: 'python3.11' + binary: 'python3.11' + + - version: 3.10.0 + path: 'python3.10' + binary: 'python3.10' + + - version: 3.9.14 + path: 'python3.9' + binary: 'python3.9' + + - version: 3.8.14 + path: 'python3.8' + binary: 'python3.8' + + - version: 3.7.14 + path: 'python3.7' + binary: 'python3.7' + + - version: 3.6.15 + path: 'python3.6' + binary: 'python3.6' diff --git a/vars/debian.yml b/vars/debian.yml index 2b3d914..5c39383 100644 --- a/vars/debian.yml +++ b/vars/debian.yml @@ -16,18 +16,14 @@ neovim: # TODO: add lua language server, see https://github.com/LuaLS/lua-language-server? language_servers: - - { - package: '@ansible/ansible-language-server', - server_name: 'ansiblels', - auto_setup: true - } - - { - package: yaml-language-server, - server_name: 'yamlls', - auto_setup: true - } - - { - package: bash-language-server, - server_name: 'bashls', - auto_setup: true - } + - package: '@ansible/ansible-language-server' + server_name: 'ansiblels' + auto_setup: true + + - package: yaml-language-server + server_name: 'yamlls' + auto_setup: false + + - package: bash-language-server + server_name: 'bashls' + auto_setup: true From 7d974f5115403f4467d7767790e651db3d741d47 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Fri, 14 Feb 2025 10:26:10 +0100 Subject: [PATCH 124/170] Use correct buffer argument --- templates/nvim/lua/lua-line.lua.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/nvim/lua/lua-line.lua.j2 b/templates/nvim/lua/lua-line.lua.j2 index abec89d..4b3369f 100644 --- a/templates/nvim/lua/lua-line.lua.j2 +++ b/templates/nvim/lua/lua-line.lua.j2 @@ -4,7 +4,7 @@ local lualine = require('lualine'); local function active_lsps() local buffer = vim.api.nvim_get_current_buf() - local client_count = #vim.lsp.get_clients({ buffer = buffer }) + local client_count = #vim.lsp.get_clients({ bufnr = buffer }) return ('LSP: %d'):format(client_count) end From cf129ad7f6f97fcb0e2dce9522b77a5cfea437f6 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Fri, 14 Feb 2025 20:42:35 +0100 Subject: [PATCH 125/170] Show first found LSP in lualine --- templates/nvim/lua/lua-line.lua.j2 | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/templates/nvim/lua/lua-line.lua.j2 b/templates/nvim/lua/lua-line.lua.j2 index 4b3369f..6e0f94f 100644 --- a/templates/nvim/lua/lua-line.lua.j2 +++ b/templates/nvim/lua/lua-line.lua.j2 @@ -4,9 +4,13 @@ local lualine = require('lualine'); local function active_lsps() local buffer = vim.api.nvim_get_current_buf() - local client_count = #vim.lsp.get_clients({ bufnr = buffer }) + local attached_clients = vim.lsp.get_clients({ bufnr = buffer }) - return ('LSP: %d'):format(client_count) + if #attached_clients == 0 then return 'LSP: 0' end + + local preview_client = attached_clients[1] + + return ('LSP: %s (%d)'):format(preview_client.name, #attached_clients) end lualine.setup { From bd146ae1d80d327d483706f976c3f59ad1dbb919 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Fri, 14 Feb 2025 21:02:21 +0100 Subject: [PATCH 126/170] Reuse gitsigns information --- templates/nvim/lua/lua-line.lua.j2 | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/templates/nvim/lua/lua-line.lua.j2 b/templates/nvim/lua/lua-line.lua.j2 index 6e0f94f..e271750 100644 --- a/templates/nvim/lua/lua-line.lua.j2 +++ b/templates/nvim/lua/lua-line.lua.j2 @@ -13,10 +13,26 @@ local function active_lsps() return ('LSP: %s (%d)'):format(preview_client.name, #attached_clients) end +local function diff_source() + local gitsigns = vim.b.gitsigns_status_dict + if gitsigns then + return { + added = gitsigns.added, + modified = gitsigns.changed, + removed = gitsigns.removed + } + end +end + lualine.setup { sections = { lualine_a = {'mode'}, - lualine_b = {'branch', 'diff', 'diagnostics', active_lsps }, + lualine_b = { + {'b:gitsigns_head', icon = 'î‚ '}, + {'diff', source = diff_source}, + 'diagnostics', + active_lsps + }, lualine_c = { { 'filename', From cbddfba5eeb668c8307ad7eafd4284121d6193f0 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Fri, 14 Feb 2025 21:18:58 +0100 Subject: [PATCH 127/170] Ignore docker user scope errors --- tasks/docker.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tasks/docker.yml b/tasks/docker.yml index cb468f7..bd7ad77 100644 --- a/tasks/docker.yml +++ b/tasks/docker.yml @@ -46,6 +46,8 @@ enabled: false scope: user daemon_reload: true + register: disable_stats + ignore_errors: true # TODO: add better error handling loop: - docker.socket - docker.service From 0bf40c8972690c494cb4ff35ba8d79ffff3803a9 Mon Sep 17 00:00:00 2001 From: sonny Date: Sat, 15 Feb 2025 09:10:26 +0100 Subject: [PATCH 128/170] Update neovim version & use checksum to verify downloads --- tasks/neovim.yml | 4 ++-- vars/debian.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tasks/neovim.yml b/tasks/neovim.yml index b1b1e9d..21a3fbf 100644 --- a/tasks/neovim.yml +++ b/tasks/neovim.yml @@ -163,12 +163,12 @@ neovim_installed_version: neovim_stats.stdout_lines[0] | regex_search('(v\d+\.\d+\.\d+)') when: neovim_stats.rc == 0 - # TODO: verify checksum - name: Download neovim {{ neovim.version }} ansible.builtin.get_url: - url: 'https://github.com/neovim/neovim/releases/download/{{ neovim.version }}/nvim-linux64.tar.gz' + url: 'https://github.com/neovim/neovim/releases/download/{{ neovim.version }}/nvim-linux-x86_64.tar.gz' dest: /tmp/nvim-linux64.tar.gz mode: '0755' + checksum: '{{ neovim.download_checksum }}' when: neovim_stats.rc > 0 or neovim_installed_version != neovim.version register: neovim_download diff --git a/vars/debian.yml b/vars/debian.yml index 5c39383..cb7c8a3 100644 --- a/vars/debian.yml +++ b/vars/debian.yml @@ -10,9 +10,9 @@ packages: - ripgrep neovim: - version: 'v0.10.1' + version: 'v0.10.4' install_path: '/opt/nvim' - download_checksum: 4867de01a17f6083f902f8aa5215b40b0ed3a36e83cc0293de3f11708f1f9793 + download_checksum: sha256:95aaa8e89473f5421114f2787c13ae0ec6e11ebbd1a13a1bd6fcf63420f8073f # TODO: add lua language server, see https://github.com/LuaLS/lua-language-server? language_servers: From 0f0a5e592b521405d485ebd5f9a88230823d8f54 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Thu, 20 Feb 2025 22:16:04 +0100 Subject: [PATCH 129/170] Enable snippet completion for certain lsp's --- templates/nvim/lua/lsp.lua.j2 | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/templates/nvim/lua/lsp.lua.j2 b/templates/nvim/lua/lsp.lua.j2 index c86d9d7..0f8e4d5 100644 --- a/templates/nvim/lua/lsp.lua.j2 +++ b/templates/nvim/lua/lsp.lua.j2 @@ -76,12 +76,25 @@ nvim_lsp.pyright.setup { }, } +local snippet_capabilities = vim.deepcopy(capabilities); +snippet_capabilities.textDocument.completion.completionItem.snippetSupport = true + nvim_lsp.html.setup { on_attach = on_attach, - capabilities = capabilities, + capabilities = snippet_capabilities, filetypes = { 'html', 'htmldjango' }, } +nvim_lsp.cssls.setup { + on_attach = on_attach, + capabilities = snippet_capabilities, +} + +nvim_lsp.jsonls.setup { + on_attach = on_attach, + capabilities = snippet_capabilities, +} + {% endif %} nvim_lsp.yamlls.setup { on_attach = on_attach, From f7eb8dc56d272e28378acd73f68133a0e66da88f Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sat, 22 Feb 2025 20:37:35 +0100 Subject: [PATCH 130/170] Apply lsp client filtering before filter callback --- templates/nvim/lua/lsp.lua.j2 | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/templates/nvim/lua/lsp.lua.j2 b/templates/nvim/lua/lsp.lua.j2 index 0f8e4d5..b76afc8 100644 --- a/templates/nvim/lua/lsp.lua.j2 +++ b/templates/nvim/lua/lsp.lua.j2 @@ -176,7 +176,7 @@ vim.diagnostic.config { }, } -local enable_formatting = os.getenv("ENABLE_FORMATTING", False) +local enable_formatting = os.getenv("ENABLE_FORMATTING") -- format buffers before saving for specific LSPs if (enable_formatting) then @@ -188,10 +188,29 @@ if (enable_formatting) then vim.api.nvim_create_autocmd('BufWritePre', { buffer = args.buf, callback = function() + local formatting_clients = vim.lsp.get_clients { + bufnr = args.buf, + method = 'textDocument/formatting' + } + + local filtered_clients = {} + + for _, client in pairs(formatting_clients) do + if vim.list_contains(excluded_clients, client.name) then + goto skip + end + + table.insert(filtered_clients, client.name) + ::skip:: + end + + if #filtered_clients == 0 then + return + end + vim.lsp.buf.format { filter = function(client) - if not client.supports_method('textDocument/formatting') then return end - return not vim.list_contains(excluded_clients, client.name) + return vim.list_contains(filtered_clients, client.name) end, async = false, id = args.data.client_id From 755493d155154266f6dcaf74675812476f2257e7 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sat, 15 Mar 2025 16:57:00 +0100 Subject: [PATCH 131/170] Group vars refactor --- .gitlab-ci.yml | 26 ---- .prettierrc.yml | 5 - ansible.cfg | 1 + archlinux.yml | 39 ------ debian.yml | 14 --- files/{ => desktop}/docker-daemon.json | 0 group_vars/all/git.yml | 4 + group_vars/all/neovim.yml | 46 ++++++++ group_vars/all/system.yml | 4 + group_vars/arch/aur.yml | 40 +++++++ group_vars/arch/neovim.yml | 48 ++++++++ group_vars/arch/system.yml | 17 +++ .../debian/neovim.yml | 21 +--- group_vars/debian/system.yml | 7 ++ inventory.yml | 22 ++++ package-lock.json | 33 ------ package.json | 5 - playbook.yml | 72 ++++++++++++ tasks/{ => arch}/aur-package.yml | 21 ++-- tasks/{ => arch}/aur.yml | 16 +-- tasks/{ => arch}/docker.yml | 2 +- tasks/arch/neovim.yml | 6 + tasks/{ => arch}/nvm.yml | 11 +- tasks/{ => arch}/python.yml | 0 tasks/debian/neovim.yml | 57 +++++++++ tasks/neovim.yml | 70 ----------- templates/{ => debian}/nvim.profile.j2 | 0 templates/subgid.j2 | 1 - templates/subuid.j2 | 1 - vars/archlinux.yml | 111 ------------------ vars/main.yml | 53 --------- 31 files changed, 355 insertions(+), 398 deletions(-) delete mode 100644 .gitlab-ci.yml delete mode 100644 .prettierrc.yml delete mode 100644 archlinux.yml delete mode 100644 debian.yml rename files/{ => desktop}/docker-daemon.json (100%) create mode 100644 group_vars/all/git.yml create mode 100644 group_vars/all/neovim.yml create mode 100644 group_vars/all/system.yml create mode 100644 group_vars/arch/aur.yml create mode 100644 group_vars/arch/neovim.yml create mode 100644 group_vars/arch/system.yml rename vars/debian.yml => group_vars/debian/neovim.yml (77%) create mode 100644 group_vars/debian/system.yml create mode 100644 inventory.yml delete mode 100644 package-lock.json delete mode 100644 package.json create mode 100644 playbook.yml rename tasks/{ => arch}/aur-package.yml (68%) rename tasks/{ => arch}/aur.yml (61%) rename tasks/{ => arch}/docker.yml (97%) create mode 100644 tasks/arch/neovim.yml rename tasks/{ => arch}/nvm.yml (56%) rename tasks/{ => arch}/python.yml (100%) create mode 100644 tasks/debian/neovim.yml rename templates/{ => debian}/nvim.profile.j2 (100%) delete mode 100644 templates/subgid.j2 delete mode 100644 templates/subuid.j2 delete mode 100644 vars/archlinux.yml delete mode 100644 vars/main.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml deleted file mode 100644 index b53fdba..0000000 --- a/.gitlab-ci.yml +++ /dev/null @@ -1,26 +0,0 @@ -stages: - - lint - - test - -cache: - key: $CI_COMMIT_REF_SLUG - paths: - - .cache/pip - - node_modules/ - -lint: - stage: lint - image: node:current-alpine - before_script: - - npm install - script: - - npx prettier '**/*.yml' --check - -syntax-test: - stage: test - image: python:latest - before_script: - - pip install ansible --quiet - - ansible-galaxy install --role-file requirements.yml - script: - - ansible-playbook playbook.yml --syntax-check diff --git a/.prettierrc.yml b/.prettierrc.yml deleted file mode 100644 index 0cb31e6..0000000 --- a/.prettierrc.yml +++ /dev/null @@ -1,5 +0,0 @@ -singleQuote: true -printWidth: 90 -tabWidth: 2 -useTabs: false -bracketSpacing: true diff --git a/ansible.cfg b/ansible.cfg index 4c41b64..ccea318 100644 --- a/ansible.cfg +++ b/ansible.cfg @@ -1,5 +1,6 @@ [defaults] roles_path = ./roles +inventory = inventory.yml [privilege_escalation] become_ask_pass = True diff --git a/archlinux.yml b/archlinux.yml deleted file mode 100644 index 109d1a8..0000000 --- a/archlinux.yml +++ /dev/null @@ -1,39 +0,0 @@ -- hosts: localhost - pre_tasks: - - name: install packages - become: true - package: - name: '{{ item }}' - state: present - loop: '{{ packages }}' - - name: add git forge to known hosts - include_role: - name: common - tasks_from: 'known_hosts.yml' - vars: - user: '{{ ansible_user_id }}' - items: - - { domain: '{{ git_domain }}', key: '{{ git_host_key }}' } - roles: - - common - tasks: - - import_tasks: 'tasks/dotfiles.yml' - - - name: Include neovim tasks - import_tasks: 'tasks/neovim.yml' - tags: neovim - - - name: gather package facts - package_facts: - manager: pacman - - import_tasks: 'tasks/aur.yml' - - import_tasks: 'tasks/docker.yml' - - - name: setup python versions - include_tasks: 'tasks/python.yml' - loop: '{{ python_versions }}' - - - import_tasks: 'tasks/nvm.yml' - vars_files: - - 'vars/main.yml' - - 'vars/archlinux.yml' diff --git a/debian.yml b/debian.yml deleted file mode 100644 index 16a0d80..0000000 --- a/debian.yml +++ /dev/null @@ -1,14 +0,0 @@ -- hosts: localhost - pre_tasks: - - name: install packages - become: true - package: - name: '{{ item }}' - state: present - loop: '{{ packages }}' - tasks: - - import_tasks: 'tasks/dotfiles.yml' - - import_tasks: 'tasks/neovim.yml' - vars_files: - - 'vars/main.yml' - - 'vars/debian.yml' diff --git a/files/docker-daemon.json b/files/desktop/docker-daemon.json similarity index 100% rename from files/docker-daemon.json rename to files/desktop/docker-daemon.json diff --git a/group_vars/all/git.yml b/group_vars/all/git.yml new file mode 100644 index 0000000..c776d15 --- /dev/null +++ b/group_vars/all/git.yml @@ -0,0 +1,4 @@ +dotfiles_repo: 'git@forgejo.fudiggity.nl:sonny/dotfiles.git' + +git_domain: 'forgejo.fudiggity.nl' +git_host_key: 'forgejo.fudiggity.nl ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBqEej87ukSK7KGi7e0q+oTrru4h7Fm6fK8GgiMtu01+' diff --git a/group_vars/all/neovim.yml b/group_vars/all/neovim.yml new file mode 100644 index 0000000..2e1e9ab --- /dev/null +++ b/group_vars/all/neovim.yml @@ -0,0 +1,46 @@ +neovim_plugins: + - url: 'https://forgejo.fudiggity.nl/sonny/source-link.lua' + name: 'source-link' + - url: 'https://github.com/nvim-tree/nvim-tree.lua' + name: 'nvim-tree' + - url: 'https://github.com/nvim-tree/nvim-web-devicons' + name: 'nvim-tree-icons' + - url: 'https://github.com/neovim/nvim-lspconfig' + name: 'nvim-lspconfig' + - url: 'https://github.com/hrsh7th/nvim-cmp' + name: 'nvim-cmp' + - url: 'https://github.com/hrsh7th/cmp-buffer' + name: 'cmp-buffer' + - url: 'https://github.com/hrsh7th/cmp-path' + name: 'cmp-path' + - url: 'https://github.com/hrsh7th/cmp-omni' + name: 'cmp-omni' + - url: 'https://github.com/hrsh7th/cmp-nvim-lsp' + name: 'cmp-nvim-lsp' + - url: 'https://github.com/hrsh7th/cmp-nvim-lua' + name: 'cmp-nvim-lua' + - url: 'https://github.com/nvim-treesitter/nvim-treesitter' + name: 'nvim-treesitter' + - url: 'https://github.com/nvim-lua/plenary.nvim' + name: 'plenary.nvim' + - url: 'https://github.com/nvim-telescope/telescope-fzf-native.nvim' + name: 'telescope-fzf-native.nvim' + - url: 'https://github.com/nvim-telescope/telescope.nvim' + name: 'telescope.nvim' + version: '0.1.x' + - url: 'https://github.com/L3MON4D3/LuaSnip' + name: 'luasnip' + version: 'v1.0.0' + - url: 'https://github.com/lewis6991/gitsigns.nvim' + name: 'gitsigns.nvim' + version: 'v0.9.0' + - url: 'https://github.com/nvim-lualine/lualine.nvim' + name: 'lualine' + - url: 'https://github.com/lukas-reineke/indent-blankline.nvim' + name: 'indent-blankline.nvim' + version: 'v3.7.2' + - url: 'https://github.com/projekt0n/github-nvim-theme.git' + name: 'github-colors' + version: 'v1.1.2' + +language_servers: [] diff --git a/group_vars/all/system.yml b/group_vars/all/system.yml new file mode 100644 index 0000000..f57d500 --- /dev/null +++ b/group_vars/all/system.yml @@ -0,0 +1,4 @@ +xdg_config_dir: '{{ ansible_env.HOME }}/.config' +xdg_data_dir: '{{ ansible_env.HOME }}/.local/share' + +packages: [] diff --git a/group_vars/arch/aur.yml b/group_vars/arch/aur.yml new file mode 100644 index 0000000..6f1c646 --- /dev/null +++ b/group_vars/arch/aur.yml @@ -0,0 +1,40 @@ +aur_packages: + - url: 'https://aur.archlinux.org/nvm.git' + name: 'nvm' + package_name: 'nvm' + version: '0.40.0-1' + arch: 'any' + +aur_build_dir: '/usr/local/src' +python_build_dir: '/usr/local/src' +python_install_dir: '/opt' + +python_download_url: 'https://www.python.org/ftp/python' +python_versions: + - version: 3.12.9 + path: 'python3.12' + binary: 'python3.12' + + - version: 3.11.9 + path: 'python3.11' + binary: 'python3.11' + + - version: 3.10.0 + path: 'python3.10' + binary: 'python3.10' + + - version: 3.9.14 + path: 'python3.9' + binary: 'python3.9' + + - version: 3.8.14 + path: 'python3.8' + binary: 'python3.8' + + - version: 3.7.14 + path: 'python3.7' + binary: 'python3.7' + + - version: 3.6.15 + path: 'python3.6' + binary: 'python3.6' diff --git a/group_vars/arch/neovim.yml b/group_vars/arch/neovim.yml new file mode 100644 index 0000000..6963cd8 --- /dev/null +++ b/group_vars/arch/neovim.yml @@ -0,0 +1,48 @@ +language_servers: + - package: ansible-language-server + server_name: 'ansiblels' + auto_setup: true + + - package: typescript-language-server + server_name: 'ts_ls' + auto_setup: true + + - package: vscode-json-languageserver + server_name: 'jsonls' + auto_setup: true + + - package: vscode-css-languageserver + server_name: 'cssls' + auto_setup: true + + - package: bash-language-server + server_name: 'bashls' + auto_setup: true + + - package: marksman + server_name: 'marksman' + auto_setup: true + + - package: esbonio + server_name: 'esbonio' + auto_setup: true + + - package: lua-language-server + server_name: 'lua_ls' + auto_setup: true + + - package: yaml-language-server + server_name: 'yamlls' + auto_setup: false + + - package: vscode-html-languageserver + server_name: 'html' + auto_setup: false + + - package: ruff-lsp + server_name: 'ruff' + auto_setup: false + + - package: pyright + server_name: 'pyright' + auto_setup: false diff --git a/group_vars/arch/system.yml b/group_vars/arch/system.yml new file mode 100644 index 0000000..ae21d6d --- /dev/null +++ b/group_vars/arch/system.yml @@ -0,0 +1,17 @@ +packages: + - python + - git + - vim + - neovim + - python-pynvim + - wl-clipboard + - npm + - docker + - docker-compose + - iptables-nft + - fuse-overlayfs + - ttf-ibm-plex + - slirp4netns + - tree-sitter + - ripgrep + - uv diff --git a/vars/debian.yml b/group_vars/debian/neovim.yml similarity index 77% rename from vars/debian.yml rename to group_vars/debian/neovim.yml index cb7c8a3..c5e5319 100644 --- a/vars/debian.yml +++ b/group_vars/debian/neovim.yml @@ -1,19 +1,3 @@ -ansible_connection: local -ansible_python_interpreter: '/usr/bin/python3' - -packages: - - python3 - - git - - vim - - npm - - libtree-sitter0 - - ripgrep - -neovim: - version: 'v0.10.4' - install_path: '/opt/nvim' - download_checksum: sha256:95aaa8e89473f5421114f2787c13ae0ec6e11ebbd1a13a1bd6fcf63420f8073f - # TODO: add lua language server, see https://github.com/LuaLS/lua-language-server? language_servers: - package: '@ansible/ansible-language-server' @@ -27,3 +11,8 @@ language_servers: - package: bash-language-server server_name: 'bashls' auto_setup: true + +neovim: + version: 'v0.10.4' + install_path: '/opt/nvim' + download_checksum: sha256:95aaa8e89473f5421114f2787c13ae0ec6e11ebbd1a13a1bd6fcf63420f8073f diff --git a/group_vars/debian/system.yml b/group_vars/debian/system.yml new file mode 100644 index 0000000..56be4aa --- /dev/null +++ b/group_vars/debian/system.yml @@ -0,0 +1,7 @@ +packages: + - python3 + - git + - vim + - npm + - libtree-sitter0 + - ripgrep diff --git a/inventory.yml b/inventory.yml new file mode 100644 index 0000000..438697a --- /dev/null +++ b/inventory.yml @@ -0,0 +1,22 @@ +personal: + hosts: + xps: &xps + ansible_connection: local + ansible_become_method: community.general.run0 + desktop: &desktop + ansible_connection: local + ansible_become_method: community.general.run0 + fudiggity: &fudiggity + ansible_connection: local + +debian: + hosts: + fudiggity: + <<: *fudiggity + +arch: + hosts: + xps: + <<: *xps + desktop: + <<: *desktop diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 0db7ba2..0000000 --- a/package-lock.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "development", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "dependencies": { - "prettier": "^2.6.2" - } - }, - "node_modules/prettier": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz", - "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==", - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - } - }, - "dependencies": { - "prettier": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz", - "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==" - } - } -} diff --git a/package.json b/package.json deleted file mode 100644 index e1f5891..0000000 --- a/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "dependencies": { - "prettier": "^2.6.2" - } -} diff --git a/playbook.yml b/playbook.yml new file mode 100644 index 0000000..16f3272 --- /dev/null +++ b/playbook.yml @@ -0,0 +1,72 @@ +- name: Development provisioning + hosts: + - xps + - desktop + - fudiggity + pre_tasks: + - name: Verifying that a limit is set + ansible.builtin.fail: + msg: 'This playbook cannot be run with no limit' + run_once: true + when: ansible_limit is not defined + + - name: Install packages + become: true + ansible.builtin.package: + name: '{{ item }}' + state: present + loop: '{{ packages }}' + + - name: Add git forge to known hosts + ansible.builtin.include_role: + name: common + tasks_from: 'known_hosts.yml' + vars: + user: '{{ ansible_user_id }}' + items: + - domain: '{{ git_domain }}' + key: '{{ git_host_key }}' + roles: + - common + tasks: + - name: Setup dotfiles + ansible.builtin.import_tasks: 'tasks/dotfiles.yml' + tags: dotfiles + + - name: Include generic neovim tasks + ansible.builtin.import_tasks: 'tasks/neovim.yml' + tags: neovim + + - name: Include debian neovim tasks + ansible.builtin.import_tasks: 'tasks/debian/neovim.yml' + when: "'debian' in group_names" + tags: neovim + + - name: Provision Archlinux hosts + when: "'arch' in group_names" + block: + - name: Gather package facts + ansible.builtin.package_facts: + manager: pacman + + - name: Include arch neovim tasks + ansible.builtin.import_tasks: 'tasks/arch/neovim.yml' + when: "'arch' in group_names" + tags: neovim + + - name: Install AUR packages + ansible.builtin.import_tasks: 'tasks/arch/aur.yml' + tags: aur + + - name: Setup docker + ansible.builtin.import_tasks: 'tasks/arch/docker.yml' + tags: docker + + - name: Setup python versions + ansible.builtin.include_tasks: 'tasks/arch/python.yml' + loop: '{{ python_versions }}' + tags: python + + - name: Setup NVM + ansible.builtin.import_tasks: 'tasks/arch/nvm.yml' + tags: nvm diff --git a/tasks/aur-package.yml b/tasks/arch/aur-package.yml similarity index 68% rename from tasks/aur-package.yml rename to tasks/arch/aur-package.yml index 0abef44..e00f8ab 100644 --- a/tasks/aur-package.yml +++ b/tasks/arch/aur-package.yml @@ -1,8 +1,8 @@ -- name: set package directory - set_fact: +- name: Set package directory + ansible.builtin.set_fact: build_dir: '{{ aur_build_dir }}/{{ item.name }}' -- name: 'retrieve package name for {{ item.name }}' +- name: 'Retrieve package name for {{ item.name }}' command: argv: - grep @@ -12,7 +12,7 @@ - "{{ build_dir }}/PKGBUILD" register: pkg_name -- name: 'retrieve package version for {{ item.name }}' +- name: 'Retrieve package version for {{ item.name }}' command: argv: - grep @@ -22,7 +22,7 @@ - "{{ build_dir }}/PKGBUILD" register: pkg_version -- name: 'retrieve package release for {{ item.name }}' +- name: 'Retrieve package release for {{ item.name }}' command: argv: - grep @@ -32,21 +32,22 @@ - "{{ build_dir }}/PKGBUILD" register: pkg_release -- set_fact: +- name: Set package filename & version + ansible.builtin.set_fact: package_filename: '{{ pkg_name.stdout }}-{{ pkg_version.stdout }}-{{ pkg_release.stdout }}-{{ item.arch }}.pkg.tar.zst' installed_version: ansible_facts.packages[item.package_name].version|default('') -- name: 'build package {{ item.name }}' - command: 'makepkg --syncdeps --rmdeps --clean --noconfirm --force' +- name: 'Build package {{ item.name }}' + ansible.builtin.command: 'makepkg --syncdeps --rmdeps --clean --noconfirm --force' args: chdir: '{{ build_dir }}' creates: '{{ build_dir }}/{{ package_filename }}' register: package_build when: item.version != installed_version -- name: 'install {{ item.name }}' +- name: 'Install {{ item.name }}' become: true - pacman: + community.general.pacman: name: '{{ build_dir }}/{{ package_filename }}' state: present when: item.version != installed_version diff --git a/tasks/aur.yml b/tasks/arch/aur.yml similarity index 61% rename from tasks/aur.yml rename to tasks/arch/aur.yml index 0ae28e6..e31aab7 100644 --- a/tasks/aur.yml +++ b/tasks/arch/aur.yml @@ -1,19 +1,19 @@ -- name: retrieve directory stats - stat: +- name: Retrieve directory stats + ansible.builtin.stat: path: '{{ aur_build_dir }}/{{ item.name }}' loop: '{{ aur_packages }}' -- name: clone aur packages +- name: Clone aur packages become: true - git: + ansible.builtin.git: repo: '{{ item.url }}' dest: '{{ aur_build_dir }}/{{ item.name }}' update: true loop: '{{ aur_packages }}' -- name: change aur package directories owner +- name: Change aur package directories owner become: true - file: + ansible.builtin.file: path: '{{ aur_build_dir }}/{{ item.name }}' state: directory owner: '{{ ansible_user_id }}' @@ -21,6 +21,6 @@ recurse: true loop: '{{ aur_packages }}' -- name: build & install aur packages - include_tasks: 'tasks/aur-package.yml' +- name: Build & install aur packages + ansible.builtin.include_tasks: 'tasks/arch/aur-package.yml' loop: '{{ aur_packages }}' diff --git a/tasks/docker.yml b/tasks/arch/docker.yml similarity index 97% rename from tasks/docker.yml rename to tasks/arch/docker.yml index bd7ad77..c68a81f 100644 --- a/tasks/docker.yml +++ b/tasks/arch/docker.yml @@ -10,7 +10,7 @@ - name: Setup desktop configuration become: true ansible.builtin.file: - path: 'files/docker-daemon.json' + path: 'files/desktop/docker-daemon.json' dest: '/etc/docker/daemon.json' mode: '0755' when: ansible_hostname == 'desktop' diff --git a/tasks/arch/neovim.yml b/tasks/arch/neovim.yml new file mode 100644 index 0000000..0cccfa1 --- /dev/null +++ b/tasks/arch/neovim.yml @@ -0,0 +1,6 @@ +- name: Install language servers + become: true + community.general.pacman: + name: '{{ item }}' + state: present + loop: '{{ language_servers | map(attribute="package") | list }}' diff --git a/tasks/nvm.yml b/tasks/arch/nvm.yml similarity index 56% rename from tasks/nvm.yml rename to tasks/arch/nvm.yml index d99859a..b2f2e36 100644 --- a/tasks/nvm.yml +++ b/tasks/arch/nvm.yml @@ -1,13 +1,14 @@ -- set_fact: +- name: Set NVM install directory + ansible.builtin.set_fact: install_dir: '{{ xdg_config_dir }}/nvm' -- name: remove manually installed nvm install directory - file: +- name: Remove manually installed nvm install directory + ansible.builtin.file: path: '{{ install_dir }}' state: absent -- name: remove nvm entry from bashrc - lineinfile: +- name: Remove nvm entry from bashrc + ansible.builtin.lineinfile: path: '{{ ansible_env.HOME }}/.bashrc.override' line: > [ -s "{{ install_dir }}/nvm.sh" ] && \. "{{ install_dir }}/nvm.sh" # This loads nvm diff --git a/tasks/python.yml b/tasks/arch/python.yml similarity index 100% rename from tasks/python.yml rename to tasks/arch/python.yml diff --git a/tasks/debian/neovim.yml b/tasks/debian/neovim.yml new file mode 100644 index 0000000..939a741 --- /dev/null +++ b/tasks/debian/neovim.yml @@ -0,0 +1,57 @@ +- name: Install language servers on debian hosts + become: true + community.general.npm: + name: '{{ item }}' + global: true + loop: '{{ language_servers | map(attribute="package") | list }}' + +- name: Create neovim install directory + become: true + ansible.builtin.file: + state: directory + path: '{{ neovim.install_path }}' + owner: '{{ ansible_user_id }}' + group: '{{ ansible_user_gid }}' + mode: '0755' + +- name: Register the current neovim version + ansible.builtin.command: + argv: + - '{{ neovim.install_path }}/bin/nvim' + - '--version' + register: neovim_stats + changed_when: false + ignore_errors: true + +- name: Parse the current neovim version + ansible.builtin.set_fact: + neovim_installed_version: neovim_stats.stdout_lines[0] | regex_search('(v\d+\.\d+\.\d+)') + when: neovim_stats.rc == 0 + +- name: Download neovim {{ neovim.version }} + ansible.builtin.get_url: + url: 'https://github.com/neovim/neovim/releases/download/{{ neovim.version }}/nvim-linux-x86_64.tar.gz' + dest: /tmp/nvim-linux64.tar.gz + mode: '0755' + checksum: '{{ neovim.download_checksum }}' + when: neovim_stats.rc > 0 or neovim_installed_version != neovim.version + register: neovim_download + +- name: Extract downloaded neovim version + ansible.builtin.unarchive: + src: /tmp/nvim-linux64.tar.gz + dest: '{{ neovim.install_path }}' + extra_opts: + - '--strip-components=1' + - '--show-stored-names' + - '--overwrite' + when: | + neovim_download.state == 'file' + and (neovim_installed_version is undefined or neovim_installed_version != neovim.version) + +- name: Add neovim to PATH + become: true + ansible.builtin.template: + src: 'templates/debian/nvim.profile.j2' + dest: '/etc/profile.d/neovim.sh' + mode: '0755' diff --git a/tasks/neovim.yml b/tasks/neovim.yml index 21a3fbf..b647b8d 100644 --- a/tasks/neovim.yml +++ b/tasks/neovim.yml @@ -37,22 +37,6 @@ name: neovim global: true -- name: Install language servers - become: true - ansible.builtin.package: - name: '{{ item }}' - state: present - loop: '{{ language_servers | map(attribute="package") | list }}' - when: ansible_facts['os_family'] == 'Archlinux' - -- name: Install language servers on debian hosts - become: true - community.general.npm: - name: '{{ item }}' - global: true - loop: '{{ language_servers | map(attribute="package") | list }}' - when: ansible_facts['os_family'] == 'Debian' - - name: Remove old neovim configuration file ansible.builtin.file: path: '{{ xdg_config_dir }}/nvim/init.vim' @@ -136,57 +120,3 @@ - src: 'templates/nvim/lua/filetype.lua.j2' dest: '{{ xdg_config_dir }}/nvim/lua/_filetype.lua' - -- name: Install neovim from archive - when: ansible_facts['os_family'] == 'Debian' - block: - - name: Create neovim install directory - become: true - ansible.builtin.file: - state: directory - path: '{{ neovim.install_path }}' - owner: '{{ ansible_user_id }}' - group: '{{ ansible_user_gid }}' - mode: '0755' - - - name: Register the current neovim version - ansible.builtin.command: - argv: - - '{{ neovim.install_path }}/bin/nvim' - - '--version' - register: neovim_stats - changed_when: false - ignore_errors: true - - - name: Parse the current neovim version - ansible.builtin.set_fact: - neovim_installed_version: neovim_stats.stdout_lines[0] | regex_search('(v\d+\.\d+\.\d+)') - when: neovim_stats.rc == 0 - - - name: Download neovim {{ neovim.version }} - ansible.builtin.get_url: - url: 'https://github.com/neovim/neovim/releases/download/{{ neovim.version }}/nvim-linux-x86_64.tar.gz' - dest: /tmp/nvim-linux64.tar.gz - mode: '0755' - checksum: '{{ neovim.download_checksum }}' - when: neovim_stats.rc > 0 or neovim_installed_version != neovim.version - register: neovim_download - - - name: Extract downloaded neovim version - ansible.builtin.unarchive: - src: /tmp/nvim-linux64.tar.gz - dest: '{{ neovim.install_path }}' - extra_opts: - - '--strip-components=1' - - '--show-stored-names' - - '--overwrite' - when: | - neovim_download.state == 'file' - and (neovim_installed_version is undefined or neovim_installed_version != neovim.version) - - - name: Add neovim to PATH - become: true - ansible.builtin.template: - src: 'templates/nvim.profile.j2' - dest: '/etc/profile.d/neovim.sh' - mode: '0755' diff --git a/templates/nvim.profile.j2 b/templates/debian/nvim.profile.j2 similarity index 100% rename from templates/nvim.profile.j2 rename to templates/debian/nvim.profile.j2 diff --git a/templates/subgid.j2 b/templates/subgid.j2 deleted file mode 100644 index fb08808..0000000 --- a/templates/subgid.j2 +++ /dev/null @@ -1 +0,0 @@ -{{ ansible_user_id }}:231072:65536 diff --git a/templates/subuid.j2 b/templates/subuid.j2 deleted file mode 100644 index fb08808..0000000 --- a/templates/subuid.j2 +++ /dev/null @@ -1 +0,0 @@ -{{ ansible_user_id }}:231072:65536 diff --git a/vars/archlinux.yml b/vars/archlinux.yml deleted file mode 100644 index 74d162d..0000000 --- a/vars/archlinux.yml +++ /dev/null @@ -1,111 +0,0 @@ -ansible_connection: local -ansible_python_interpreter: '/usr/bin/python' - -packages: - - python - - git - - vim - - neovim - - python-pynvim - - wl-clipboard - - npm - - docker - - docker-compose - - iptables-nft - - fuse-overlayfs - - ttf-ibm-plex - - slirp4netns - - tree-sitter - - ripgrep - - uv - -aur_packages: - - url: 'https://aur.archlinux.org/nvm.git' - name: 'nvm' - package_name: 'nvm' - version: '0.40.0-1' - arch: 'any' - -aur_build_dir: '/usr/local/src' -python_build_dir: '/usr/local/src' -python_install_dir: '/opt' - -language_servers: - - package: ansible-language-server - server_name: 'ansiblels' - auto_setup: true - - - package: typescript-language-server - server_name: 'ts_ls' - auto_setup: true - - - package: vscode-json-languageserver - server_name: 'jsonls' - auto_setup: true - - - package: vscode-css-languageserver - server_name: 'cssls' - auto_setup: true - - - package: bash-language-server - server_name: 'bashls' - auto_setup: true - - - package: marksman - server_name: 'marksman' - auto_setup: true - - - package: esbonio - server_name: 'esbonio' - auto_setup: true - - - package: lua-language-server - server_name: 'lua_ls' - auto_setup: true - - - package: yaml-language-server - server_name: 'yamlls' - auto_setup: false - - - package: vscode-html-languageserver - server_name: 'html' - auto_setup: false - - - package: ruff-lsp - server_name: 'ruff' - auto_setup: false - - - package: pyright - server_name: 'pyright' - auto_setup: false - - -python_download_url: 'https://www.python.org/ftp/python' -python_versions: - - version: 3.12.9 - path: 'python3.12' - binary: 'python3.12' - - - version: 3.11.9 - path: 'python3.11' - binary: 'python3.11' - - - version: 3.10.0 - path: 'python3.10' - binary: 'python3.10' - - - version: 3.9.14 - path: 'python3.9' - binary: 'python3.9' - - - version: 3.8.14 - path: 'python3.8' - binary: 'python3.8' - - - version: 3.7.14 - path: 'python3.7' - binary: 'python3.7' - - - version: 3.6.15 - path: 'python3.6' - binary: 'python3.6' diff --git a/vars/main.yml b/vars/main.yml deleted file mode 100644 index ed85251..0000000 --- a/vars/main.yml +++ /dev/null @@ -1,53 +0,0 @@ -ansible_connection: local -ansible_python_interpreter: '/usr/bin/env python' - -xdg_config_dir: '{{ ansible_env.HOME }}/.config' -xdg_data_dir: '{{ ansible_env.HOME }}/.local/share' - -dotfiles_repo: 'git@forgejo.fudiggity.nl:sonny/dotfiles.git' -public_dotfiles_repo: 'https://forgejo.fudiggity.nl/sonny/dotfiles.git' - -neovim_plugins: - - { url: 'https://forgejo.fudiggity.nl/sonny/source-link.lua', name: 'source-link' } - - { url: 'https://github.com/nvim-tree/nvim-tree.lua', name: 'nvim-tree' } - - { - url: 'https://github.com/nvim-tree/nvim-web-devicons', name: 'nvim-tree-icons' - } - - { url: 'https://github.com/neovim/nvim-lspconfig', name: 'nvim-lspconfig' } - - { url: 'https://github.com/hrsh7th/nvim-cmp', name: 'nvim-cmp' } - - { url: 'https://github.com/hrsh7th/cmp-buffer', name: 'cmp-buffer' } - - { url: 'https://github.com/hrsh7th/cmp-path', name: 'cmp-path' } - - { url: 'https://github.com/hrsh7th/cmp-omni', name: 'cmp-omni' } - - { url: 'https://github.com/hrsh7th/cmp-nvim-lsp', name: 'cmp-nvim-lsp' } - - { url: 'https://github.com/hrsh7th/cmp-nvim-lua', name: 'cmp-nvim-lua' } - - { url: 'https://github.com/nvim-treesitter/nvim-treesitter', name: 'nvim-treesitter' } - - { url: 'https://github.com/nvim-lua/plenary.nvim', name: 'plenary.nvim' } - - { - url: 'https://github.com/nvim-telescope/telescope-fzf-native.nvim', - name: 'telescope-fzf-native.nvim', - } - - { - url: 'https://github.com/nvim-telescope/telescope.nvim', - name: 'telescope.nvim', - version: '0.1.x', - } - - { url: 'https://github.com/L3MON4D3/LuaSnip', name: 'luasnip', version: 'v1.0.0' } - - { - url: 'https://github.com/lewis6991/gitsigns.nvim', - name: 'gitsigns.nvim', - version: 'v0.9.0', - } - - { url: 'https://github.com/nvim-lualine/lualine.nvim', name: 'lualine' } - - { - url: 'https://github.com/lukas-reineke/indent-blankline.nvim', - name: 'indent-blankline.nvim', - version: 'v3.7.2', - } - - { - url: 'https://github.com/projekt0n/github-nvim-theme.git', - name: 'github-colors', - version: 'v1.1.2', - } - -git_domain: 'forgejo.fudiggity.nl' -git_host_key: 'forgejo.fudiggity.nl ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBqEej87ukSK7KGi7e0q+oTrru4h7Fm6fK8GgiMtu01+' From d46c4e4ec28de2ecafdab80013946af43ce4bb42 Mon Sep 17 00:00:00 2001 From: sonny Date: Sat, 15 Mar 2025 17:13:04 +0100 Subject: [PATCH 132/170] Load git forge key when applicable --- playbook.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/playbook.yml b/playbook.yml index 16f3272..2c644c2 100644 --- a/playbook.yml +++ b/playbook.yml @@ -26,8 +26,7 @@ items: - domain: '{{ git_domain }}' key: '{{ git_host_key }}' - roles: - - common + when: ansible_hostname != 'fudiggity' tasks: - name: Setup dotfiles ansible.builtin.import_tasks: 'tasks/dotfiles.yml' From 2d5e5caa2525057cb6c2b626047492ba089d4b95 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sun, 16 Mar 2025 20:54:25 +0100 Subject: [PATCH 133/170] Add group_vars & host_vars for ansible file detection --- templates/nvim/lua/filetype.lua.j2 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/templates/nvim/lua/filetype.lua.j2 b/templates/nvim/lua/filetype.lua.j2 index f117509..2066b7c 100644 --- a/templates/nvim/lua/filetype.lua.j2 +++ b/templates/nvim/lua/filetype.lua.j2 @@ -22,6 +22,8 @@ vim.filetype.add { ['.*/tasks/.*.y(a?)ml'] = 'yaml.ansible', ['.*/vars/.*.y(a?)ml'] = 'yaml.ansible', + ['.*/host_vars/.*.y(a?)ml'] = 'yaml.ansible', + ['.*/group_vars/.*.y(a?)ml'] = 'yaml.ansible', ['.*/playbooks/.*.y(a?)ml'] = 'yaml.ansible', ['*.ansible.y(a?)ml'] = 'yaml.ansible', From 7f3dd527af66b7c4fbb09b4a66e6f5250e97beab Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Mon, 17 Mar 2025 21:39:51 +0100 Subject: [PATCH 134/170] Add git configuration --- group_vars/all/git.yml | 3 ++ tasks/dotfiles.yml | 63 ++++++++++++++++++------------------------ templates/gitconfig.j2 | 53 +++++++++++++++++++++++++++++++++++ 3 files changed, 83 insertions(+), 36 deletions(-) create mode 100644 templates/gitconfig.j2 diff --git a/group_vars/all/git.yml b/group_vars/all/git.yml index c776d15..4715cd3 100644 --- a/group_vars/all/git.yml +++ b/group_vars/all/git.yml @@ -2,3 +2,6 @@ dotfiles_repo: 'git@forgejo.fudiggity.nl:sonny/dotfiles.git' git_domain: 'forgejo.fudiggity.nl' git_host_key: 'forgejo.fudiggity.nl ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBqEej87ukSK7KGi7e0q+oTrru4h7Fm6fK8GgiMtu01+' + +git_name: Sonny Bakker +git_email: sonny871@hotmail.com diff --git a/tasks/dotfiles.yml b/tasks/dotfiles.yml index 39759ad..44445b2 100644 --- a/tasks/dotfiles.yml +++ b/tasks/dotfiles.yml @@ -1,25 +1,15 @@ -- name: clone dotfiles - git: +- name: Clone dotfiles + ansible.builtin.git: repo: '{{ dotfiles_repo }}' dest: '{{ ansible_env.HOME }}/dotfiles' version: master - update: yes - register: dotfile_ssh_clone - ignore_errors: true - -- name: clone dotfiles - git: - repo: '{{ public_dotfiles_repo }}' - dest: '{{ ansible_env.HOME }}/dotfiles' - version: master - update: yes - when: dotfile_ssh_clone.failed + update: true - name: Create xdg configuration directories ansible.builtin.file: path: '{{ item }}' state: directory - mode: '744' + mode: '0755' loop: - '{{ xdg_config_dir }}/git' - '{{ xdg_config_dir }}/tmux' @@ -30,31 +20,32 @@ state: absent loop: - '{{ ansible_env.HOME }}/.tmux.conf' + - '{{ ansible_env.HOME }}/.gitconfig' -- name: setup dotfiles - file: +- name: Setup dotfiles + ansible.builtin.file: path: '{{ item.dest }}' src: '{{ item.src }}' state: link force: true loop: - - { - src: '{{ ansible_env.HOME }}/dotfiles/.vimrc', - dest: '{{ ansible_env.HOME }}/.vimrc', - } - - { - src: '{{ ansible_env.HOME }}/dotfiles/.bashrc', - dest: '{{ ansible_env.HOME }}/.bashrc', - } - - { - src: '{{ ansible_env.HOME }}/dotfiles/.profile', - dest: '{{ ansible_env.HOME }}/.profile', - } - - { - src: '{{ ansible_env.HOME }}/dotfiles/.tmux.conf', - dest: '{{ xdg_config_dir }}/tmux/tmux.conf', - } - - { - src: '{{ ansible_env.HOME }}/dotfiles/.gitignore', - dest: '{{ xdg_config_dir }}/git/ignore', - } + - src: '{{ ansible_env.HOME }}/dotfiles/.vimrc' + dest: '{{ ansible_env.HOME }}/.vimrc' + + - src: '{{ ansible_env.HOME }}/dotfiles/.bashrc' + dest: '{{ ansible_env.HOME }}/.bashrc' + + - src: '{{ ansible_env.HOME }}/dotfiles/.profile' + dest: '{{ ansible_env.HOME }}/.profile' + + - src: '{{ ansible_env.HOME }}/dotfiles/.tmux.conf' + dest: '{{ xdg_config_dir }}/tmux/tmux.conf' + + - src: '{{ ansible_env.HOME }}/dotfiles/.gitignore' + dest: '{{ xdg_config_dir }}/git/ignore' + +- name: Copy git configuration + ansible.builtin.template: + src: 'templates/gitconfig.j2' + dest: '{{ xdg_config_dir }}/git/config' + mode: '0755' diff --git a/templates/gitconfig.j2 b/templates/gitconfig.j2 new file mode 100644 index 0000000..0696fb1 --- /dev/null +++ b/templates/gitconfig.j2 @@ -0,0 +1,53 @@ +# {{ ansible_managed }} + +[user] +email = {{ git_email }} +name = {{ git_name }} + +[core] +editor = nvim +{% if ansible_facts['os_family'] == 'Archlinux' %} +pager = delta +{% endif %} + +{% if ansible_facts['os_family'] == 'Archlinux' %} +[interactive] +diffFilter = delta --color-only +{% endif %} + +[init] +defaultBranch = main + +[commit] +verbose = true + +[push] +default = simple +autoSetupRemote = true + +[pull] +rebase = false + +[fetch] +prune = true +pruneTags = true +all = true + +[merge] +tool = nvimdiff +conflictstyle = zdiff3 + +[diff] +colorMoved = default +mnemonicPrefix = true +renames = true + +[help] +autocorrect = prompt + +{% if ansible_facts['os_family'] == 'Archlinux' %} +[delta] +navigate = true +hyperlinks = true +line-numbers = true +{% endif %} From 747a1fe584d98708c3fc35e344da974f27e2c14c Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Tue, 18 Mar 2025 19:44:22 +0100 Subject: [PATCH 135/170] Replace formatting code --- templates/nvim/lua/lsp.lua.j2 | 45 +++++++++++------------------------ 1 file changed, 14 insertions(+), 31 deletions(-) diff --git a/templates/nvim/lua/lsp.lua.j2 b/templates/nvim/lua/lsp.lua.j2 index b76afc8..815f14a 100644 --- a/templates/nvim/lua/lsp.lua.j2 +++ b/templates/nvim/lua/lsp.lua.j2 @@ -176,7 +176,7 @@ vim.diagnostic.config { }, } -local enable_formatting = os.getenv("ENABLE_FORMATTING") +local enable_formatting = os.getenv("enable_formatting") == 'true'; -- format buffers before saving for specific LSPs if (enable_formatting) then @@ -185,38 +185,21 @@ if (enable_formatting) then vim.api.nvim_create_autocmd('LspAttach', { group = vim.api.nvim_create_augroup('lsp', { clear = true }), callback = function(args) - vim.api.nvim_create_autocmd('BufWritePre', { - buffer = args.buf, - callback = function() - local formatting_clients = vim.lsp.get_clients { - bufnr = args.buf, - method = 'textDocument/formatting' - } + local client = vim.lsp.get_client_by_id(args.data.client_id) - local filtered_clients = {} + if vim.list_contains(excluded_clients, client.name) then return end; - for _, client in pairs(formatting_clients) do - if vim.list_contains(excluded_clients, client.name) then - goto skip - end - - table.insert(filtered_clients, client.name) - ::skip:: - end - - if #filtered_clients == 0 then - return - end - - vim.lsp.buf.format { - filter = function(client) - return vim.list_contains(filtered_clients, client.name) - end, - async = false, - id = args.data.client_id - } - end, - }) + if client.server_capabilities.documentFormattingProvider then + vim.api.nvim_create_autocmd('BufWritePre', { + buffer = args.buf, + callback = function() + vim.lsp.buf.format { + async = false, + id = args.data.client_id + } + end, + }) + end end }) end From d174718477a33626cf1a3bacde12bf59fd8c5b01 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Tue, 18 Mar 2025 19:50:29 +0100 Subject: [PATCH 136/170] Include tmux project init script --- files/tmux.sh | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100755 files/tmux.sh diff --git a/files/tmux.sh b/files/tmux.sh new file mode 100755 index 0000000..5bcc267 --- /dev/null +++ b/files/tmux.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +session_name=${PWD##*/} +project_directory="$HOME/development/$session_name" +enable_formatting="" + +tmux has-session -t $session_name + +if [ $? != 0 ]; +then + tmux new-session \ + -c $project_directory \ + -ds $session_name \ + -e "project_dir=$project_directory" + + # FIRST WINDOW + tmux send-keys -t $session_name:0 'source ./env/bin/activate' C-m + tmux send-keys -t $session_name:0 'nvim' C-m + + # SECOND WINDOW + tmux new-window -t $session_name + + # THIRD WINDOW + tmux new-window -t $session_name + + # FOURTH WINDOW + tmux new-window -t $session_name + + # SELECT DEFAULT PANE AFTER OPENING + tmux select-window -t $session_name:0 +fi + +tmux attach -t $session_name From 0dc654ae2e0373b219b777295ab48b9cf49beec8 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Tue, 18 Mar 2025 19:56:11 +0100 Subject: [PATCH 137/170] Remove excluded clients Should be disabled in LSP configuration --- templates/nvim/lua/lsp.lua.j2 | 4 ---- 1 file changed, 4 deletions(-) diff --git a/templates/nvim/lua/lsp.lua.j2 b/templates/nvim/lua/lsp.lua.j2 index 815f14a..8a09c38 100644 --- a/templates/nvim/lua/lsp.lua.j2 +++ b/templates/nvim/lua/lsp.lua.j2 @@ -180,15 +180,11 @@ local enable_formatting = os.getenv("enable_formatting") == 'true'; -- format buffers before saving for specific LSPs if (enable_formatting) then - local excluded_clients = { 'pyright' } - vim.api.nvim_create_autocmd('LspAttach', { group = vim.api.nvim_create_augroup('lsp', { clear = true }), callback = function(args) local client = vim.lsp.get_client_by_id(args.data.client_id) - if vim.list_contains(excluded_clients, client.name) then return end; - if client.server_capabilities.documentFormattingProvider then vim.api.nvim_create_autocmd('BufWritePre', { buffer = args.buf, From 6adb1f506f472174d5c4d9c226f824c676b0bff9 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Tue, 18 Mar 2025 20:16:43 +0100 Subject: [PATCH 138/170] Add additional configuration for lua lsp --- group_vars/arch/neovim.yml | 2 +- templates/nvim/lua/lsp.lua.j2 | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/group_vars/arch/neovim.yml b/group_vars/arch/neovim.yml index 6963cd8..de53353 100644 --- a/group_vars/arch/neovim.yml +++ b/group_vars/arch/neovim.yml @@ -29,7 +29,7 @@ language_servers: - package: lua-language-server server_name: 'lua_ls' - auto_setup: true + auto_setup: false - package: yaml-language-server server_name: 'yamlls' diff --git a/templates/nvim/lua/lsp.lua.j2 b/templates/nvim/lua/lsp.lua.j2 index 8a09c38..7e9c221 100644 --- a/templates/nvim/lua/lsp.lua.j2 +++ b/templates/nvim/lua/lsp.lua.j2 @@ -95,6 +95,18 @@ nvim_lsp.jsonls.setup { capabilities = snippet_capabilities, } +nvim_lsp.lua_ls.setup { + on_attach = on_attach, + capabilities = snippet_capabilities, + settings = { + Lua = { + diagnostics = { + globals = { 'vim' } + } + } + } +} + {% endif %} nvim_lsp.yamlls.setup { on_attach = on_attach, From 6d801bcb4e98a6537a975992fc4fa7c94864d3d7 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Tue, 18 Mar 2025 21:51:14 +0100 Subject: [PATCH 139/170] Move formatting configuration to separate file --- tasks/neovim.yml | 3 +++ templates/nvim/init.lua.j2 | 2 +- templates/nvim/lua/formatting.lua.j2 | 22 ++++++++++++++++++++++ templates/nvim/lua/lsp.lua.j2 | 24 ------------------------ 4 files changed, 26 insertions(+), 25 deletions(-) create mode 100644 templates/nvim/lua/formatting.lua.j2 diff --git a/tasks/neovim.yml b/tasks/neovim.yml index b647b8d..f6e0696 100644 --- a/tasks/neovim.yml +++ b/tasks/neovim.yml @@ -120,3 +120,6 @@ - src: 'templates/nvim/lua/filetype.lua.j2' dest: '{{ xdg_config_dir }}/nvim/lua/_filetype.lua' + + - src: 'templates/nvim/lua/formatting.lua.j2' + dest: '{{ xdg_config_dir }}/nvim/lua/formatting.lua' diff --git a/templates/nvim/init.lua.j2 b/templates/nvim/init.lua.j2 index 84788ee..309c912 100644 --- a/templates/nvim/init.lua.j2 +++ b/templates/nvim/init.lua.j2 @@ -1,6 +1,5 @@ -- {{ ansible_managed }} --- TODO: load environment vars from .env files require('options') require('_filetype') require('colorscheme') @@ -12,3 +11,4 @@ require('indent-blankline') require('_nvim-tree') require('lua-line') require('_source-link') +require('formatting') diff --git a/templates/nvim/lua/formatting.lua.j2 b/templates/nvim/lua/formatting.lua.j2 new file mode 100644 index 0000000..a6a4ff0 --- /dev/null +++ b/templates/nvim/lua/formatting.lua.j2 @@ -0,0 +1,22 @@ +local enable_formatting = os.getenv("enable_formatting") == 'true'; + +if (enable_formatting) then + vim.api.nvim_create_autocmd('LspAttach', { + group = vim.api.nvim_create_augroup('lsp', { clear = true }), + callback = function(args) + local client = vim.lsp.get_client_by_id(args.data.client_id) + + if client.server_capabilities.documentFormattingProvider then + vim.api.nvim_create_autocmd('BufWritePre', { + buffer = args.buf, + callback = function() + vim.lsp.buf.format { + async = false, + id = args.data.client_id + } + end, + }) + end + end + }) +end diff --git a/templates/nvim/lua/lsp.lua.j2 b/templates/nvim/lua/lsp.lua.j2 index 7e9c221..78fd62f 100644 --- a/templates/nvim/lua/lsp.lua.j2 +++ b/templates/nvim/lua/lsp.lua.j2 @@ -187,27 +187,3 @@ vim.diagnostic.config { end }, } - -local enable_formatting = os.getenv("enable_formatting") == 'true'; - --- format buffers before saving for specific LSPs -if (enable_formatting) then - vim.api.nvim_create_autocmd('LspAttach', { - group = vim.api.nvim_create_augroup('lsp', { clear = true }), - callback = function(args) - local client = vim.lsp.get_client_by_id(args.data.client_id) - - if client.server_capabilities.documentFormattingProvider then - vim.api.nvim_create_autocmd('BufWritePre', { - buffer = args.buf, - callback = function() - vim.lsp.buf.format { - async = false, - id = args.data.client_id - } - end, - }) - end - end - }) -end From b6222e368260f6f5531b40dafce732f39900aab6 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Tue, 18 Mar 2025 21:52:08 +0100 Subject: [PATCH 140/170] Add delta styling for moved code --- templates/gitconfig.j2 | 1 + 1 file changed, 1 insertion(+) diff --git a/templates/gitconfig.j2 b/templates/gitconfig.j2 index 0696fb1..84f97da 100644 --- a/templates/gitconfig.j2 +++ b/templates/gitconfig.j2 @@ -50,4 +50,5 @@ autocorrect = prompt navigate = true hyperlinks = true line-numbers = true +map-styles = bold purple => syntax magenta, bold cyan => syntax blue, bold yellow => syntax yellow {% endif %} From 53ef5f0d54f3d93d18c97256c153be6f026fa191 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Wed, 19 Mar 2025 08:19:29 +0100 Subject: [PATCH 141/170] Add formatting variable to new tmux sessions --- files/tmux.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/files/tmux.sh b/files/tmux.sh index 5bcc267..01e0223 100755 --- a/files/tmux.sh +++ b/files/tmux.sh @@ -2,7 +2,7 @@ session_name=${PWD##*/} project_directory="$HOME/development/$session_name" -enable_formatting="" +enable_formatting="false" tmux has-session -t $session_name @@ -11,7 +11,8 @@ then tmux new-session \ -c $project_directory \ -ds $session_name \ - -e "project_dir=$project_directory" + -e "project_dir=$project_directory" \ + -e "enable_formatting=$enable_formatting" # FIRST WINDOW tmux send-keys -t $session_name:0 'source ./env/bin/activate' C-m From 8b7ad62cff07adac1a2feff8338f6cfdc60c7196 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Fri, 21 Mar 2025 08:58:43 +0100 Subject: [PATCH 142/170] use `vim.env` for detecting environment variables --- templates/nvim/lua/formatting.lua.j2 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/templates/nvim/lua/formatting.lua.j2 b/templates/nvim/lua/formatting.lua.j2 index a6a4ff0..10c6332 100644 --- a/templates/nvim/lua/formatting.lua.j2 +++ b/templates/nvim/lua/formatting.lua.j2 @@ -1,4 +1,6 @@ -local enable_formatting = os.getenv("enable_formatting") == 'true'; +-- {{ ansible_managed }} + +local enable_formatting = vim.env.enable_formatting == 'true'; if (enable_formatting) then vim.api.nvim_create_autocmd('LspAttach', { From 3b50e0ee67b09366cfbedf65c9d1c1df48a802ff Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Wed, 26 Mar 2025 10:16:52 +0100 Subject: [PATCH 143/170] Disable formatting for template strings --- templates/nvim/lua/lsp.lua.j2 | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/templates/nvim/lua/lsp.lua.j2 b/templates/nvim/lua/lsp.lua.j2 index 78fd62f..b324de2 100644 --- a/templates/nvim/lua/lsp.lua.j2 +++ b/templates/nvim/lua/lsp.lua.j2 @@ -83,6 +83,13 @@ nvim_lsp.html.setup { on_attach = on_attach, capabilities = snippet_capabilities, filetypes = { 'html', 'htmldjango' }, + settings = { + html = { + format = { + templating = true + } + } + } } nvim_lsp.cssls.setup { From a68558e4aef6e3127e8c5738c0539e1d1a5d6fcf Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Tue, 1 Apr 2025 22:14:38 +0200 Subject: [PATCH 144/170] Add tmux theme toggle configuration --- tasks/dotfiles.yml | 14 +++++++++++++- templates/tmux-toggle.j2 | 19 +++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 templates/tmux-toggle.j2 diff --git a/tasks/dotfiles.yml b/tasks/dotfiles.yml index 44445b2..1d097f9 100644 --- a/tasks/dotfiles.yml +++ b/tasks/dotfiles.yml @@ -38,9 +38,15 @@ - src: '{{ ansible_env.HOME }}/dotfiles/.profile' dest: '{{ ansible_env.HOME }}/.profile' - - src: '{{ ansible_env.HOME }}/dotfiles/.tmux.conf' + - src: '{{ ansible_env.HOME }}/dotfiles/tmux/tmux.conf' dest: '{{ xdg_config_dir }}/tmux/tmux.conf' + - src: '{{ ansible_env.HOME }}/dotfiles/tmux/light.conf' + dest: '{{ xdg_config_dir }}/tmux/light.conf' + + - src: '{{ ansible_env.HOME }}/dotfiles/tmux/dark.conf' + dest: '{{ xdg_config_dir }}/tmux/dark.conf' + - src: '{{ ansible_env.HOME }}/dotfiles/.gitignore' dest: '{{ xdg_config_dir }}/git/ignore' @@ -49,3 +55,9 @@ src: 'templates/gitconfig.j2' dest: '{{ xdg_config_dir }}/git/config' mode: '0755' + +- name: Copy tmux toggle script + ansible.builtin.template: + src: 'templates/tmux-toggle.j2' + dest: '{{ ansible_env.HOME }}/.local/bin/tmux-toggle.sh' + mode: '0755' diff --git a/templates/tmux-toggle.j2 b/templates/tmux-toggle.j2 new file mode 100644 index 0000000..3a2bda6 --- /dev/null +++ b/templates/tmux-toggle.j2 @@ -0,0 +1,19 @@ +#!/usr/bin/env sh +# +# {{ ansible_managed }} +# +# Toggle the current window (all panes) between light and dark themes. + +set -e + +current_window_style=$(tmux show -Av window-style) + +case $current_window_style in + 'fg=#000000,bg=#eff0f1') + tmux source-file ~/.config/tmux/dark.conf + ;; + *) + # Change back to the default window style. + tmux source-file ~/.config/tmux/light.conf + ;; +esac From 87f05c5d832c8dfba4c881949e319f8ea5f72c17 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Tue, 1 Apr 2025 22:15:23 +0200 Subject: [PATCH 145/170] Split diagnostic configuration to separate file --- tasks/neovim.yml | 3 +++ templates/nvim/init.lua.j2 | 1 + templates/nvim/lua/diagnostic.lua.j2 | 11 +++++++++++ templates/nvim/lua/lsp.lua.j2 | 8 -------- 4 files changed, 15 insertions(+), 8 deletions(-) create mode 100644 templates/nvim/lua/diagnostic.lua.j2 diff --git a/tasks/neovim.yml b/tasks/neovim.yml index f6e0696..ef4b2e3 100644 --- a/tasks/neovim.yml +++ b/tasks/neovim.yml @@ -123,3 +123,6 @@ - src: 'templates/nvim/lua/formatting.lua.j2' dest: '{{ xdg_config_dir }}/nvim/lua/formatting.lua' + + - src: 'templates/nvim/lua/diagnostic.lua.j2' + dest: '{{ xdg_config_dir }}/nvim/lua/diagnostic.lua' diff --git a/templates/nvim/init.lua.j2 b/templates/nvim/init.lua.j2 index 309c912..d017527 100644 --- a/templates/nvim/init.lua.j2 +++ b/templates/nvim/init.lua.j2 @@ -12,3 +12,4 @@ require('_nvim-tree') require('lua-line') require('_source-link') require('formatting') +require('diagnostic') diff --git a/templates/nvim/lua/diagnostic.lua.j2 b/templates/nvim/lua/diagnostic.lua.j2 new file mode 100644 index 0000000..97baa9e --- /dev/null +++ b/templates/nvim/lua/diagnostic.lua.j2 @@ -0,0 +1,11 @@ +-- {{ ansible_managed }} + +vim.diagnostic.config { + float = { + suffix = function(diagnostic) + return (' %s | [%s]'):format(diagnostic.code, diagnostic.source) + end + }, + + virtual_text = { current_line = true } +} diff --git a/templates/nvim/lua/lsp.lua.j2 b/templates/nvim/lua/lsp.lua.j2 index b324de2..55da53c 100644 --- a/templates/nvim/lua/lsp.lua.j2 +++ b/templates/nvim/lua/lsp.lua.j2 @@ -186,11 +186,3 @@ cmp.setup { end, }, } - -vim.diagnostic.config { - float = { - suffix = function(diagnostic) - return (' %s | [%s]'):format(diagnostic.code, diagnostic.source) - end - }, -} From f21944eb52b862bdc982588aa41b196f68b50a03 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Wed, 2 Apr 2025 09:10:04 +0200 Subject: [PATCH 146/170] Remove global formatting configuration Will be replaced with project specific configurations --- templates/nvim/init.lua.j2 | 1 - templates/nvim/lua/formatting.lua.j2 | 24 ------------------------ templates/nvim/lua/lsp.lua.j2 | 2 -- 3 files changed, 27 deletions(-) delete mode 100644 templates/nvim/lua/formatting.lua.j2 diff --git a/templates/nvim/init.lua.j2 b/templates/nvim/init.lua.j2 index d017527..a18b81c 100644 --- a/templates/nvim/init.lua.j2 +++ b/templates/nvim/init.lua.j2 @@ -11,5 +11,4 @@ require('indent-blankline') require('_nvim-tree') require('lua-line') require('_source-link') -require('formatting') require('diagnostic') diff --git a/templates/nvim/lua/formatting.lua.j2 b/templates/nvim/lua/formatting.lua.j2 deleted file mode 100644 index 10c6332..0000000 --- a/templates/nvim/lua/formatting.lua.j2 +++ /dev/null @@ -1,24 +0,0 @@ --- {{ ansible_managed }} - -local enable_formatting = vim.env.enable_formatting == 'true'; - -if (enable_formatting) then - vim.api.nvim_create_autocmd('LspAttach', { - group = vim.api.nvim_create_augroup('lsp', { clear = true }), - callback = function(args) - local client = vim.lsp.get_client_by_id(args.data.client_id) - - if client.server_capabilities.documentFormattingProvider then - vim.api.nvim_create_autocmd('BufWritePre', { - buffer = args.buf, - callback = function() - vim.lsp.buf.format { - async = false, - id = args.data.client_id - } - end, - }) - end - end - }) -end diff --git a/templates/nvim/lua/lsp.lua.j2 b/templates/nvim/lua/lsp.lua.j2 index 55da53c..c3a4234 100644 --- a/templates/nvim/lua/lsp.lua.j2 +++ b/templates/nvim/lua/lsp.lua.j2 @@ -23,10 +23,8 @@ local on_attach = function(client, bufnr) vim.keymap.set('n', ']d', vim.diagnostic.goto_next, opts) vim.keymap.set('n', 'q', vim.diagnostic.setloclist, opts) vim.keymap.set('n', 'la', vim.lsp.buf.code_action, opts) - end - --enable some language servers with the additional completion capabilities --offered by nvim-cmp local servers = { From 0caa8c07fc86e7a9177bb911ac064318c776b1f6 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Wed, 2 Apr 2025 09:57:05 +0200 Subject: [PATCH 147/170] Remove leftover file after f21944eb52b862bdc982588aa41b196f68b50a03 --- tasks/neovim.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/tasks/neovim.yml b/tasks/neovim.yml index ef4b2e3..e7de9d5 100644 --- a/tasks/neovim.yml +++ b/tasks/neovim.yml @@ -121,8 +121,5 @@ - src: 'templates/nvim/lua/filetype.lua.j2' dest: '{{ xdg_config_dir }}/nvim/lua/_filetype.lua' - - src: 'templates/nvim/lua/formatting.lua.j2' - dest: '{{ xdg_config_dir }}/nvim/lua/formatting.lua' - - src: 'templates/nvim/lua/diagnostic.lua.j2' dest: '{{ xdg_config_dir }}/nvim/lua/diagnostic.lua' From 1b881c1559cfc27377967ece343e29196a3313f3 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Thu, 3 Apr 2025 21:27:18 +0200 Subject: [PATCH 148/170] Enable project specific configuration --- group_vars/all/neovim.yml | 3 +++ templates/nvim/lua/options.lua.j2 | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/group_vars/all/neovim.yml b/group_vars/all/neovim.yml index 2e1e9ab..ae2f5d9 100644 --- a/group_vars/all/neovim.yml +++ b/group_vars/all/neovim.yml @@ -42,5 +42,8 @@ neovim_plugins: - url: 'https://github.com/projekt0n/github-nvim-theme.git' name: 'github-colors' version: 'v1.1.2' + - url: 'https://github.com/stevearc/conform.nvim.git' + name: 'conform.nvim' + version: 'v9.0.0' language_servers: [] diff --git a/templates/nvim/lua/options.lua.j2 b/templates/nvim/lua/options.lua.j2 index 36bbe52..656910c 100644 --- a/templates/nvim/lua/options.lua.j2 +++ b/templates/nvim/lua/options.lua.j2 @@ -55,5 +55,9 @@ vim.o.termguicolors = true vim.g.loaded_netrw = 1 vim.g.loaded_netrwPlugin = 1 +-- load project specific configuration files +vim.o.exrc = true +vim.o.secure = true + -- python interpreter vim.g.python3_host_prog = '/usr/bin/python3' From bdc337b3cb1d1b9719307340cf91d9c49f00e4f6 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Thu, 3 Apr 2025 21:36:45 +0200 Subject: [PATCH 149/170] Remove deprecated env variable --- files/tmux.sh | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/files/tmux.sh b/files/tmux.sh index 01e0223..d98c41b 100755 --- a/files/tmux.sh +++ b/files/tmux.sh @@ -2,7 +2,6 @@ session_name=${PWD##*/} project_directory="$HOME/development/$session_name" -enable_formatting="false" tmux has-session -t $session_name @@ -11,8 +10,7 @@ then tmux new-session \ -c $project_directory \ -ds $session_name \ - -e "project_dir=$project_directory" \ - -e "enable_formatting=$enable_formatting" + -e "project_dir=$project_directory" # FIRST WINDOW tmux send-keys -t $session_name:0 'source ./env/bin/activate' C-m From 5e0ff0dbc5e6ebd137551be4735763fe6e386261 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Thu, 3 Apr 2025 21:37:12 +0200 Subject: [PATCH 150/170] Add project specific nvim configuration file example --- files/nvim.lua | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 files/nvim.lua diff --git a/files/nvim.lua b/files/nvim.lua new file mode 100644 index 0000000..46ee351 --- /dev/null +++ b/files/nvim.lua @@ -0,0 +1,14 @@ +-- example of a project specific nvim configuration file using :exrc + +local conform = require 'conform'; + +conform.setup { + formatters_by_ft = { + python = { 'isort', 'black' }, + javascript = { 'prettier', }, + }, + + format_on_save = { + lsp_format = 'never', + } +} From ca9edc9d38cd1e57f44d2f16e7aa34e91727630d Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Thu, 3 Apr 2025 22:22:09 +0200 Subject: [PATCH 151/170] Add nvim lsp formatting configuration example --- files/{nvim.lua => nvim.conform.lua} | 2 +- files/nvim.lsp.lua | 33 ++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) rename files/{nvim.lua => nvim.conform.lua} (94%) create mode 100644 files/nvim.lsp.lua diff --git a/files/nvim.lua b/files/nvim.conform.lua similarity index 94% rename from files/nvim.lua rename to files/nvim.conform.lua index 46ee351..801df29 100644 --- a/files/nvim.lua +++ b/files/nvim.conform.lua @@ -1,4 +1,4 @@ --- example of a project specific nvim configuration file using :exrc +-- example of a project specific nvim configuration file using :exrc and conform local conform = require 'conform'; diff --git a/files/nvim.lsp.lua b/files/nvim.lsp.lua new file mode 100644 index 0000000..ff06a44 --- /dev/null +++ b/files/nvim.lsp.lua @@ -0,0 +1,33 @@ +-- example of a project specific nvim configuration file using :exrc and lsp formatting + +local format_clients = { + 'ruff', + 'lua_ls', + 'bashls', + 'jsonls', + 'ts_ls', + 'ansiblels', + 'yamlls', + 'cssls', + 'html', +} + +vim.api.nvim_create_autocmd('LspAttach', { + group = vim.api.nvim_create_augroup('lsp', { clear = true }), + callback = function(args) + local client = vim.lsp.get_client_by_id(args.data.client_id) + + if client:supports_method('textDocument/formatting') + and vim.tbl_contains(format_clients, client.name) then + vim.api.nvim_create_autocmd('BufWritePre', { + buffer = args.buf, + callback = function() + vim.lsp.buf.format { + async = false, + id = args.data.client_id + } + end, + }) + end + end +}) From c8ee2a0623cfedbf8c0e9ca63202e2d3546f65f9 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sat, 5 Apr 2025 14:06:33 +0200 Subject: [PATCH 152/170] Update neovim for debian hosts --- group_vars/debian/neovim.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/group_vars/debian/neovim.yml b/group_vars/debian/neovim.yml index c5e5319..8a9fe79 100644 --- a/group_vars/debian/neovim.yml +++ b/group_vars/debian/neovim.yml @@ -13,6 +13,6 @@ language_servers: auto_setup: true neovim: - version: 'v0.10.4' + version: 'v0.11.0' install_path: '/opt/nvim' - download_checksum: sha256:95aaa8e89473f5421114f2787c13ae0ec6e11ebbd1a13a1bd6fcf63420f8073f + download_checksum: sha256:fe0a5bc79e64c5e4d9f844cd96157ebd3919ef1343b329e9ebc3f455924cc7d6 From 3820b79fafc0f34eccb596e498a8c517b3082755 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Mon, 7 Apr 2025 20:45:29 +0200 Subject: [PATCH 153/170] Disable mouse options for neovim --- templates/nvim/lua/options.lua.j2 | 3 +++ 1 file changed, 3 insertions(+) diff --git a/templates/nvim/lua/options.lua.j2 b/templates/nvim/lua/options.lua.j2 index 656910c..fe35a80 100644 --- a/templates/nvim/lua/options.lua.j2 +++ b/templates/nvim/lua/options.lua.j2 @@ -59,5 +59,8 @@ vim.g.loaded_netrwPlugin = 1 vim.o.exrc = true vim.o.secure = true +-- disable mouse options +vim.opt.mouse = '' + -- python interpreter vim.g.python3_host_prog = '/usr/bin/python3' From 5edc5bd7e1bed423b0f7fa88e166361020e0eee7 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Tue, 29 Apr 2025 08:57:26 +0200 Subject: [PATCH 154/170] Use groups in playbook hosts --- playbook.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/playbook.yml b/playbook.yml index 2c644c2..8ab70f7 100644 --- a/playbook.yml +++ b/playbook.yml @@ -1,8 +1,8 @@ - name: Development provisioning hosts: - - xps - - desktop - - fudiggity + - personal + - arch + - debian pre_tasks: - name: Verifying that a limit is set ansible.builtin.fail: From 8ad75b702916695163a82bc22613515d229a7db1 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Tue, 29 Apr 2025 08:58:04 +0200 Subject: [PATCH 155/170] Group keybinds by function --- templates/nvim/lua/lsp.lua.j2 | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/templates/nvim/lua/lsp.lua.j2 b/templates/nvim/lua/lsp.lua.j2 index c3a4234..12e6684 100644 --- a/templates/nvim/lua/lsp.lua.j2 +++ b/templates/nvim/lua/lsp.lua.j2 @@ -7,22 +7,24 @@ local on_attach = function(client, bufnr) vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, opts) vim.keymap.set('n', 'gd', vim.lsp.buf.definition, opts) + vim.keymap.set('n', 'gr', vim.lsp.buf.references, opts) vim.keymap.set('n', 'K', vim.lsp.buf.hover, opts) vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, opts) vim.keymap.set('n', '', vim.lsp.buf.signature_help, opts) + vim.keymap.set('n', 'D', vim.lsp.buf.type_definition, opts) + vim.keymap.set('n', 'la', vim.lsp.buf.code_action, opts) + vim.keymap.set('n', 'wa', vim.lsp.buf.add_workspace_folder, opts) vim.keymap.set('n', 'wr', vim.lsp.buf.remove_workspace_folder, opts) vim.keymap.set('n', 'wl', function() print(vim.inspect(vim.lsp.buf.list_workspace_folders())) end, opts) - vim.keymap.set('n', 'D', vim.lsp.buf.type_definition, opts) vim.keymap.set('n', 'rn', vim.lsp.buf.rename, opts) - vim.keymap.set('n', 'gr', vim.lsp.buf.references, opts) + vim.keymap.set('n', 'e', vim.diagnostic.open_float, opts) vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, opts) vim.keymap.set('n', ']d', vim.diagnostic.goto_next, opts) vim.keymap.set('n', 'q', vim.diagnostic.setloclist, opts) - vim.keymap.set('n', 'la', vim.lsp.buf.code_action, opts) end --enable some language servers with the additional completion capabilities From 8864a5d37e51f46838ead91f86dc635caac066a8 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Tue, 29 Apr 2025 09:05:41 +0200 Subject: [PATCH 156/170] Increase telescope size & position --- templates/nvim/lua/telescope.lua.j2 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/templates/nvim/lua/telescope.lua.j2 b/templates/nvim/lua/telescope.lua.j2 index b74a42f..18c509e 100644 --- a/templates/nvim/lua/telescope.lua.j2 +++ b/templates/nvim/lua/telescope.lua.j2 @@ -18,7 +18,8 @@ telescope.setup({ defaults = { layout_strategy = 'vertical', layout_config = { - vertical = { width = 0.5, height = 0.7 } + prompt_position = 'top', + vertical = { width = 0.8, height = 0.9 } }, }, }) From d65dc0ef3b88e8aa9e2895094962ae5ccab02cf1 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Tue, 29 Apr 2025 09:14:09 +0200 Subject: [PATCH 157/170] Allow searching hidden/ignored files --- templates/nvim/lua/telescope.lua.j2 | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/templates/nvim/lua/telescope.lua.j2 b/templates/nvim/lua/telescope.lua.j2 index 18c509e..d568703 100644 --- a/templates/nvim/lua/telescope.lua.j2 +++ b/templates/nvim/lua/telescope.lua.j2 @@ -5,8 +5,18 @@ local builtin = require('telescope.builtin') local opts = { noremap = true, silent = true } +local find_files_unignored = function() + builtin.find_files { hidden = true, no_ignore = true } +end + +local live_grep_unignored = function() + builtin.live_grep { additional_args = { '--unrestricted', '--unrestricted' } } +end + vim.keymap.set('n', 'ff', builtin.find_files, opts) +vim.keymap.set('n', 'fF', find_files_unignored, opts) vim.keymap.set('n', 'fg', builtin.live_grep, opts) +vim.keymap.set('n', 'fG', live_grep_unignored, opts) vim.keymap.set('n', 'fb', builtin.buffers, opts) vim.keymap.set('n', 'fh', builtin.help_tags, opts) vim.keymap.set('n', 'fj', builtin.jumplist, opts) From 224b9d08f0ef3da5f56e75114b30cc436df7be32 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sun, 11 May 2025 08:19:08 +0200 Subject: [PATCH 158/170] Add fd to packages --- group_vars/arch/system.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/group_vars/arch/system.yml b/group_vars/arch/system.yml index ae21d6d..2b262ba 100644 --- a/group_vars/arch/system.yml +++ b/group_vars/arch/system.yml @@ -14,4 +14,5 @@ packages: - slirp4netns - tree-sitter - ripgrep + - fd - uv From 95c5cddab20ea54cbf7ed4bdfa84205ca14cc2c0 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Wed, 8 Oct 2025 20:54:10 +0200 Subject: [PATCH 159/170] Replace deprecated nvim_lsp usage --- templates/nvim/lua/lsp.lua.j2 | 38 ++++++++++++++++++++++------------- 1 file changed, 24 insertions(+), 14 deletions(-) diff --git a/templates/nvim/lua/lsp.lua.j2 b/templates/nvim/lua/lsp.lua.j2 index 12e6684..1da3fdc 100644 --- a/templates/nvim/lua/lsp.lua.j2 +++ b/templates/nvim/lua/lsp.lua.j2 @@ -29,7 +29,7 @@ end --enable some language servers with the additional completion capabilities --offered by nvim-cmp -local servers = { +local auto_setup_servers = { {% for item in language_servers %} {% if item.auto_setup and not loop.last %} '{{ item.server_name }}', @@ -43,10 +43,8 @@ local servers = { local capabilities = vim.lsp.protocol.make_client_capabilities() capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities) -local nvim_lsp = require('lspconfig') - -for _, lsp in ipairs(servers) do - nvim_lsp[lsp].setup { +for _, lsp in ipairs(auto_setup_servers) do + vim.lsp.config[lsp] = { on_attach = on_attach, capabilities = capabilities, } @@ -60,26 +58,26 @@ local python_root_dir = function(fname) util.path.dirname(fname) end -nvim_lsp.ruff.setup { +vim.lsp.config['ruff'] = { on_attach = on_attach, capabilities = capabilities, root_dir = python_root_dir } -nvim_lsp.pyright.setup { +vim.lsp.config['pyright'] = { settings = { pyright = { -- Using Ruff's import organizer - disableOrganizeImports = true, + disableOrganizeImports = true, }, - }, + } } local snippet_capabilities = vim.deepcopy(capabilities); snippet_capabilities.textDocument.completion.completionItem.snippetSupport = true -nvim_lsp.html.setup { +vim.lsp.config['html'] = { on_attach = on_attach, capabilities = snippet_capabilities, filetypes = { 'html', 'htmldjango' }, @@ -92,17 +90,17 @@ nvim_lsp.html.setup { } } -nvim_lsp.cssls.setup { +vim.lsp.config['cssls'] = { on_attach = on_attach, capabilities = snippet_capabilities, } -nvim_lsp.jsonls.setup { +vim.lsp.config['jsonls'] = { on_attach = on_attach, capabilities = snippet_capabilities, } -nvim_lsp.lua_ls.setup { +vim.lsp.config['lua_ls'] = { on_attach = on_attach, capabilities = snippet_capabilities, settings = { @@ -115,12 +113,24 @@ nvim_lsp.lua_ls.setup { } {% endif %} -nvim_lsp.yamlls.setup { +vim.lsp.config['yamlls'] = { on_attach = on_attach, capabilities = capabilities, filetypes = { 'yaml', 'yaml.ansible', 'yaml.docker-compose', 'yaml.gitlab' } } +local servers = { + {% for item in language_servers %} + {% if not loop.last %} + '{{ item.server_name }}', + {% else %} + '{{ item.server_name }}' + {% endif %} + {% endfor %} +} + +vim.lsp.enable { unpack(servers) } + local cmp = require('cmp') local luasnip = require('luasnip') From df438c062bee5620447fd90480edac4cc6b83288 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Wed, 8 Oct 2025 20:55:32 +0200 Subject: [PATCH 160/170] Add keybind to search with treesitter --- templates/nvim/lua/telescope.lua.j2 | 1 + 1 file changed, 1 insertion(+) diff --git a/templates/nvim/lua/telescope.lua.j2 b/templates/nvim/lua/telescope.lua.j2 index d568703..bdc9842 100644 --- a/templates/nvim/lua/telescope.lua.j2 +++ b/templates/nvim/lua/telescope.lua.j2 @@ -23,6 +23,7 @@ vim.keymap.set('n', 'fj', builtin.jumplist, opts) vim.keymap.set('n', 'fl', builtin.loclist, opts) vim.keymap.set('n', 'fq', builtin.quickfix, opts) vim.keymap.set('n', 'fm', builtin.marks, opts) +vim.keymap.set('n', 'ft', builtin.treesitter, opts) telescope.setup({ defaults = { From bdf0af0645e5db49df1c017303302d04a6c9dbe1 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Wed, 8 Oct 2025 20:56:09 +0200 Subject: [PATCH 161/170] Fix colorscheme command --- templates/nvim/lua/colorscheme.lua.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/nvim/lua/colorscheme.lua.j2 b/templates/nvim/lua/colorscheme.lua.j2 index 4cbea41..067d136 100644 --- a/templates/nvim/lua/colorscheme.lua.j2 +++ b/templates/nvim/lua/colorscheme.lua.j2 @@ -29,7 +29,7 @@ Use the `Introspect` option to inspect available options: dbus-send \ --session \ ---print-reply ] +--print-reply \ --reply-timeout=2000 \ --type=method_call \ --dest=org.freedesktop.portal.Desktop \ From cca1f0e59d1ecc822832e8c8fd50c96e4c685012 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Wed, 8 Oct 2025 20:56:21 +0200 Subject: [PATCH 162/170] Move telescope prompt position --- templates/nvim/lua/telescope.lua.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/nvim/lua/telescope.lua.j2 b/templates/nvim/lua/telescope.lua.j2 index bdc9842..38a5adc 100644 --- a/templates/nvim/lua/telescope.lua.j2 +++ b/templates/nvim/lua/telescope.lua.j2 @@ -29,7 +29,7 @@ telescope.setup({ defaults = { layout_strategy = 'vertical', layout_config = { - prompt_position = 'top', + prompt_position = 'bottom', vertical = { width = 0.8, height = 0.9 } }, }, From 54d4fa4323a62c337e33345e1558df2792444f86 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Wed, 8 Oct 2025 21:00:15 +0200 Subject: [PATCH 163/170] Switch to master branch for nvim-treesitter The new main branch, which should be the default branch from now on, does not seem to be stable --- group_vars/all/neovim.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/group_vars/all/neovim.yml b/group_vars/all/neovim.yml index ae2f5d9..e67edd3 100644 --- a/group_vars/all/neovim.yml +++ b/group_vars/all/neovim.yml @@ -21,6 +21,7 @@ neovim_plugins: name: 'cmp-nvim-lua' - url: 'https://github.com/nvim-treesitter/nvim-treesitter' name: 'nvim-treesitter' + version: master # main seems broken? - url: 'https://github.com/nvim-lua/plenary.nvim' name: 'plenary.nvim' - url: 'https://github.com/nvim-telescope/telescope-fzf-native.nvim' From 5e1ddd690d6cfc497489ae5433eac4bdedc43f0b Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sat, 11 Oct 2025 09:11:51 +0200 Subject: [PATCH 164/170] Add keybinding for searching through current buffer --- templates/nvim/lua/telescope.lua.j2 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/templates/nvim/lua/telescope.lua.j2 b/templates/nvim/lua/telescope.lua.j2 index 38a5adc..4de57a6 100644 --- a/templates/nvim/lua/telescope.lua.j2 +++ b/templates/nvim/lua/telescope.lua.j2 @@ -17,7 +17,8 @@ vim.keymap.set('n', 'ff', builtin.find_files, opts) vim.keymap.set('n', 'fF', find_files_unignored, opts) vim.keymap.set('n', 'fg', builtin.live_grep, opts) vim.keymap.set('n', 'fG', live_grep_unignored, opts) -vim.keymap.set('n', 'fb', builtin.buffers, opts) +vim.keymap.set('n', 'fb', builtin.current_buffer_fuzzy_find, opts) +vim.keymap.set('n', 'fB', builtin.buffers, opts) vim.keymap.set('n', 'fh', builtin.help_tags, opts) vim.keymap.set('n', 'fj', builtin.jumplist, opts) vim.keymap.set('n', 'fl', builtin.loclist, opts) From 7d363a30b24e82ffeaeffa8b18f7a6746aabe617 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sat, 11 Oct 2025 09:18:19 +0200 Subject: [PATCH 165/170] Update debian neovim version --- group_vars/debian/neovim.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/group_vars/debian/neovim.yml b/group_vars/debian/neovim.yml index 8a9fe79..af2c892 100644 --- a/group_vars/debian/neovim.yml +++ b/group_vars/debian/neovim.yml @@ -1,18 +1,18 @@ # TODO: add lua language server, see https://github.com/LuaLS/lua-language-server? language_servers: - - package: '@ansible/ansible-language-server' - server_name: 'ansiblels' + - package: "@ansible/ansible-language-server" + server_name: "ansiblels" auto_setup: true - package: yaml-language-server - server_name: 'yamlls' + server_name: "yamlls" auto_setup: false - package: bash-language-server - server_name: 'bashls' + server_name: "bashls" auto_setup: true neovim: - version: 'v0.11.0' - install_path: '/opt/nvim' - download_checksum: sha256:fe0a5bc79e64c5e4d9f844cd96157ebd3919ef1343b329e9ebc3f455924cc7d6 + version: "v0.11.4" + install_path: "/opt/nvim" + download_checksum: sha256:a74740047e73b2b380d63a474282814063d10650cd6cc95efa16d1713c7e616c From 2fbfbb273fe7476fa3474f61eef6436057be5612 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sat, 11 Oct 2025 20:19:20 +0200 Subject: [PATCH 166/170] Add htpc to inventory --- inventory.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/inventory.yml b/inventory.yml index 438697a..7ebdbcf 100644 --- a/inventory.yml +++ b/inventory.yml @@ -6,6 +6,9 @@ personal: desktop: &desktop ansible_connection: local ansible_become_method: community.general.run0 + htpc: &htpc + ansible_connection: local + ansible_become_method: community.general.run0 fudiggity: &fudiggity ansible_connection: local @@ -20,3 +23,5 @@ arch: <<: *xps desktop: <<: *desktop + htpc: + <<: *htpc From 88898151e60c540b9a56b1ce3f059b3bf524500e Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sat, 11 Oct 2025 20:47:29 +0200 Subject: [PATCH 167/170] Include missing packages --- group_vars/arch/system.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/group_vars/arch/system.yml b/group_vars/arch/system.yml index 2b262ba..3bab5fb 100644 --- a/group_vars/arch/system.yml +++ b/group_vars/arch/system.yml @@ -16,3 +16,8 @@ packages: - ripgrep - fd - uv + - fakeroot + - debugedit + - which + - gcc + - make From 086c6217a66c5b1ffb2c206dac48aac86483ad89 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sat, 11 Oct 2025 20:47:47 +0200 Subject: [PATCH 168/170] Update role requirement URL --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index ba54c45..b20eeb6 100644 --- a/requirements.yml +++ b/requirements.yml @@ -1,4 +1,4 @@ -- src: git+https://git.fudiggity.nl/ansible/common.git +- src: git+https://forgejo.fudiggity.nl/sonny/common-ansible.git name: common version: master scm: git From 48cf510079e64ea8cdb94ffc9a8f15923effcf53 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sat, 11 Oct 2025 20:47:58 +0200 Subject: [PATCH 169/170] Create missing directory --- tasks/dotfiles.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tasks/dotfiles.yml b/tasks/dotfiles.yml index 1d097f9..b8c40e6 100644 --- a/tasks/dotfiles.yml +++ b/tasks/dotfiles.yml @@ -56,6 +56,12 @@ dest: '{{ xdg_config_dir }}/git/config' mode: '0755' +- name: Create script directory + ansible.builtin.file: + path: '{{ ansible_env.HOME }}/.local/bin' + state: directory + mode: '0755' + - name: Copy tmux toggle script ansible.builtin.template: src: 'templates/tmux-toggle.j2' From 66cde494d827e59e0abc34ab38a79b9dec42fa0c Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Wed, 15 Oct 2025 10:02:02 +0200 Subject: [PATCH 170/170] Update used github theme --- templates/nvim/lua/colorscheme.lua.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/nvim/lua/colorscheme.lua.j2 b/templates/nvim/lua/colorscheme.lua.j2 index 067d136..9ae709f 100644 --- a/templates/nvim/lua/colorscheme.lua.j2 +++ b/templates/nvim/lua/colorscheme.lua.j2 @@ -4,7 +4,7 @@ local background_callback = function() if vim.o.background == 'dark' then vim.cmd('colorscheme github_dark_dimmed') else - vim.cmd('colorscheme github_light') + vim.cmd('colorscheme github_light_tritanopia') end -- force a full redraw: