├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── PULL_REQUEST_TEMPLATE.md └── workflows │ └── github-pages.yml ├── .gitignore ├── .gitmodules ├── LICENSE ├── README.md ├── Vagrantfile ├── alien-minimal.plugin.zsh ├── alien-minimal.zsh ├── alien-minimal.zsh-theme ├── amrc.zsh ├── modules ├── init.zsh ├── prompt.zsh ├── sections_general.zsh ├── sections_vcs.zsh ├── sections_version.zsh ├── symbols.zsh ├── themes │ ├── default.zsh │ ├── hex │ │ └── soft.zsh │ ├── mono.zsh │ ├── mono_bright.zsh │ ├── soft.zsh │ └── terminal.zsh └── viprompt.zsh └── previewer ├── index.html └── index.js /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. Go to '...' 16 | 2. Click on '....' 17 | 3. Scroll down to '....' 18 | 4. See error 19 | 20 | **Expected behavior** 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Screenshots** 24 | If applicable, add screenshots to help explain your problem. 25 | 26 | **Environment:** 27 | - Plugin Manager: [ antigen | zplug | ... ] 28 | - ZSH Version: 29 | - Operating System: [ name and version ] 30 | - Terminal Emulator: [ name and version ] 31 | 32 | **Additional context** 33 | Add any other context about the problem here. 34 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | * **Please check if the PR fulfills these requirements** 2 | - [ ] The commit message follows our guidelines 3 | - [ ] Docs have been added / updated in README.md (for features) 4 | 5 | 6 | * **What kind of change does this PR introduce?** (Bug fix, feature, docs update, ...) 7 | 8 | 9 | 10 | * **What is the current behavior?** (You can also link to an open issue here) 11 | 12 | 13 | 14 | * **What is the new behavior (if this is a feature change)?** 15 | 16 | 17 | 18 | * **Does this PR introduce a breaking change?** (What changes might users need to make in their configuration due to this PR?) 19 | 20 | 21 | 22 | * **Other information**: 23 | -------------------------------------------------------------------------------- /.github/workflows/github-pages.yml: -------------------------------------------------------------------------------- 1 | # Sample workflow for building and deploying a Jekyll site to GitHub Pages 2 | name: Deploy GitHub Pages 3 | 4 | on: 5 | # Runs on pushes targeting the default branch 6 | push: 7 | branches: ["master"] 8 | 9 | # Allows you to run this workflow manually from the Actions tab 10 | workflow_dispatch: 11 | 12 | # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages 13 | permissions: 14 | contents: read 15 | pages: write 16 | id-token: write 17 | 18 | # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. 19 | # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. 20 | concurrency: 21 | group: "pages" 22 | cancel-in-progress: false 23 | 24 | jobs: 25 | # Build job 26 | build: 27 | runs-on: ubuntu-latest 28 | steps: 29 | - name: Checkout 30 | uses: actions/checkout@v4 31 | - name: Setup Pages 32 | uses: actions/configure-pages@v5 33 | - name: Build with Jekyll 34 | uses: actions/jekyll-build-pages@v1 35 | with: 36 | source: ./ 37 | destination: ./_site 38 | - name: Upload artifact 39 | uses: actions/upload-pages-artifact@v3 40 | 41 | # Deployment job 42 | deploy: 43 | environment: 44 | name: github-pages 45 | url: ${{ steps.deployment.outputs.page_url }} 46 | runs-on: ubuntu-latest 47 | needs: build 48 | steps: 49 | - name: Deploy to GitHub Pages 50 | id: deployment 51 | uses: actions/deploy-pages@v4 52 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | *.log 3 | .vagrant/ 4 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "libs/zsh-async"] 2 | path = libs/zsh-async 3 | url = https://github.com/mafredri/zsh-async.git 4 | [submodule "libs/promptlib"] 5 | path = libs/promptlib 6 | url = https://github.com/eendroroy/promptlib-zsh.git 7 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2016-2024 indrajit 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # alien-minimal 2 | 3 | **alien-minimal** theme is faster than many other themes. 4 | 5 | **Why?** It updates part of the prompt asynchronously – the time-consuming processing like git status checking, 6 | git dirty copy checking and so on 7 | 8 | **How?** It starts a background job for these processes, and in the meantime shows initial prompt and lets you use the 9 | terminal as you would normally. 10 | 11 | **alien-minimal** is **independent** of any library/framework like Oh-My-Zsh or Prezto. 12 | 13 | ## Installation 14 | 15 | Add the following line in `~/.zshrc` depending on zsh plugin manager 16 | 17 | ##### [antigen](https://github.com/zsh-users/antigen): 18 | 19 | ```zsh 20 | antigen theme eendroroy/alien-minimal alien-minimal 21 | ``` 22 | 23 | ##### [zgen](https://github.com/tarjoilija/zgen): 24 | 25 | ```zsh 26 | zgen load eendroroy/alien-minimal 27 | ``` 28 | 29 | ##### [zplug](https://github.com/zplug/zplug): 30 | 31 | ```zsh 32 | zplug "eendroroy/alien-minimal" 33 | ``` 34 | 35 | ##### [oh-my-zsh: Overriding and Adding Themes](https://github.com/robbyrussell/oh-my-zsh/wiki/Customization#overriding-and-adding-themes) 36 | 37 | ```zsh 38 | # if using git 2.13 or higher 39 | git clone --recurse-submodules https://github.com/eendroroy/alien-minimal.git ${ZSH_CUSTOM}/themes/alien-minimal 40 | 41 | # if lower version use 42 | cd ${ZSH_CUSTOM}/themes/alien-minimal 43 | git clone https://github.com/eendroroy/alien-minimal.git 44 | git submodule update --init --recursive # --remote 45 | ``` 46 | 47 | Then set `ZSH_THEME="alien-minimal/alien-minimal"` in the `~/.zshrc` file. 48 | 49 | ## Customizations 50 | 51 | **add configurations in `~/.amrc`** 52 | 53 | ### Sections 54 | 55 | #### Available sections: 56 | 57 | - am_ssh_st 58 | - am_prompt_start_tag 59 | - am_prompt_dir 60 | - am_prompt_end_tag 61 | - am_venv 62 | - am_version_prompt 63 | - am_vcs_prompt 64 | - am_space 65 | - am_vi_prompt 66 | 67 | #### `am_vcs_prompt` configuration 68 | 69 | Git: 70 | 71 | - am_git_symbol 72 | - am_git_rebasing 73 | - am_git_branch 74 | - am_git_left_right_master 75 | - am_git_commit_time 76 | - am_git_rev 77 | - am_git_stash 78 | - am_git_left_right 79 | - am_git_dirty 80 | 81 | Mercurial: 82 | 83 | - am_hg_symbol 84 | - am_hg_branch 85 | - am_hg_rev 86 | 87 | Subversion: 88 | 89 | - am_svn_symbol 90 | - am_svn_rev 91 | 92 | #### A sample sensible configuration 93 | 94 | ```zsh 95 | AM_VERSIONS_PROMPT=() 96 | 97 | AM_GIT_SECTION=( 98 | am_git_symbol 99 | am_git_rebasing 100 | am_git_branch 101 | am_git_left_right_master 102 | am_git_commit_time 103 | am_git_rev 104 | am_git_stash 105 | am_git_left_right 106 | am_git_dirty 107 | ) 108 | 109 | AM_HG_SECTION=( 110 | am_hg_symbol 111 | am_hg_branch 112 | am_hg_rev 113 | ) 114 | 115 | AM_SVN_SECTION=( 116 | am_svn_symbol 117 | am_svn_rev 118 | ) 119 | 120 | AM_LEFT_SECTION=( 121 | am_space 122 | am_ssh_st 123 | am_prompt_start_tag 124 | am_prompt_dir 125 | am_prompt_end_tag 126 | am_venv 127 | am_space 128 | ) 129 | 130 | AM_RIGHT_SECTION=( 131 | am_version_prompt 132 | am_vcs_prompt 133 | ) 134 | ``` 135 | 136 | ### Update left prompt asynchronously 137 | 138 | ```zsh 139 | export AM_ASYNC_L_PROMPT=1 140 | ``` 141 | 142 | ### Show initial new line 143 | 144 | Always show a new line 145 | 146 | ```zsh 147 | export AM_INITIAL_LINE_FEED=1 148 | ``` 149 | 150 | Unset `AM_INITIAL_LINE_FEED` to stop printing a new line. 151 | 152 | ### Add start tag and end tag: 153 | 154 | ```zsh 155 | export AM_PROMPT_START_TAG='-->' # previously `PROMPT_START_TAG` 156 | export AM_PROMPT_END_TAG='\ $' # previously `PROMPT_END_TAG` 157 | export AM_PROMPT_START_TAG_COLOR=81 # previously `PROMPT_START_TAG_COLOR` 158 | export AM_PROMPT_END_TAG_COLOR=81 # previously `PROMPT_END_TAG_COLOR` 159 | ``` 160 | 161 | **Result:** 162 | 163 | ```zsh 164 | --> ~ $ 165 | --> ~ $ 1 166 | (venv) --> python-project $ 167 | (venv) --> python-project $ 130 168 | ``` 169 | 170 | You can additionally show the error color on prompt start tag: 171 | 172 | ```zsh 173 | export AM_ERROR_ON_START_TAG=1 174 | ``` 175 | 176 | _Note: if `AM_PROMPT_START_TAG` is empty, this configuration will be ignored._ 177 | 178 | ### Show versions: 179 | 180 | Available version are: 181 | `PYTHON`,`PYTHON_S`,`RUBY`,`RUBY_S`,`JAVA`,`JAVA_S`,`GO`,`GO_S`,`ELIXIR`,`ELIXIR_S`, 182 | `CRYSTAL`,`CRYSTAL_S`,`NODE`,`NODE_S`,`PHP`,`PHP_S`,`GRADLE`,`MAVEN` 183 | 184 | ```zsh 185 | export AM_VERSIONS_PROMPT=(RUBY PYTHON JAVA GO CRYSTAL NODE PHP ELIXIR GRADLE) 186 | ``` 187 | 188 | Customize Separator: 189 | 190 | ```zsh 191 | export AM_VERSION_PROMPT_SEP='|' 192 | ``` 193 | 194 | _Note: Prompt maintain declaration order._ 195 | 196 | ### Configure dirname in prompt: 197 | 198 | ```zsh 199 | export AM_DIR_EXPANSION_LEVEL=2 200 | ``` 201 | 202 | ### Hide exit code: 203 | 204 | ```zsh 205 | export AM_HIDE_EXIT_CODE=1 206 | ``` 207 | 208 | ### Keep previous RPROMPT: 209 | 210 | ```zsh 211 | export AM_KEEP_PROMPT=1 212 | ``` 213 | 214 | ### Color themes: 215 | 216 | ```zsh 217 | 1. export AM_THEME=mono 218 | 2. export AM_THEME=mono_bright 219 | 3. export AM_THEME=terminal 220 | 4. export AM_THEME=soft 221 | 5. export AM_THEME=default 222 | ``` 223 | 224 | _Note: **Unset `AM_THEME` to use default color scheme.**_ 225 | 226 | **Apart from these default themes, custom colors can be defined:** 227 | 228 | Use [previewer](https://eendroroy.github.io/alien-minimal/previewer/) to easily preview colors. 229 | 230 | ```zsh 231 | export AM_VCS_COLOR=1 # color for VCS (G: M: V:) 232 | export AM_SSH_COLOR=11 # color for ssh indicator 233 | export AM_VI_INSERT_COLOR=11 # color for vi insert mode indicator 234 | export AM_VI_NORMAL_COLOR=11 # color for vi normal mode indicator 235 | export AM_NORMAL_COLOR=12 # color for normal text 236 | export AM_ERROR_COLOR=1 # color for ERROR 237 | export AM_REV_COLOR=14 # color for VCS Revision number 238 | export AM_BRANCH_COLOR=10 # color for VCS BRANCH name 239 | export AM_LEFT_RIGHT_COLOR=3 # color for GIT Left-Right status 240 | export AM_STASH_COLOR=3 # color for GIT stash count 241 | export AM_BARE_COLOR=3 # color for GIT bare repo indicator 242 | export AM_COMMIT_SINCE_COLOR=6 # color for last commit time 243 | export AM_FADE_COLOR=8 # color for fade text color 244 | export AM_VENV_COLOR=8 # color fir python virtual env text 245 | export AM_PYTHON_COLOR=2 # color for python version text 246 | export AM_RUBY_COLOR=1 # color for ruby version text 247 | export AM_JAVA_COLOR=15 # color for java version text 248 | export AM_TIMER_COLOR=14 # color for command execution time 249 | ``` 250 | 251 | Or creating a new theme file: 252 | 253 | __/path/to/custom/theme.zsh__ 254 | 255 | ```zsh 256 | #!/usr/bin/env zsh 257 | 258 | am_theme(){ 259 | AM_VCS_COLOR=248 260 | AM_SSH_COLOR=143 261 | AM_VI_INSERT_COLOR=143 262 | AM_VI_NORMAL_COLOR=143 263 | AM_NORMAL_COLOR=39 264 | AM_ERROR_COLOR=208 265 | AM_REV_COLOR=248 266 | AM_BRANCH_COLOR=78 267 | AM_LEFT_RIGHT_COLOR=222 268 | AM_STASH_COLOR=222 269 | AM_BARE_COLOR=222 270 | AM_COMMIT_SINCE_COLOR=244 271 | AM_FADE_COLOR=242 272 | AM_VENV_COLOR=245 273 | AM_PYTHON_COLOR=40 274 | AM_RUBY_COLOR=196 275 | AM_JAVA_COLOR=178 276 | AM_GO_COLOR=81 277 | AM_ELIXIR_COLOR=81 278 | AM_CRYSTAL_COLOR=8 279 | AM_NODE_COLOR=2 280 | AM_PHP_COLOR=5 281 | AM_GRADLE_COLOR=2 282 | AM_MAVEN_COLOR=3 283 | AM_TIMER_COLOR=248 284 | AM_PROMPT_START_TAG_COLOR=39 285 | AM_PROMPT_END_TAG_COLOR=39 286 | AM_GIT_TRACKED_COLOR=78 287 | AM_GIT_UN_TRACKED_COLOR=208 288 | AM_LEFT_RIGHT_COLOR=252 289 | } 290 | ``` 291 | 292 | Then activate the theme using: 293 | 294 | ```zsh 295 | export AM_CUSTOM_THEME_PATH=/path/to/custom/theme.zsh 296 | ``` 297 | 298 | ### Nerd Font: 299 | 300 | **Nerd Font must be installed [nerd-fonts](https://github.com/ryanoasis/nerd-fonts)** 301 | 302 | Enable Nerd Font 303 | 304 | ```zsh 305 | export AM_USE_NERD_FONT=1 # previously `USE_NERD_FONT` 306 | ``` 307 | 308 | ### customize symbols 309 | 310 | ```zsh 311 | export AM_GIT_STASH_SYM='@' 312 | export AM_GIT_BARE_SYM='☢' 313 | export AM_GIT_SYM='G' 314 | export AM_HG_SYM='H' 315 | export AM_SVN_SYM='S' 316 | export AM_SSH_SYM='[S]' 317 | export AM_JAVA_SYM='JAVA:' 318 | export AM_PY_SYM='PY:' 319 | export AM_RB_SYM='RB:' 320 | export AM_GO_SYM='GO:' 321 | export AM_ELIXIR_SYM='EX:' 322 | export AM_CRYSTAL_SYM='CR:' 323 | export AM_NODE_SYM='⬡ ' 324 | export AM_PHP_SYM='PHP:' 325 | export AM_GRADLE_SYM='GRADLE:' 326 | export AM_MAVEN_SYM='MVN:' 327 | export AM_GIT_REBASING_SYMBOL='⇋' 328 | export AM_GIT_PUSH_SYM='↑' 329 | export AM_GIT_PULL_SYM='↓' 330 | export AM_LEFT_RIGHT_SEP='|' 331 | export AM_VIM_INSERT_SYM='(i)' 332 | export AM_VIM_NORMAL_SYM='(n)' 333 | ``` 334 | 335 | _Note: this overrides `AM_USE_NERD_FONT` configuration._ 336 | 337 | ## Libraries Used 338 | 339 | - ['zsh-async'](https://github.com/mafredri/zsh-async) by **[@mafredri](https://github.com/mafredri)** 340 | - ['promptlib-zsh'](https://github.com/eendroroy/promptlib-zsh) by **[@eendroroy](https://github.com/eendroroy)** 341 | 342 | ## License 343 | 344 | The project is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT). 345 | -------------------------------------------------------------------------------- /Vagrantfile: -------------------------------------------------------------------------------- 1 | # -*- mode: ruby -*- 2 | # vi: set ft=ruby : 3 | 4 | Vagrant.configure("2") do |config| 5 | config.vm.box = "minimal/trusty64" 6 | 7 | config.vm.box_check_update = false 8 | config.vbguest.auto_update = false 9 | 10 | # config.vm.network "private_network", ip: "192.168.33 11 | config.vm.synced_folder ".", "/home/vagrant/alien-minimal" 12 | 13 | config.vm.provider "virtualbox" do |vb| 14 | vb.gui = false 15 | vb.memory = 128 16 | end 17 | 18 | config.vm.provision "shell", privileged: false, inline: <<-SHELL 19 | sudo apt-get update 20 | sudo apt-get install -y git zsh 21 | __line_num=$(grep -nr 'vagrant:' /etc/passwd | awk -F':' '{print $1}') 22 | sudo sed -i "${__line_num}s|/bin/bash|$(which zsh)|g" /etc/passwd 23 | git clone https://github.com/eendroroy/dotfiles.git ~/.dotfiles 24 | cd ~/.dotfiles 25 | bash install.sh 26 | SHELL 27 | end 28 | -------------------------------------------------------------------------------- /alien-minimal.plugin.zsh: -------------------------------------------------------------------------------- 1 | alien-minimal.zsh -------------------------------------------------------------------------------- /alien-minimal.zsh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env zsh 2 | 3 | if [[ -f ~/.amrc ]]; then 4 | # shellcheck disable=SC1090 5 | source ~/.amrc 6 | else 7 | echo 8 | print -P "%F{red} ===> '~/.amrc' file not found, creating dummy '~/.amrc' file ... %f" 9 | echo 10 | cp "${0:A:h}/amrc.zsh" ~/.amrc 11 | fi 12 | 13 | THEME_ROOT=${0:A:h} 14 | 15 | source "${THEME_ROOT}/libs/promptlib/activate" 16 | source "${THEME_ROOT}/libs/zsh-async/async.zsh" 17 | 18 | source "${THEME_ROOT}/modules/init.zsh" 19 | source "${THEME_ROOT}/modules/symbols.zsh" 20 | source "${THEME_ROOT}/modules/sections_general.zsh" 21 | source "${THEME_ROOT}/modules/sections_vcs.zsh" 22 | source "${THEME_ROOT}/modules/sections_version.zsh" 23 | source "${THEME_ROOT}/modules/prompt.zsh" 24 | source "${THEME_ROOT}/modules/viprompt.zsh" 25 | 26 | precmd() { 27 | autoload -U add-zsh-hook 28 | setopt prompt_subst 29 | am_load_theme 30 | __import_env 31 | 32 | if [[ ${AM_ASYNC_L_PROMPT} == 1 ]]; then 33 | am_async_l_prompt 34 | else 35 | # shellcheck disable=SC2034 36 | PROMPT="$(am_l_prompt_render)" 37 | fi 38 | 39 | # shellcheck disable=SC2034 40 | [[ ${AM_KEEP_PROMPT} != 1 ]] && RPROMPT="" 41 | am_async_r_prompt 42 | } 43 | -------------------------------------------------------------------------------- /alien-minimal.zsh-theme: -------------------------------------------------------------------------------- 1 | alien-minimal.zsh -------------------------------------------------------------------------------- /amrc.zsh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env zsh 2 | 3 | ## ===> THEME 4 | # export AM_THEME=default 5 | 6 | ## ===> SECTIONS 7 | # export AM_VERSIONS_PROMPT=() 8 | # export AM_GIT_SECTION=(am_git_symbol am_git_rebasing am_git_branch am_git_left_right_master am_git_commit_time am_git_rev am_git_stash am_git_left_right am_git_dirty) 9 | # export AM_HG_SECTION=(am_hg_symbol am_hg_branch am_hg_rev) 10 | # export AM_SVN_SECTION=(am_svn_symbol am_svn_rev) 11 | # export AM_LEFT_SECTION=(am_space am_prompt_dir am_space) 12 | # export AM_RIGHT_SECTION=(am_version_prompt am_vcs_prompt) 13 | 14 | ## ===> CONFIGS 15 | # export AM_ASYNC_L_PROMPT=1 16 | # export AM_INITIAL_LINE_FEED=0 17 | # export AM_USE_NERD_FONT=1 18 | # export AM_DIR_EXPANSION_LEVEL=1 19 | 20 | ## ===> SYMBOLS 21 | # export AM_VERSION_PROMPT_SEP='|' 22 | # export AM_JAVA_SYM='JAVA:' 23 | # export AM_PY_SYM='PY:' 24 | # export AM_RB_SYM='RB:' 25 | # export AM_GO_SYM='GO:' 26 | # export AM_ELIXIR_SYM='EX:' 27 | # export AM_CRYSTAL_SYM='CR:' 28 | # export AM_NODE_SYM='⬡ ' 29 | # export AM_PHP_SYM='PHP:' 30 | # export AM_HG_SYM='H' 31 | # export AM_SVN_SYM='S' 32 | # export AM_SSH_SYM='[S]' 33 | # export AM_GIT_SYM='G' 34 | # export AM_GIT_REBASING_SYMBOL='⇋' 35 | # export AM_GIT_PUSH_SYM='↑' 36 | # export AM_GIT_PULL_SYM='↓' 37 | # export AM_GIT_STASH_SYM='@' 38 | # export AM_GIT_BARE_SYM='☢' 39 | # export AM_PROMPT_START_TAG='' 40 | # export AM_PROMPT_END_TAG='' 41 | 42 | ## ===> COLORS 43 | # export AM_VCS_COLOR=248 44 | # export AM_SSH_COLOR=143 45 | # export AM_NORMAL_COLOR=39 46 | # export AM_ERROR_COLOR=208 47 | # export AM_REV_COLOR=248 48 | # export AM_BRANCH_COLOR=78 49 | # export AM_LEFT_RIGHT_COLOR=222 50 | # export AM_STASH_COLOR=222 51 | # export AM_BARE_COLOR=222 52 | # export AM_COMMIT_SINCE_COLOR=244 53 | # export AM_FADE_COLOR=242 54 | # export AM_VENV_COLOR=245 55 | # export AM_PYTHON_COLOR=40 56 | # export AM_RUBY_COLOR=196 57 | # export AM_JAVA_COLOR=178 58 | # export AM_GO_COLOR=81 59 | # export AM_ELIXIR_COLOR=81 60 | # export AM_CRYSTAL_COLOR=8 61 | # export AM_NODE_COLOR=2 62 | # export AM_PHP_COLOR=5 63 | # export AM_GRADLE_COLOR=5 64 | # export AM_TIMER_COLOR=248 65 | # export AM_PROMPT_START_TAG_COLOR=39 66 | # export AM_PROMPT_END_TAG_COLOR=39 67 | # export AM_GIT_TRACKED_COLOR=78 68 | # export AM_GIT_UN_TRACKED_COLOR=208 69 | -------------------------------------------------------------------------------- /modules/init.zsh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env zsh 2 | 3 | __import_env() { 4 | env | grep --color=never "ENV_VERSION=\|^VIRTUAL_ENV=\|^AM_" | while IFS=$'\n' read -r line; do 5 | eval "export $(echo "${line}" | awk -F'=' '{print $1"=\""$2"\""}')" > /dev/null 6 | done 7 | } 8 | 9 | THEME_DIR="${0:A:h}/themes" 10 | 11 | am_load_theme(){ 12 | if [[ -z "${AM_CUSTOM_THEME_PATH}" ]]; then 13 | if [[ -z "${AM_THEME}" ]]; then 14 | source "${THEME_DIR}/default.zsh" 15 | else 16 | # shellcheck disable=SC1090 17 | source "${THEME_DIR}/${AM_THEME}.zsh" 18 | fi 19 | else 20 | if [[ -f "${AM_CUSTOM_THEME_PATH}" ]]; then 21 | # shellcheck disable=SC1090 22 | source "${AM_CUSTOM_THEME_PATH}" 23 | else 24 | printf "\n ==> (WARN) Theme file at '%s' not found. Loading default ...\n" "$AM_CUSTOM_THEME_PATH" 25 | source "${THEME_DIR}/default.zsh" 26 | fi 27 | fi 28 | am_theme 29 | } 30 | 31 | [[ -z "${AM_DIR_EXPANSION_LEVEL}" ]] && AM_DIR_EXPANSION_LEVEL=1 32 | [[ -z "${AM_VI_PROMPT_VAL}" ]] && AM_VI_PROMPT_VAL="" -------------------------------------------------------------------------------- /modules/prompt.zsh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env zsh 2 | 3 | [[ -z "${AM_VERSIONS_PROMPT}" ]] && AM_VERSIONS_PROMPT=() 4 | 5 | [[ -z "${AM_GIT_SECTION}" ]] && AM_GIT_SECTION=( 6 | am_git_symbol 7 | am_git_rebasing 8 | am_git_branch 9 | am_git_left_right_master 10 | am_git_commit_time 11 | am_git_rev 12 | am_git_stash 13 | am_git_left_right 14 | am_git_dirty 15 | ) 16 | 17 | [[ -z "${AM_HG_SECTION}" ]] && AM_HG_SECTION=( 18 | am_hg_symbol 19 | am_hg_branch 20 | am_hg_rev 21 | ) 22 | 23 | [[ -z "${AM_SVN_SECTION}" ]] && AM_SVN_SECTION=( 24 | am_svn_symbol 25 | am_svn_rev 26 | ) 27 | 28 | [[ -z "${AM_LEFT_SECTION}" ]] && AM_LEFT_SECTION=( 29 | am_ssh_st 30 | am_prompt_start_tag 31 | am_prompt_dir 32 | am_vi_prompt 33 | am_prompt_end_tag 34 | am_venv 35 | ) 36 | 37 | [[ -z "${AM_RIGHT_SECTION}" ]] && AM_RIGHT_SECTION=( 38 | am_version_prompt 39 | am_vcs_prompt 40 | ) 41 | 42 | am_r_prompt_render(){ 43 | __r_prompt_val="" 44 | if [[ ${#AM_RIGHT_SECTION[@]} -ne 0 ]]; then 45 | LOOP_INDEX=0 46 | for section in "${AM_RIGHT_SECTION[@]}"; do 47 | [[ ${LOOP_INDEX} != "0" ]] && __r_prompt_val+=" " 48 | __r_prompt_val+="$($section)" 49 | LOOP_INDEX=$((LOOP_INDEX + 1)) 50 | done 51 | fi 52 | echo -ne "${__r_prompt_val}" | tr -s ' ' 53 | } 54 | 55 | am_l_prompt_render(){ 56 | __l_prompt_val="" 57 | if [[ ${#AM_LEFT_SECTION[@]} -ne 0 ]]; then 58 | LOOP_INDEX=0 59 | for section in "${AM_LEFT_SECTION[@]}"; do 60 | [[ ${LOOP_INDEX} != "0" ]] && __l_prompt_val+=" " 61 | __l_prompt_val+="$($section)" 62 | LOOP_INDEX=$((LOOP_INDEX + 1)) 63 | done 64 | fi 65 | 66 | [[ "${AM_INITIAL_LINE_FEED}" == 1 ]] && __l_prompt_val=$'\n'"${__l_prompt_val}" 67 | echo -ne "${__l_prompt_val}" | tr -s ' ' 68 | } 69 | 70 | r_prompt_completed(){ 71 | # shellcheck disable=SC2034 72 | RPROMPT=$(echo "${3}" | tr -s ' ') 73 | zle && zle reset-prompt 74 | } 75 | 76 | am_async_r_prompt(){ 77 | async_init 78 | async_stop_worker "right_prompt_$$" 79 | async_start_worker "right_prompt_$$" -n 80 | async_register_callback "right_prompt_$$" r_prompt_completed 81 | async_job "right_prompt_$$" am_r_prompt_render 82 | } 83 | 84 | l_prompt_completed(){ 85 | # shellcheck disable=SC2034 86 | PROMPT=$(echo "${3}" | tr -s ' ') 87 | zle && zle reset-prompt 88 | } 89 | 90 | am_async_l_prompt(){ 91 | async_init 92 | async_stop_worker "left_prompt_$$" 93 | async_start_worker "left_prompt_$$" -n 94 | async_register_callback "left_prompt_$$" l_prompt_completed 95 | async_job "left_prompt_$$" am_l_prompt_render 96 | } -------------------------------------------------------------------------------- /modules/sections_general.zsh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env zsh 2 | 3 | am_version_prompt(){ 4 | if [[ ${#AM_VERSIONS_PROMPT[@]} -ne 0 ]]; then 5 | LOOP_INDEX=0 6 | for version in "${AM_VERSIONS_PROMPT[@]}"; do 7 | [[ ${LOOP_INDEX} == "0" ]] && version_prompt_val+="%F{$AM_FADE_COLOR}[%f" 8 | [[ ${LOOP_INDEX} != "0" ]] && version_prompt_val+="%F{$AM_FADE_COLOR}${AM_VERSION_PROMPT_SEP}%f" 9 | 10 | [[ ${version} == "PYTHON" ]] && version_prompt_val+="$(am_python_version)" 11 | [[ ${version} == "PYTHON_S" ]] && version_prompt_val+="$(am_python_short_version)" 12 | [[ ${version} == "RUBY" ]] && version_prompt_val+="$(am_ruby_version)" 13 | [[ ${version} == "RUBY_S" ]] && version_prompt_val+="$(am_ruby_short_version)" 14 | [[ ${version} == "JAVA" ]] && version_prompt_val+="$(am_java_version)" 15 | [[ ${version} == "JAVA_S" ]] && version_prompt_val+="$(am_java_short_version)" 16 | [[ ${version} == "GO" ]] && version_prompt_val+="$(am_go_version)" 17 | [[ ${version} == "GO_S" ]] && version_prompt_val+="$(am_go_short_version)" 18 | [[ ${version} == "ELIXIR" ]] && version_prompt_val+="$(am_elixir_version)" 19 | [[ ${version} == "ELIXIR_S" ]] && version_prompt_val+="$(am_elixir_short_version)" 20 | [[ ${version} == "CRYSTAL" ]] && version_prompt_val+="$(am_crystal_version)" 21 | [[ ${version} == "CRYSTAL_S" ]] && version_prompt_val+="$(am_crystal_short_version)" 22 | [[ ${version} == "NODE" ]] && version_prompt_val+="$(am_node_version)" 23 | [[ ${version} == "NODE_S" ]] && version_prompt_val+="$(am_node_short_version)" 24 | [[ ${version} == "PHP" ]] && version_prompt_val+="$(am_php_version)" 25 | [[ ${version} == "PHP_S" ]] && version_prompt_val+="$(am_php_short_version)" 26 | [[ ${version} == "GRADLE" ]] && version_prompt_val+="$(am_gradle_version)" 27 | [[ ${version} == "MAVEN" ]] && version_prompt_val+="$(am_maven_version)" 28 | 29 | LOOP_INDEX=$((LOOP_INDEX + 1)) 30 | done 31 | 32 | [[ "$LOOP_INDEX" != "0" ]] && version_prompt_val+="%F{$AM_FADE_COLOR}]%f" 33 | fi 34 | 35 | echo -n "${version_prompt_val}" 36 | 37 | unset LOOP_INDEX version_prompt_val 38 | } 39 | 40 | am_vcs_prompt(){ 41 | __vcs_prompt_value="" 42 | if [[ $(am_is_git) == 1 ]]; then 43 | if [[ ${#AM_GIT_SECTION[@]} -ne 0 ]]; then 44 | LOOP_INDEX=0 45 | for section in "${AM_GIT_SECTION[@]}"; do 46 | [[ ${LOOP_INDEX} != "0" ]] && __vcs_prompt_value+=" " 47 | __vcs_prompt_value+="$($section)" 48 | LOOP_INDEX=$((LOOP_INDEX + 1)) 49 | done 50 | fi 51 | elif [[ $(am_is_hg) == 1 ]]; then 52 | if [[ ${#AM_HG_SECTION[@]} -ne 0 ]]; then 53 | LOOP_INDEX=0 54 | for section in "${AM_GIT_SECTION[@]}"; do 55 | [[ ${LOOP_INDEX} != "0" ]] && __vcs_prompt_value+=" " 56 | __vcs_prompt_value+="$($section)" 57 | LOOP_INDEX=$((LOOP_INDEX + 1)) 58 | done 59 | fi 60 | elif [[ $(am_is_svn) == 1 ]]; then 61 | if [[ ${#AM_SVN_SECTION[@]} -ne 0 ]]; then 62 | LOOP_INDEX=0 63 | for section in "${AM_GIT_SECTION[@]}"; do 64 | [[ ${LOOP_INDEX} != "0" ]] && __vcs_prompt_value+=" " 65 | __vcs_prompt_value+="$($section)" 66 | LOOP_INDEX=$((LOOP_INDEX + 1)) 67 | done 68 | fi 69 | fi 70 | echo -ne "${__vcs_prompt_value}" 71 | unset __vcs_prompt_value LOOP_INDEX 72 | } 73 | 74 | am_prompt_end_tag() { 75 | echo -ne "%F{$AM_PROMPT_END_TAG_COLOR}${AM_PROMPT_END_TAG}%f" 76 | } 77 | 78 | am_prompt_start_tag(){ 79 | if [[ ${AM_ERROR_ON_START_TAG} == 1 && ${AM_PROMPT_START_TAG} != "" ]]; then 80 | echo -ne "%(?.%F{$AM_PROMPT_START_TAG_COLOR}${AM_PROMPT_START_TAG}%f.%F{$AM_ERROR_COLOR}${AM_PROMPT_START_TAG}%f)" 81 | else 82 | echo -ne "%F{$AM_PROMPT_START_TAG_COLOR}${AM_PROMPT_START_TAG}%f" 83 | fi 84 | } 85 | 86 | am_prompt_dir(){ 87 | if [[ ${AM_ERROR_ON_START_TAG} == 1 && ${AM_PROMPT_START_TAG} != "" ]]; then 88 | echo -ne "%F{$AM_NORMAL_COLOR}%${AM_DIR_EXPANSION_LEVEL}~%f" 89 | else 90 | echo -ne "%(?.%F{$AM_NORMAL_COLOR}%${AM_DIR_EXPANSION_LEVEL}~%f.%F{$AM_ERROR_COLOR}%B%${AM_DIR_EXPANSION_LEVEL}~%b%f)" 91 | fi 92 | [[ ${AM_HIDE_EXIT_CODE} -ne 1 ]] && echo -ne "%(?.. %F{$AM_FADE_COLOR}%?%f)" 93 | } 94 | 95 | am_space(){ 96 | echo -ne " " 97 | } 98 | 99 | am_is_git(){ 100 | echo -ne "$(plib_is_git)" 101 | } 102 | 103 | am_git_branch(){ 104 | echo -ne "%B%F{$AM_BRANCH_COLOR}$(plib_git_branch)%f%b" 105 | } 106 | 107 | am_git_rev(){ 108 | echo -ne "%F{$AM_REV_COLOR}$(plib_git_rev)%f" 109 | } 110 | 111 | am_git_dirty(){ 112 | [[ -z "${AM_GIT_TRACKED_COLOR}" ]] && AM_GIT_TRACKED_COLOR=green 113 | [[ -z "${AM_GIT_UN_TRACKED_COLOR}" ]] && AM_GIT_UN_TRACKED_COLOR=red 114 | 115 | [[ -z "${AM_GIT_ADD_SYM}" ]] && AM_GIT_ADD_SYM='+' 116 | [[ -z "${AM_GIT_DEL_SYM}" ]] && AM_GIT_DEL_SYM='-' 117 | [[ -z "${AM_GIT_MOD_SYM}" ]] && AM_GIT_MOD_SYM='⭑' 118 | [[ -z "${AM_GIT_NEW_SYM}" ]] && AM_GIT_NEW_SYM='?' 119 | 120 | __git_status=$(plib_git_status) 121 | 122 | __mod_t=$(plib_git_staged_mod "$__git_status") 123 | __add_t=$(plib_git_staged_add "$__git_status") 124 | __del_t=$(plib_git_staged_del "$__git_status") 125 | 126 | __mod_ut=$(plib_git_unstaged_mod "$__git_status") 127 | __add_ut=$(plib_git_unstaged_add "$__git_status") 128 | __del_ut=$(plib_git_unstaged_del "$__git_status") 129 | 130 | __new=$(plib_git_status_new "$__git_status") 131 | 132 | DIRTY='' 133 | [[ "$__add_t" != "0" ]] && DIRTY+="%F{$AM_GIT_TRACKED_COLOR}${AM_GIT_ADD_SYM}%f " 134 | [[ "$__add_ut" != "0" ]] && DIRTY+="%F{$AM_GIT_UN_TRACKED_COLOR}${AM_GIT_ADD_SYM}%f " 135 | [[ "$__mod_t" != "0" ]] && DIRTY+="%F{$AM_GIT_TRACKED_COLOR}${AM_GIT_MOD_SYM}%f " 136 | [[ "$__mod_ut" != "0" ]] && DIRTY+="%F{$AM_GIT_UN_TRACKED_COLOR}${AM_GIT_MOD_SYM}%f " 137 | [[ "$__del_t" != "0" ]] && DIRTY+="%F{$AM_GIT_TRACKED_COLOR}${AM_GIT_DEL_SYM}%f " 138 | [[ "$__del_ut" != "0" ]] && DIRTY+="%F{$AM_GIT_UN_TRACKED_COLOR}${AM_GIT_DEL_SYM}%f " 139 | [[ "$__new" != "0" ]] && DIRTY+="%F{$AM_GIT_UN_TRACKED_COLOR}${AM_GIT_NEW_SYM}%f " 140 | 141 | if [[ "$DIRTY" != '' ]]; then 142 | echo -ne "${DIRTY}" 143 | fi 144 | 145 | unset __git_status __mod_t __add_t __del_t __mod_ut __add_ut __del_ut __new DIRTY 146 | } 147 | 148 | am_git_left_right(){ 149 | [[ -z "${AM_GIT_PUSH_SYM}" ]] && AM_GIT_PUSH_SYM='↑' 150 | [[ -z "${AM_GIT_PULL_SYM}" ]] && AM_GIT_PULL_SYM='↓' 151 | 152 | __git_left_right=$(plib_git_left_right) 153 | 154 | __pull=$(echo "$__git_left_right" | awk '{print $2}' | tr -d ' \n') 155 | __push=$(echo "$__git_left_right" | awk '{print $1}' | tr -d ' \n') 156 | 157 | [[ "$__pull" != 0 ]] && [[ "$__pull" != '' ]] && __push_pull="${__pull}${AM_GIT_PULL_SYM}" 158 | [[ -n "$__push_pull" ]] && __push_pull+=' ' 159 | [[ "$__push" != 0 ]] && [[ "$__push" != '' ]] && __push_pull+="${__push}${AM_GIT_PUSH_SYM}" 160 | 161 | if [[ "$__push_pull" != '' ]]; then 162 | echo -ne "%F{$AM_LEFT_RIGHT_COLOR}${__push_pull}%f" 163 | fi 164 | 165 | unset __git_left_right __pull __push __push_pull 166 | } 167 | 168 | am_git_left_right_master(){ 169 | [[ -z "${AM_LEFT_RIGHT_SEP}" ]] && AM_LEFT_RIGHT_SEP='|' 170 | 171 | __git_left_right=$(plib_git_left_right_master) 172 | 173 | __left=$(echo "$__git_left_right" | awk '{print $1}' | tr -d ' \n') 174 | __right=$(echo "$__git_left_right" | awk '{print $2}' | tr -d ' \n') 175 | 176 | __left_right="${__left}${AM_LEFT_RIGHT_SEP}${__right}" 177 | 178 | if [[ "$__left_right" != '0|0' ]]; then 179 | echo -ne "%F{$AM_LEFT_RIGHT_COLOR}${__left}${AM_LEFT_RIGHT_SEP}${__right}%f" 180 | fi 181 | 182 | unset __git_left_right __left __right __left_right 183 | } 184 | 185 | am_git_stash(){ 186 | if [[ "$(plib_git_is_bare)" == 1 ]]; then 187 | echo -ne "%F{$AM_BARE_COLOR}${AM_GIT_BARE_SYM}${__stash}%f" 188 | else 189 | __stash=$(plib_git_stash) 190 | if [[ "$__stash" != "0" ]]; then 191 | echo -ne "%F{$AM_STASH_COLOR}${AM_GIT_STASH_SYM}${__stash}%f" 192 | fi 193 | fi 194 | } 195 | 196 | am_git_commit_time(){ 197 | echo -ne "%F{$AM_COMMIT_SINCE_COLOR}[$(plib_git_commit_since)]%f" 198 | } 199 | 200 | am_git_rebasing(){ 201 | if [[ $(plib_is_git_rebasing) == 1 ]]; then 202 | echo -ne "%F{$AM_ERROR_COLOR}${AM_GIT_REBASING_SYMBOL}%f" 203 | fi 204 | } 205 | 206 | am_git_symbol(){ 207 | echo -ne "%F{$AM_VCS_COLOR}${AM_GIT_SYM}%f" 208 | } 209 | 210 | am_is_hg(){ 211 | echo -ne "$(plib_is_hg)" 212 | } 213 | 214 | am_hg_branch(){ 215 | echo -ne "%B%F{$AM_BRANCH_COLOR}$(plib_hg_branch)%f%b"; 216 | } 217 | 218 | am_hg_rev(){ 219 | echo -ne "%F{$AM_REV_COLOR}$(plib_hg_rev)%f"; 220 | } 221 | 222 | am_hg_symbol(){ 223 | echo -ne "%F{$AM_VCS_COLOR}${AM_HG_SYM}:%f" 224 | } 225 | 226 | am_is_svn(){ 227 | plib_is_svn 228 | } 229 | 230 | am_svn_rev(){ 231 | echo -n "%B%F{$AM_REV_COLOR}$(plib_svn_rev)%f%b"; 232 | } 233 | 234 | am_svn_symbol(){ 235 | echo -ne "%F{$AM_VCS_COLOR}${AM_SVN_SYM}:%f" 236 | } 237 | 238 | am_ssh_st(){ 239 | __ssh_st=$(plib_ssh_st) 240 | if [[ ${__ssh_st} != "" ]] 241 | then 242 | echo -n "%F{$AM_SSH_COLOR}${AM_SSH_SYM}%f" 243 | else 244 | echo -ne "" 245 | fi 246 | } -------------------------------------------------------------------------------- /modules/sections_vcs.zsh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env zsh 2 | 3 | am_version_prompt(){ 4 | if [[ ${#AM_VERSIONS_PROMPT[@]} -ne 0 ]]; then 5 | LOOP_INDEX=0 6 | for version in "${AM_VERSIONS_PROMPT[@]}"; do 7 | [[ ${LOOP_INDEX} == "0" ]] && version_prompt_val+="%F{$AM_FADE_COLOR}[%f" 8 | [[ ${LOOP_INDEX} != "0" ]] && version_prompt_val+="%F{$AM_FADE_COLOR}${AM_VERSION_PROMPT_SEP}%f" 9 | 10 | [[ ${version} == "PYTHON" ]] && version_prompt_val+="$(am_python_version)" 11 | [[ ${version} == "PYTHON_S" ]] && version_prompt_val+="$(am_python_short_version)" 12 | [[ ${version} == "RUBY" ]] && version_prompt_val+="$(am_ruby_version)" 13 | [[ ${version} == "RUBY_S" ]] && version_prompt_val+="$(am_ruby_short_version)" 14 | [[ ${version} == "JAVA" ]] && version_prompt_val+="$(am_java_version)" 15 | [[ ${version} == "JAVA_S" ]] && version_prompt_val+="$(am_java_short_version)" 16 | [[ ${version} == "GO" ]] && version_prompt_val+="$(am_go_version)" 17 | [[ ${version} == "GO_S" ]] && version_prompt_val+="$(am_go_short_version)" 18 | [[ ${version} == "ELIXIR" ]] && version_prompt_val+="$(am_elixir_version)" 19 | [[ ${version} == "ELIXIR_S" ]] && version_prompt_val+="$(am_elixir_short_version)" 20 | [[ ${version} == "CRYSTAL" ]] && version_prompt_val+="$(am_crystal_version)" 21 | [[ ${version} == "CRYSTAL_S" ]] && version_prompt_val+="$(am_crystal_short_version)" 22 | [[ ${version} == "NODE" ]] && version_prompt_val+="$(am_node_version)" 23 | [[ ${version} == "NODE_S" ]] && version_prompt_val+="$(am_node_short_version)" 24 | [[ ${version} == "PHP" ]] && version_prompt_val+="$(am_php_version)" 25 | [[ ${version} == "PHP_S" ]] && version_prompt_val+="$(am_php_short_version)" 26 | [[ ${version} == "GRADLE" ]] && version_prompt_val+="$(am_gradle_version)" 27 | [[ ${version} == "MAVEN" ]] && version_prompt_val+="$(am_maven_version)" 28 | 29 | LOOP_INDEX=$((LOOP_INDEX + 1)) 30 | done 31 | 32 | [[ "$LOOP_INDEX" != "0" ]] && version_prompt_val+="%F{$AM_FADE_COLOR}]%f" 33 | fi 34 | echo -n "${version_prompt_val}" 35 | } 36 | 37 | am_vcs_prompt(){ 38 | __vcs_prompt_value="" 39 | if [[ $(am_is_git) == 1 ]]; then 40 | if [[ ${#AM_GIT_SECTION[@]} -ne 0 ]]; then 41 | LOOP_INDEX=0 42 | for section in "${AM_GIT_SECTION[@]}"; do 43 | [[ ${LOOP_INDEX} != "0" ]] && __vcs_prompt_value+=" " 44 | __vcs_prompt_value+="$($section)" 45 | LOOP_INDEX=$((LOOP_INDEX + 1)) 46 | done 47 | fi 48 | elif [[ $(am_is_hg) == 1 ]]; then 49 | if [[ ${#AM_HG_SECTION[@]} -ne 0 ]]; then 50 | LOOP_INDEX=0 51 | for section in "${AM_HG_SECTION[@]}"; do 52 | [[ ${LOOP_INDEX} != "0" ]] && __vcs_prompt_value+=" " 53 | __vcs_prompt_value+="$($section)" 54 | LOOP_INDEX=$((LOOP_INDEX + 1)) 55 | done 56 | fi 57 | elif [[ $(am_is_svn) == 1 ]]; then 58 | if [[ ${#AM_SVN_SECTION[@]} -ne 0 ]]; then 59 | LOOP_INDEX=0 60 | for section in "${AM_SVN_SECTION[@]}"; do 61 | [[ ${LOOP_INDEX} != "0" ]] && __vcs_prompt_value+=" " 62 | __vcs_prompt_value+="$($section)" 63 | LOOP_INDEX=$((LOOP_INDEX + 1)) 64 | done 65 | fi 66 | fi 67 | echo -ne "${__vcs_prompt_value}" 68 | unset __vcs_prompt_value LOOP_INDEX 69 | } 70 | 71 | am_prompt_end_tag() { 72 | echo -ne "%F{$AM_PROMPT_END_TAG_COLOR}${AM_PROMPT_END_TAG}%f" 73 | } 74 | 75 | am_prompt_start_tag(){ 76 | if [[ ${AM_ERROR_ON_START_TAG} == 1 && ${AM_PROMPT_START_TAG} != "" ]]; then 77 | echo -ne "%(?.%F{$AM_PROMPT_START_TAG_COLOR}${AM_PROMPT_START_TAG}%f.%F{$AM_ERROR_COLOR}${AM_PROMPT_START_TAG}%f)" 78 | else 79 | echo -ne "%F{$AM_PROMPT_START_TAG_COLOR}${AM_PROMPT_START_TAG}%f" 80 | fi 81 | } 82 | 83 | am_prompt_dir(){ 84 | if [[ ${AM_ERROR_ON_START_TAG} == 1 && ${AM_PROMPT_START_TAG} != "" ]]; then 85 | echo -ne "%F{$AM_NORMAL_COLOR}%${AM_DIR_EXPANSION_LEVEL}~%f" 86 | else 87 | echo -ne "%(?.%F{$AM_NORMAL_COLOR}%${AM_DIR_EXPANSION_LEVEL}~%f.%F{$AM_ERROR_COLOR}%B%${AM_DIR_EXPANSION_LEVEL}~%b%f)" 88 | fi 89 | [[ ${AM_HIDE_EXIT_CODE} -ne 1 ]] && echo -ne "%(?.. %F{$AM_FADE_COLOR}%?%f)" 90 | } 91 | 92 | am_space(){ 93 | echo -ne " " 94 | } 95 | 96 | am_is_git(){ 97 | echo -ne "$(plib_is_git)" 98 | } 99 | 100 | am_git_branch(){ 101 | echo -ne "%B%F{$AM_BRANCH_COLOR}$(plib_git_branch)%f%b" 102 | } 103 | 104 | am_git_rev(){ 105 | echo -ne "%F{$AM_REV_COLOR}$(plib_git_rev)%f" 106 | } 107 | 108 | am_git_dirty(){ 109 | [[ -z "${AM_GIT_TRACKED_COLOR}" ]] && AM_GIT_TRACKED_COLOR=green 110 | [[ -z "${AM_GIT_UN_TRACKED_COLOR}" ]] && AM_GIT_UN_TRACKED_COLOR=red 111 | 112 | [[ -z "${AM_GIT_ADD_SYM}" ]] && AM_GIT_ADD_SYM='+' 113 | [[ -z "${AM_GIT_DEL_SYM}" ]] && AM_GIT_DEL_SYM='-' 114 | [[ -z "${AM_GIT_MOD_SYM}" ]] && AM_GIT_MOD_SYM='⭑' 115 | [[ -z "${AM_GIT_NEW_SYM}" ]] && AM_GIT_NEW_SYM='?' 116 | 117 | __git_status=$(plib_git_status) 118 | 119 | __mod_t=$(plib_git_staged_mod "$__git_status") 120 | __add_t=$(plib_git_staged_add "$__git_status") 121 | __del_t=$(plib_git_staged_del "$__git_status") 122 | 123 | __mod_ut=$(plib_git_unstaged_mod "$__git_status") 124 | __add_ut=$(plib_git_unstaged_add "$__git_status") 125 | __del_ut=$(plib_git_unstaged_del "$__git_status") 126 | 127 | __new=$(plib_git_status_new "$__git_status") 128 | 129 | DIRTY='' 130 | [[ "$__add_t" != "0" ]] && DIRTY+="%F{$AM_GIT_TRACKED_COLOR}${AM_GIT_ADD_SYM}%f " 131 | [[ "$__add_ut" != "0" ]] && DIRTY+="%F{$AM_GIT_UN_TRACKED_COLOR}${AM_GIT_ADD_SYM}%f " 132 | [[ "$__mod_t" != "0" ]] && DIRTY+="%F{$AM_GIT_TRACKED_COLOR}${AM_GIT_MOD_SYM}%f " 133 | [[ "$__mod_ut" != "0" ]] && DIRTY+="%F{$AM_GIT_UN_TRACKED_COLOR}${AM_GIT_MOD_SYM}%f " 134 | [[ "$__del_t" != "0" ]] && DIRTY+="%F{$AM_GIT_TRACKED_COLOR}${AM_GIT_DEL_SYM}%f " 135 | [[ "$__del_ut" != "0" ]] && DIRTY+="%F{$AM_GIT_UN_TRACKED_COLOR}${AM_GIT_DEL_SYM}%f " 136 | [[ "$__new" != "0" ]] && DIRTY+="%F{$AM_GIT_UN_TRACKED_COLOR}${AM_GIT_NEW_SYM}%f " 137 | 138 | if [[ "$DIRTY" != '' ]]; then 139 | echo -ne "${DIRTY}" 140 | fi 141 | 142 | unset __mod_ut __new_ut __add_ut __mod_t __new_t __add_t __del DIRTY 143 | } 144 | 145 | am_git_left_right(){ 146 | [[ -z "${AM_GIT_PUSH_SYM}" ]] && AM_GIT_PUSH_SYM='↑' 147 | [[ -z "${AM_GIT_PULL_SYM}" ]] && AM_GIT_PULL_SYM='↓' 148 | 149 | __git_left_right=$(plib_git_left_right) 150 | 151 | __pull=$(echo "$__git_left_right" | awk '{print $2}' | tr -d ' \n') 152 | __push=$(echo "$__git_left_right" | awk '{print $1}' | tr -d ' \n') 153 | 154 | [[ "$__pull" != 0 ]] && [[ "$__pull" != '' ]] && __pushpull="${__pull}${AM_GIT_PULL_SYM}" 155 | [[ -n "$__pushpull" ]] && __pushpull+=' ' 156 | [[ "$__push" != 0 ]] && [[ "$__push" != '' ]] && __pushpull+="${__push}${AM_GIT_PUSH_SYM}" 157 | 158 | if [[ "$__pushpull" != '' ]]; then 159 | echo -ne "%F{$AM_LEFT_RIGHT_COLOR}${__pushpull}%f" 160 | fi 161 | } 162 | 163 | am_git_left_right_master(){ 164 | [[ -z "${AM_LEFT_RIGHT_SEP}" ]] && AM_LEFT_RIGHT_SEP='|' 165 | 166 | __git_left_right=$(plib_git_left_right_master) 167 | 168 | __left=$(echo "$__git_left_right" | awk '{print $1}' | tr -d ' \n') 169 | __right=$(echo "$__git_left_right" | awk '{print $2}' | tr -d ' \n') 170 | 171 | __left_right="${__left}${AM_LEFT_RIGHT_SEP}${__right}" 172 | 173 | if [[ "$__left_right" != '0|0' ]]; then 174 | echo -ne "%F{$AM_LEFT_RIGHT_COLOR}${__left}${AM_LEFT_RIGHT_SEP}${__right}%f" 175 | fi 176 | } 177 | 178 | am_git_stash(){ 179 | if [[ "$(plib_git_is_bare)" == 1 ]]; then 180 | echo -ne "%F{$AM_BARE_COLOR}${AM_GIT_BARE_SYM}${__stash}%f" 181 | else 182 | __stash=$(plib_git_stash) 183 | if [[ "$__stash" != "0" ]]; then 184 | echo -ne "%F{$AM_STASH_COLOR}${AM_GIT_STASH_SYM}${__stash}%f" 185 | fi 186 | fi 187 | } 188 | 189 | am_git_commit_time(){ 190 | echo -ne "%F{$AM_COMMIT_SINCE_COLOR}[$(plib_git_commit_since)]%f" 191 | } 192 | 193 | am_git_rebasing(){ 194 | if [[ $(plib_is_git_rebasing) == 1 ]]; then 195 | echo -ne "%F{$AM_ERROR_COLOR}${AM_GIT_REBASING_SYMBOL}%f" 196 | fi 197 | } 198 | 199 | am_git_symbol(){ 200 | echo -ne "%F{$AM_VCS_COLOR}${AM_GIT_SYM}%f" 201 | } 202 | 203 | am_is_hg(){ 204 | echo -ne "$(plib_is_hg)" 205 | } 206 | 207 | am_hg_branch(){ 208 | echo -ne "%B%F{$AM_BRANCH_COLOR}$(plib_hg_branch)%f%b"; 209 | } 210 | 211 | am_hg_rev(){ 212 | echo -ne "%F{$AM_REV_COLOR}$(plib_hg_rev)%f"; 213 | } 214 | 215 | am_hg_symbol(){ 216 | echo -ne "%F{$AM_VCS_COLOR}${AM_HG_SYM}:%f" 217 | } 218 | 219 | am_is_svn(){ 220 | plib_is_svn 221 | } 222 | 223 | am_svn_rev(){ 224 | echo -n "%B%F{$AM_REV_COLOR}$(plib_svn_rev)%f%b"; 225 | } 226 | 227 | am_svn_symbol(){ 228 | echo -ne "%F{$AM_VCS_COLOR}${AM_SVN_SYM}:%f" 229 | } 230 | -------------------------------------------------------------------------------- /modules/sections_version.zsh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env zsh 2 | 3 | # shellcheck disable=SC2154 4 | 5 | am_venv(){ 6 | echo -ne "%F{$AM_VENV_COLOR}$(plib_venv)%f" 7 | } 8 | 9 | am_python_version(){ 10 | echo -ne "%F{$AM_PYTHON_COLOR}${AM_PY_SYM}$(plib_python_version)%f" 11 | } 12 | 13 | am_python_short_version(){ 14 | echo -ne "%F{$AM_PYTHON_COLOR}${AM_PY_SYM}$(plib_python_major_minor_version)%f" 15 | } 16 | 17 | am_ruby_version(){ 18 | echo -ne "%F{$AM_RUBY_COLOR}${AM_RB_SYM}$(plib_ruby_version)%f" 19 | } 20 | 21 | am_ruby_short_version(){ 22 | echo -ne "%F{$AM_RUBY_COLOR}${AM_RB_SYM}$(plib_ruby_major_minor_version)%f" 23 | } 24 | 25 | am_java_version(){ 26 | echo -ne "%F{$AM_JAVA_COLOR}${AM_JAVA_SYM}$(plib_java_version)%f" 27 | } 28 | 29 | am_java_short_version(){ 30 | echo -ne "%F{$AM_JAVA_COLOR}${AM_JAVA_SYM}$(plib_java_major_version)%f" 31 | } 32 | 33 | am_go_version(){ 34 | echo -ne "%F{$AM_GO_COLOR}${AM_GO_SYM}$(plib_go_version)%f" 35 | } 36 | 37 | am_go_short_version(){ 38 | echo -ne "%F{$AM_GO_COLOR}${AM_GO_SYM}$(plib_go_major_minor_version)%f" 39 | } 40 | 41 | am_elixir_version(){ 42 | echo -ne "%F{$AM_ELIXIR_COLOR}${AM_ELIXIR_SYM}$(plib_elixir_version)%f" 43 | } 44 | 45 | am_elixir_short_version(){ 46 | echo -ne "%F{$AM_ELIXIR_COLOR}${AM_ELIXIR_SYM}$(plib_elixir_major_minor_version)%f" 47 | } 48 | 49 | am_crystal_version(){ 50 | echo -ne "%F{$AM_CRYSTAL_COLOR}${AM_CRYSTAL_SYM}$(plib_crystal_version)%f" 51 | } 52 | 53 | am_crystal_short_version(){ 54 | echo -ne "%F{$AM_CRYSTAL_COLOR}${AM_CRYSTAL_SYM}$(plib_crystal_major_minor_version)%f" 55 | } 56 | 57 | am_node_version(){ 58 | echo -ne "%F{$AM_NODE_COLOR}${AM_NODE_SYM}$(plib_node_version)%f" 59 | } 60 | 61 | am_node_short_version(){ 62 | echo -ne "%F{$AM_NODE_COLOR}${AM_NODE_SYM}$(plib_node_major_minor_version)%f" 63 | } 64 | 65 | am_php_version(){ 66 | echo -ne "%F{$AM_PHP_COLOR}${AM_PHP_SYM}$(plib_php_version)%f" 67 | } 68 | 69 | am_php_short_version(){ 70 | echo -ne "%F{$AM_PHP_COLOR}${AM_PHP_SYM}$(plib_php_major_minor_version)%f" 71 | } 72 | 73 | am_gradle_version(){ 74 | echo -ne "%F{$AM_GRADLE_COLOR}${AM_GRADLE_SYM}$(plib_gradle_version)%f" 75 | } 76 | 77 | am_maven_version(){ 78 | echo -ne "%F{$AM_MAVEN_COLOR}${AM_MAVEN_SYM}$(plib_maven_version)%f" 79 | } 80 | -------------------------------------------------------------------------------- /modules/symbols.zsh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env zsh 2 | 3 | # shellcheck disable=SC2034 4 | [[ -z "${AM_GIT_STASH_SYM}" ]] && AM_GIT_STASH_SYM='@' 5 | [[ -z "${AM_GIT_BARE_SYM}" ]] && AM_GIT_BARE_SYM='☢' 6 | 7 | [[ -z "${AM_VERSION_PROMPT_SEP}" ]] && AM_VERSION_PROMPT_SEP='|' 8 | 9 | [[ -z "${AM_PROMPT_START_TAG}" ]] && AM_PROMPT_START_TAG='_' 10 | [[ -z "${AM_PROMPT_END_TAG}" ]] && AM_PROMPT_END_TAG='$' 11 | 12 | [[ -z "${AM_VIM_INSERT_SYM}" ]] && AM_VIM_INSERT_SYM='(i)' 13 | [[ -z "${AM_VIM_NORMAL_SYM}" ]] && AM_VIM_NORMAL_SYM='(n)' 14 | 15 | if [[ ${AM_USE_NERD_FONT} = 1 ]]; then 16 | [[ -z "${AM_GIT_SYM}" ]] && AM_GIT_SYM='󰊢' 17 | [[ -z "${AM_HG_SYM}" ]] && AM_HG_SYM=' ' 18 | [[ -z "${AM_SSH_SYM}" ]] && AM_SSH_SYM=' ' 19 | 20 | [[ -z "${AM_JAVA_SYM}" ]] && AM_JAVA_SYM='󰬷 ' 21 | [[ -z "${AM_PY_SYM}" ]] && AM_PY_SYM=' ' 22 | [[ -z "${AM_RB_SYM}" ]] && AM_RB_SYM=' ' 23 | [[ -z "${AM_GO_SYM}" ]] && AM_GO_SYM='󰟓 ' 24 | [[ -z "${AM_ELIXIR_SYM}" ]] && AM_ELIXIR_SYM=' ' 25 | [[ -z "${AM_CRYSTAL_SYM}" ]] && AM_CRYSTAL_SYM=' ' 26 | [[ -z "${AM_NODE_SYM}" ]] && AM_NODE_SYM='󰎙 ' 27 | [[ -z "${AM_PHP_SYM}" ]] && AM_PHP_SYM=' ' 28 | [[ -z "${AM_GRADLE_SYM}" ]] && AM_GRADLE_SYM=' ' 29 | [[ -z "${AM_MAVEN_SYM}" ]] && AM_MAVEN_SYM=' ' 30 | 31 | [[ -z "${AM_GIT_ADD_SYM}" ]] && AM_GIT_ADD_SYM='' 32 | [[ -z "${AM_GIT_DEL_SYM}" ]] && AM_GIT_DEL_SYM='' 33 | [[ -z "${AM_GIT_MOD_SYM}" ]] && AM_GIT_MOD_SYM='' 34 | [[ -z "${AM_GIT_NEW_SYM}" ]] && AM_GIT_NEW_SYM='' 35 | [[ -z "${AM_GIT_PUSH_SYM}" ]] && AM_GIT_PUSH_SYM='' 36 | [[ -z "${AM_GIT_PULL_SYM}" ]] && AM_GIT_PULL_SYM='' 37 | else 38 | [[ -z "${AM_GIT_SYM}" ]] && AM_GIT_SYM='G' 39 | [[ -z "${AM_HG_SYM}" ]] && AM_HG_SYM='H' 40 | [[ -z "${AM_SVN_SYM}" ]] && AM_SVN_SYM='S' 41 | [[ -z "${AM_SSH_SYM}" ]] && AM_SSH_SYM='[S]' 42 | 43 | [[ -z "${AM_JAVA_SYM}" ]] && AM_JAVA_SYM='JAVA:' 44 | [[ -z "${AM_PY_SYM}" ]] && AM_PY_SYM='PY:' 45 | [[ -z "${AM_RB_SYM}" ]] && AM_RB_SYM='RB:' 46 | [[ -z "${AM_GO_SYM}" ]] && AM_GO_SYM='GO:' 47 | [[ -z "${AM_ELIXIR_SYM}" ]] && AM_ELIXIR_SYM='EX:' 48 | [[ -z "${AM_CRYSTAL_SYM}" ]] && AM_CRYSTAL_SYM='CR:' 49 | [[ -z "${AM_NODE_SYM}" ]] && AM_NODE_SYM='NODE:' 50 | [[ -z "${AM_PHP_SYM}" ]] && AM_PHP_SYM='PHP:' 51 | [[ -z "${AM_GRADLE_SYM}" ]] && AM_GRADLE_SYM='GRADLE:' 52 | [[ -z "${AM_MAVEN_SYM}" ]] && AM_MAVEN_SYM='MVN:' 53 | 54 | [[ -z "${AM_GIT_REBASING_SYMBOL}" ]] && AM_GIT_REBASING_SYMBOL='⇋' 55 | [[ -z "${AM_GIT_PUSH_SYM}" ]] && AM_GIT_PUSH_SYM='↑' 56 | [[ -z "${AM_GIT_PULL_SYM}" ]] && AM_GIT_PULL_SYM='↓' 57 | [[ -z "${AM_LEFT_RIGHT_SEP}" ]] && AM_LEFT_RIGHT_SEP='|' 58 | fi 59 | -------------------------------------------------------------------------------- /modules/themes/default.zsh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env zsh 2 | 3 | am_theme(){ 4 | [[ -z ${AM_VCS_COLOR} ]] && AM_VCS_COLOR=248 5 | [[ -z ${AM_SSH_COLOR} ]] && AM_SSH_COLOR=143 6 | [[ -z ${AM_VI_INSERT_COLOR} ]] && AM_VI_INSERT_COLOR=143 7 | [[ -z ${AM_VI_NORMAL_COLOR} ]] && AM_VI_NORMAL_COLOR=143 8 | [[ -z ${AM_NORMAL_COLOR} ]] && AM_NORMAL_COLOR=39 9 | [[ -z ${AM_ERROR_COLOR} ]] && AM_ERROR_COLOR=208 10 | [[ -z ${AM_REV_COLOR} ]] && AM_REV_COLOR=248 11 | [[ -z ${AM_BRANCH_COLOR} ]] && AM_BRANCH_COLOR=78 12 | [[ -z ${AM_LEFT_RIGHT_COLOR} ]] && AM_LEFT_RIGHT_COLOR=222 13 | [[ -z ${AM_STASH_COLOR} ]] && AM_STASH_COLOR=${AM_LEFT_RIGHT_COLOR} 14 | [[ -z ${AM_BARE_COLOR} ]] && AM_BARE_COLOR=${AM_LEFT_RIGHT_COLOR} 15 | [[ -z ${AM_COMMIT_SINCE_COLOR} ]] && AM_COMMIT_SINCE_COLOR=244 16 | [[ -z ${AM_FADE_COLOR} ]] && AM_FADE_COLOR=242 17 | [[ -z ${AM_VENV_COLOR} ]] && AM_VENV_COLOR=245 18 | [[ -z ${AM_PYTHON_COLOR} ]] && AM_PYTHON_COLOR=40 19 | [[ -z ${AM_RUBY_COLOR} ]] && AM_RUBY_COLOR=196 20 | [[ -z ${AM_JAVA_COLOR} ]] && AM_JAVA_COLOR=178 21 | [[ -z ${AM_GO_COLOR} ]] && AM_GO_COLOR=81 22 | [[ -z ${AM_ELIXIR_COLOR} ]] && AM_ELIXIR_COLOR=81 23 | [[ -z ${AM_CRYSTAL_COLOR} ]] && AM_CRYSTAL_COLOR=8 24 | [[ -z ${AM_NODE_COLOR} ]] && AM_NODE_COLOR=2 25 | [[ -z ${AM_PHP_COLOR} ]] && AM_PHP_COLOR=5 26 | [[ -z ${AM_GRADLE_COLOR} ]] && AM_GRADLE_COLOR=2 27 | [[ -z ${AM_MAVEN_COLOR} ]] && AM_MAVEN_COLOR=3 28 | [[ -z ${AM_TIMER_COLOR} ]] && AM_TIMER_COLOR=248 29 | [[ -z ${AM_PROMPT_START_TAG_COLOR} ]] && AM_PROMPT_START_TAG_COLOR=39 30 | [[ -z ${AM_PROMPT_END_TAG_COLOR} ]] && AM_PROMPT_END_TAG_COLOR=39 31 | [[ -z ${AM_GIT_TRACKED_COLOR} ]] && AM_GIT_TRACKED_COLOR=78 32 | [[ -z ${AM_GIT_UN_TRACKED_COLOR} ]] && AM_GIT_UN_TRACKED_COLOR=208 33 | [[ -z ${AM_LEFT_RIGHT_COLOR} ]] && AM_LEFT_RIGHT_COLOR=252 34 | } 35 | -------------------------------------------------------------------------------- /modules/themes/hex/soft.zsh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env zsh 2 | 3 | am_theme(){ 4 | [[ -z ${AM_VCS_COLOR} ]] && AM_VCS_COLOR=#A0A0A0 5 | [[ -z ${AM_SSH_COLOR} ]] && AM_SSH_COLOR=#E6C242 6 | [[ -z ${AM_VI_INSERT_COLOR} ]] && AM_VI_INSERT_COLOR=#E6C242 7 | [[ -z ${AM_VI_NORMAL_COLOR} ]] && AM_VI_NORMAL_COLOR=#E6C242 8 | [[ -z ${AM_NORMAL_COLOR} ]] && AM_NORMAL_COLOR=#88C0D0 9 | [[ -z ${AM_ERROR_COLOR} ]] && AM_ERROR_COLOR=#BF616A 10 | [[ -z ${AM_REV_COLOR} ]] && AM_REV_COLOR=#B48EAD 11 | [[ -z ${AM_BRANCH_COLOR} ]] && AM_BRANCH_COLOR=#8CBA86 12 | [[ -z ${AM_LEFT_RIGHT_COLOR} ]] && AM_LEFT_RIGHT_COLOR=#EACB8A 13 | [[ -z ${AM_STASH_COLOR} ]] && AM_STASH_COLOR=${AM_LEFT_RIGHT_COLOR} 14 | [[ -z ${AM_BARE_COLOR} ]] && AM_BARE_COLOR=${AM_LEFT_RIGHT_COLOR} 15 | [[ -z ${AM_COMMIT_SINCE_COLOR} ]] && AM_COMMIT_SINCE_COLOR=#A5A5A5 16 | [[ -z ${AM_FADE_COLOR} ]] && AM_FADE_COLOR=#4C566B 17 | [[ -z ${AM_VENV_COLOR} ]] && AM_VENV_COLOR=#C8AE48 18 | [[ -z ${AM_PYTHON_COLOR} ]] && AM_PYTHON_COLOR=#3570A1 19 | [[ -z ${AM_RUBY_COLOR} ]] && AM_RUBY_COLOR=#FF6665 20 | [[ -z ${AM_JAVA_COLOR} ]] && AM_JAVA_COLOR=#FEBB6F 21 | [[ -z ${AM_GO_COLOR} ]] && AM_GO_COLOR=#76E1FE 22 | [[ -z ${AM_ELIXIR_COLOR} ]] && AM_ELIXIR_COLOR=#432459 23 | [[ -z ${AM_CRYSTAL_COLOR} ]] && AM_CRYSTAL_COLOR=#010101 24 | [[ -z ${AM_NODE_COLOR} ]] && AM_NODE_COLOR=#79B264 25 | [[ -z ${AM_PHP_COLOR} ]] && AM_PHP_COLOR=#7277AE 26 | [[ -z ${AM_GRADLE_COLOR} ]] && AM_GRADLE_COLOR=#1E9BC4 27 | [[ -z ${AM_MAVEN_COLOR} ]] && AM_MAVEN_COLOR=#D74330 28 | [[ -z ${AM_TIMER_COLOR} ]] && AM_TIMER_COLOR=#B48EAD 29 | [[ -z ${AM_PROMPT_START_TAG_COLOR} ]] && AM_PROMPT_START_TAG_COLOR=#88C0D0 30 | [[ -z ${AM_PROMPT_END_TAG_COLOR} ]] && AM_PROMPT_END_TAG_COLOR=#88C0D0 31 | [[ -z ${AM_GIT_TRACKED_COLOR} ]] && AM_GIT_TRACKED_COLOR=#89BB9D 32 | [[ -z ${AM_GIT_UN_TRACKED_COLOR} ]] && AM_GIT_UN_TRACKED_COLOR=#BA8888 33 | } 34 | -------------------------------------------------------------------------------- /modules/themes/mono.zsh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env zsh 2 | 3 | am_theme(){ 4 | [[ -z ${AM_VCS_COLOR} ]] && AM_VCS_COLOR=242 5 | [[ -z ${AM_SSH_COLOR} ]] && AM_SSH_COLOR=244 6 | [[ -z ${AM_VI_INSERT_COLOR} ]] && AM_VI_INSERT_COLOR=244 7 | [[ -z ${AM_VI_NORMAL_COLOR} ]] && AM_VI_NORMAL_COLOR=244 8 | [[ -z ${AM_NORMAL_COLOR} ]] && AM_NORMAL_COLOR=250 9 | [[ -z ${AM_ERROR_COLOR} ]] && AM_ERROR_COLOR=250 10 | [[ -z ${AM_REV_COLOR} ]] && AM_REV_COLOR=240 11 | [[ -z ${AM_BRANCH_COLOR} ]] && AM_BRANCH_COLOR=246 12 | [[ -z ${AM_LEFT_RIGHT_COLOR} ]] && AM_LEFT_RIGHT_COLOR=255 13 | [[ -z ${AM_STASH_COLOR} ]] && AM_STASH_COLOR=${AM_LEFT_RIGHT_COLOR} 14 | [[ -z ${AM_BARE_COLOR} ]] && AM_BARE_COLOR=${AM_LEFT_RIGHT_COLOR} 15 | [[ -z ${AM_COMMIT_SINCE_COLOR} ]] && AM_COMMIT_SINCE_COLOR=242 16 | [[ -z ${AM_FADE_COLOR} ]] && AM_FADE_COLOR=242 17 | [[ -z ${AM_VENV_COLOR} ]] && AM_VENV_COLOR=246 18 | [[ -z ${AM_PYTHON_COLOR} ]] && AM_PYTHON_COLOR=243 19 | [[ -z ${AM_RUBY_COLOR} ]] && AM_RUBY_COLOR=240 20 | [[ -z ${AM_JAVA_COLOR} ]] && AM_JAVA_COLOR=247 21 | [[ -z ${AM_GO_COLOR} ]] && AM_GO_COLOR=251 22 | [[ -z ${AM_ELIXIR_COLOR} ]] && AM_ELIXIR_COLOR=251 23 | [[ -z ${AM_CRYSTAL_COLOR} ]] && AM_CRYSTAL_COLOR=8 24 | [[ -z ${AM_NODE_COLOR} ]] && AM_NODE_COLOR=246 25 | [[ -z ${AM_PHP_COLOR} ]] && AM_PHP_COLOR=246 26 | [[ -z ${AM_GRADLE_COLOR} ]] && AM_GRADLE_COLOR=244 27 | [[ -z ${AM_MAVEN_COLOR} ]] && AM_MAVEN_COLOR=248 28 | [[ -z ${AM_TIMER_COLOR} ]] && AM_TIMER_COLOR=242 29 | [[ -z ${AM_PROMPT_START_TAG_COLOR} ]] && AM_PROMPT_START_TAG_COLOR=250 30 | [[ -z ${AM_PROMPT_END_TAG_COLOR} ]] && AM_PROMPT_END_TAG_COLOR=250 31 | [[ -z ${AM_GIT_TRACKED_COLOR} ]] && AM_GIT_TRACKED_COLOR=250 32 | [[ -z ${AM_GIT_UN_TRACKED_COLOR} ]] && AM_GIT_UN_TRACKED_COLOR=246 33 | [[ -z ${AM_LEFT_RIGHT_COLOR} ]] && AM_LEFT_RIGHT_COLOR=252 34 | } 35 | -------------------------------------------------------------------------------- /modules/themes/mono_bright.zsh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env zsh 2 | 3 | am_theme(){ 4 | [[ -z ${AM_VCS_COLOR} ]] && AM_VCS_COLOR=247 5 | [[ -z ${AM_SSH_COLOR} ]] && AM_SSH_COLOR=249 6 | [[ -z ${AM_VI_INSERT_COLOR} ]] && AM_VI_INSERT_COLOR=249 7 | [[ -z ${AM_VI_NORMAL_COLOR} ]] && AM_VI_NORMAL_COLOR=249 8 | [[ -z ${AM_NORMAL_COLOR} ]] && AM_NORMAL_COLOR=255 9 | [[ -z ${AM_ERROR_COLOR} ]] && AM_ERROR_COLOR=255 10 | [[ -z ${AM_REV_COLOR} ]] && AM_REV_COLOR=245 11 | [[ -z ${AM_BRANCH_COLOR} ]] && AM_BRANCH_COLOR=251 12 | [[ -z ${AM_LEFT_RIGHT_COLOR} ]] && AM_LEFT_RIGHT_COLOR=255 13 | [[ -z ${AM_STASH_COLOR} ]] && AM_STASH_COLOR=${AM_LEFT_RIGHT_COLOR} 14 | [[ -z ${AM_BARE_COLOR} ]] && AM_BARE_COLOR=${AM_LEFT_RIGHT_COLOR} 15 | [[ -z ${AM_COMMIT_SINCE_COLOR} ]] && AM_COMMIT_SINCE_COLOR=247 16 | [[ -z ${AM_FADE_COLOR} ]] && AM_FADE_COLOR=247 17 | [[ -z ${AM_VENV_COLOR} ]] && AM_VENV_COLOR=251 18 | [[ -z ${AM_PYTHON_COLOR} ]] && AM_PYTHON_COLOR=248 19 | [[ -z ${AM_RUBY_COLOR} ]] && AM_RUBY_COLOR=245 20 | [[ -z ${AM_JAVA_COLOR} ]] && AM_JAVA_COLOR=252 21 | [[ -z ${AM_GO_COLOR} ]] && AM_GO_COLOR=254 22 | [[ -z ${AM_ELIXIR_COLOR} ]] && AM_ELIXIR_COLOR=254 23 | [[ -z ${AM_CRYSTAL_COLOR} ]] && AM_CRYSTAL_COLOR=8 24 | [[ -z ${AM_NODE_COLOR} ]] && AM_NODE_COLOR=249 25 | [[ -z ${AM_PHP_COLOR} ]] && AM_PHP_COLOR=248 26 | [[ -z ${AM_GRADLE_COLOR} ]] && AM_GRADLE_COLOR=246 27 | [[ -z ${AM_MAVEN_COLOR} ]] && AM_MAVEN_COLOR=250 28 | [[ -z ${AM_TIMER_COLOR} ]] && AM_TIMER_COLOR=247 29 | [[ -z ${AM_PROMPT_START_TAG_COLOR} ]] && AM_PROMPT_START_TAG_COLOR=255 30 | [[ -z ${AM_PROMPT_END_TAG_COLOR} ]] && AM_PROMPT_END_TAG_COLOR=255 31 | [[ -z ${AM_GIT_TRACKED_COLOR} ]] && AM_GIT_TRACKED_COLOR=255 32 | [[ -z ${AM_GIT_UN_TRACKED_COLOR} ]] && AM_GIT_UN_TRACKED_COLOR=251 33 | [[ -z ${AM_LEFT_RIGHT_COLOR} ]] && AM_LEFT_RIGHT_COLOR=254 34 | } 35 | -------------------------------------------------------------------------------- /modules/themes/soft.zsh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env zsh 2 | 3 | am_theme(){ 4 | [[ -z ${AM_VCS_COLOR} ]] && AM_VCS_COLOR=248 5 | [[ -z ${AM_SSH_COLOR} ]] && AM_SSH_COLOR=154 6 | [[ -z ${AM_VI_INSERT_COLOR} ]] && AM_VI_INSERT_COLOR=154 7 | [[ -z ${AM_VI_NORMAL_COLOR} ]] && AM_VI_NORMAL_COLOR=154 8 | [[ -z ${AM_NORMAL_COLOR} ]] && AM_NORMAL_COLOR=81 9 | [[ -z ${AM_ERROR_COLOR} ]] && AM_ERROR_COLOR=197 10 | [[ -z ${AM_REV_COLOR} ]] && AM_REV_COLOR=74 11 | [[ -z ${AM_BRANCH_COLOR} ]] && AM_BRANCH_COLOR=122 12 | [[ -z ${AM_LEFT_RIGHT_COLOR} ]] && AM_LEFT_RIGHT_COLOR=226 13 | [[ -z ${AM_STASH_COLOR} ]] && AM_STASH_COLOR=${AM_LEFT_RIGHT_COLOR} 14 | [[ -z ${AM_BARE_COLOR} ]] && AM_BARE_COLOR=${AM_LEFT_RIGHT_COLOR} 15 | [[ -z ${AM_COMMIT_SINCE_COLOR} ]] && AM_COMMIT_SINCE_COLOR=103 16 | [[ -z ${AM_FADE_COLOR} ]] && AM_FADE_COLOR=242 17 | [[ -z ${AM_VENV_COLOR} ]] && AM_VENV_COLOR=245 18 | [[ -z ${AM_PYTHON_COLOR} ]] && AM_PYTHON_COLOR=40 19 | [[ -z ${AM_RUBY_COLOR} ]] && AM_RUBY_COLOR=196 20 | [[ -z ${AM_JAVA_COLOR} ]] && AM_JAVA_COLOR=178 21 | [[ -z ${AM_GO_COLOR} ]] && AM_GO_COLOR=81 22 | [[ -z ${AM_ELIXIR_COLOR} ]] && AM_ELIXIR_COLOR=99 23 | [[ -z ${AM_CRYSTAL_COLOR} ]] && AM_CRYSTAL_COLOR=8 24 | [[ -z ${AM_NODE_COLOR} ]] && AM_NODE_COLOR=41 25 | [[ -z ${AM_PHP_COLOR} ]] && AM_PHP_COLOR=57 26 | [[ -z ${AM_GRADLE_COLOR} ]] && AM_GRADLE_COLOR=64 27 | [[ -z ${AM_MAVEN_COLOR} ]] && AM_MAVEN_COLOR=161 28 | [[ -z ${AM_TIMER_COLOR} ]] && AM_TIMER_COLOR=248 29 | [[ -z ${AM_PROMPT_START_TAG_COLOR} ]] && AM_PROMPT_START_TAG_COLOR=12 30 | [[ -z ${AM_PROMPT_END_TAG_COLOR} ]] && AM_PROMPT_END_TAG_COLOR=12 31 | [[ -z ${AM_GIT_TRACKED_COLOR} ]] && AM_GIT_TRACKED_COLOR=122 32 | [[ -z ${AM_GIT_UN_TRACKED_COLOR} ]] && AM_GIT_UN_TRACKED_COLOR=181 33 | [[ -z ${AM_LEFT_RIGHT_COLOR} ]] && AM_LEFT_RIGHT_COLOR=254 34 | } 35 | -------------------------------------------------------------------------------- /modules/themes/terminal.zsh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env zsh 2 | 3 | am_theme(){ 4 | [[ -z ${AM_VCS_COLOR} ]] && AM_VCS_COLOR=1 5 | [[ -z ${AM_SSH_COLOR} ]] && AM_SSH_COLOR=11 6 | [[ -z ${AM_VI_INSERT_COLOR} ]] && AM_VI_INSERT_COLOR=11 7 | [[ -z ${AM_VI_NORMAL_COLOR} ]] && AM_VI_NORMAL_COLOR=11 8 | [[ -z ${AM_NORMAL_COLOR} ]] && AM_NORMAL_COLOR=12 9 | [[ -z ${AM_ERROR_COLOR} ]] && AM_ERROR_COLOR=1 10 | [[ -z ${AM_REV_COLOR} ]] && AM_REV_COLOR=14 11 | [[ -z ${AM_BRANCH_COLOR} ]] && AM_BRANCH_COLOR=10 12 | [[ -z ${AM_LEFT_RIGHT_COLOR} ]] && AM_LEFT_RIGHT_COLOR=3 13 | [[ -z ${AM_STASH_COLOR} ]] && AM_STASH_COLOR=${AM_LEFT_RIGHT_COLOR} 14 | [[ -z ${AM_BARE_COLOR} ]] && AM_BARE_COLOR=${AM_LEFT_RIGHT_COLOR} 15 | [[ -z ${AM_COMMIT_SINCE_COLOR} ]] && AM_COMMIT_SINCE_COLOR=6 16 | [[ -z ${AM_FADE_COLOR} ]] && AM_FADE_COLOR=8 17 | [[ -z ${AM_VENV_COLOR} ]] && AM_VENV_COLOR=8 18 | [[ -z ${AM_PYTHON_COLOR} ]] && AM_PYTHON_COLOR=2 19 | [[ -z ${AM_RUBY_COLOR} ]] && AM_RUBY_COLOR=1 20 | [[ -z ${AM_JAVA_COLOR} ]] && AM_JAVA_COLOR=15 21 | [[ -z ${AM_GO_COLOR} ]] && AM_GO_COLOR=6 22 | [[ -z ${AM_ELIXIR_COLOR} ]] && AM_ELIXIR_COLOR=13 23 | [[ -z ${AM_CRYSTAL_COLOR} ]] && AM_CRYSTAL_COLOR=8 24 | [[ -z ${AM_NODE_COLOR} ]] && AM_NODE_COLOR=2 25 | [[ -z ${AM_PHP_COLOR} ]] && AM_PHP_COLOR=5 26 | [[ -z ${AM_GRADLE_COLOR} ]] && AM_GRADLE_COLOR=2 27 | [[ -z ${AM_MAVEN_COLOR} ]] && AM_MAVEN_COLOR=3 28 | [[ -z ${AM_TIMER_COLOR} ]] && AM_TIMER_COLOR=14 29 | [[ -z ${AM_PROMPT_START_TAG_COLOR} ]] && AM_PROMPT_START_TAG_COLOR=12 30 | [[ -z ${AM_PROMPT_END_TAG_COLOR} ]] && AM_PROMPT_END_TAG_COLOR=12 31 | [[ -z ${AM_GIT_TRACKED_COLOR} ]] && AM_GIT_TRACKED_COLOR=10 32 | [[ -z ${AM_GIT_UN_TRACKED_COLOR} ]] && AM_GIT_UN_TRACKED_COLOR=1 33 | [[ -z ${AM_LEFT_RIGHT_COLOR} ]] && AM_LEFT_RIGHT_COLOR=15 34 | } 35 | -------------------------------------------------------------------------------- /modules/viprompt.zsh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env zsh 2 | 3 | am_vi_prompt() { 4 | echo -ne "${AM_VI_PROMPT_VAL}" 5 | } 6 | 7 | __render_vi_prompt() { 8 | case "${KEYMAP}" in 9 | vicmd) 10 | AM_VI_PROMPT_VAL="%B%F{$AM_VI_NORMAL_COLOR}${AM_VIM_NORMAL_SYM}%f%b" 11 | ;; 12 | main|viins) 13 | AM_VI_PROMPT_VAL="%B%F{$AM_VI_INSERT_COLOR}${AM_VIM_INSERT_SYM}%f%b" 14 | ;; 15 | esac 16 | precmd 17 | zle && zle reset-prompt 18 | } 19 | 20 | zle-line-init() { 21 | __render_vi_prompt 22 | } 23 | 24 | zle-keymap-select() { 25 | __render_vi_prompt 26 | } 27 | 28 | zle -N zle-line-init 29 | zle -N zle-keymap-select 30 | -------------------------------------------------------------------------------- /previewer/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 | 12 | 46 | 47 | 48 | 55 | 89 | 90 |
7 | (venv) 8 | > 9 | alien-minimal 10 | $ 11 | 13 | [ 14 | PY:1.2.3 15 | | 16 | RB:1.2.3 17 | | 18 | JAVA:1.2.3 19 | | 20 | GO:1.2.3 21 | | 22 | EX:1.2.3 23 | | 24 | CR:1.2.3 25 | | 26 | NODE:1.2.3 27 | | 28 | PHP:1.2.3 29 | | 30 | GRADLE:1.2.3 31 | | 32 | MVN:1.2.3 33 | ] 34 | G 35 | master 36 | 0|75 37 | [1Y,8M,5D] 38 | abcdef 39 | @5 40 | 2↓1↑ 41 | + 42 | * 43 | - 44 | ? 45 |
49 | (venv) 50 | > 51 | alien-minimal 52 | $ 53 | 1 54 | 56 | [ 57 | PY:1.2.3 58 | | 59 | RB:1.2.3 60 | | 61 | JAVA:1.2.3 62 | | 63 | GO:1.2.3 64 | | 65 | EX:1.2.3 66 | | 67 | CR:1.2.3 68 | | 69 | NODE:1.2.3 70 | | 71 | PHP:1.2.3 72 | | 73 | GRADLE:1.2.3 74 | | 75 | MVN:1.2.3 76 | ] 77 | G 78 | master 79 | 0|75 80 | [1Y,8M,5D] 81 | abcdef 82 | @5 83 | 2↓1↑ 84 | + 85 | * 86 | - 87 | ? 88 |
91 |
92 |
93 |
94 |
95 | 96 | 97 | 211 | 216 | 217 |
98 |
99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 |
209 |
210 |
212 | 215 |
218 | 219 | 220 | -------------------------------------------------------------------------------- /previewer/index.js: -------------------------------------------------------------------------------- 1 | function updateTheme() { 2 | var AM_VCS_COLOR = document.getElementById("AM_VCS_COLOR").value; 3 | var AM_SSH_COLOR = document.getElementById("AM_SSH_COLOR").value; 4 | var AM_NORMAL_COLOR = document.getElementById("AM_NORMAL_COLOR").value; 5 | var AM_ERROR_COLOR = document.getElementById("AM_ERROR_COLOR").value; 6 | var AM_REV_COLOR = document.getElementById("AM_REV_COLOR").value; 7 | var AM_BRANCH_COLOR = document.getElementById("AM_BRANCH_COLOR").value; 8 | var AM_LEFT_RIGHT_COLOR = document.getElementById("AM_LEFT_RIGHT_COLOR").value; 9 | var AM_STASH_COLOR = document.getElementById("AM_STASH_COLOR").value; 10 | var AM_BARE_COLOR = document.getElementById("AM_BARE_COLOR").value; 11 | var AM_COMMIT_SINCE_COLOR = document.getElementById("AM_COMMIT_SINCE_COLOR").value; 12 | var AM_FADE_COLOR = document.getElementById("AM_FADE_COLOR").value; 13 | var AM_VENV_COLOR = document.getElementById("AM_VENV_COLOR").value; 14 | var AM_PYTHON_COLOR = document.getElementById("AM_PYTHON_COLOR").value; 15 | var AM_RUBY_COLOR = document.getElementById("AM_RUBY_COLOR").value; 16 | var AM_JAVA_COLOR = document.getElementById("AM_JAVA_COLOR").value; 17 | var AM_GO_COLOR = document.getElementById("AM_GO_COLOR").value; 18 | var AM_ELIXIR_COLOR = document.getElementById("AM_ELIXIR_COLOR").value; 19 | var AM_CRYSTAL_COLOR = document.getElementById("AM_CRYSTAL_COLOR").value; 20 | var AM_NODE_COLOR = document.getElementById("AM_NODE_COLOR").value; 21 | var AM_PHP_COLOR = document.getElementById("AM_PHP_COLOR").value; 22 | var AM_GRADLE_COLOR = document.getElementById("AM_GRADLE_COLOR").value; 23 | var AM_MAVEN_COLOR = document.getElementById("AM_MAVEN_COLOR").value; 24 | var AM_TIMER_COLOR = document.getElementById("AM_TIMER_COLOR").value; 25 | var AM_PROMPT_START_TAG_COLOR = document.getElementById("AM_PROMPT_START_TAG_COLOR").value; 26 | var AM_PROMPT_END_TAG_COLOR = document.getElementById("AM_PROMPT_END_TAG_COLOR").value; 27 | var AM_GIT_TRACKED_COLOR = document.getElementById("AM_GIT_TRACKED_COLOR").value; 28 | var AM_GIT_UN_TRACKED_COLOR = document.getElementById("AM_GIT_UN_TRACKED_COLOR").value; 29 | 30 | var AM_VCS_COLOR_PREVIEW = document.getElementsByClassName("AM_VCS_COLOR_PREVIEW"); for(var i = 0; i < AM_VCS_COLOR_PREVIEW.length; i++) {AM_VCS_COLOR_PREVIEW[i].style.color = AM_VCS_COLOR;} 31 | var AM_SSH_COLOR_PREVIEW = document.getElementsByClassName("AM_SSH_COLOR_PREVIEW"); for(var i = 0; i < AM_SSH_COLOR_PREVIEW.length; i++) {AM_SSH_COLOR_PREVIEW[i].style.color = AM_SSH_COLOR;} 32 | var AM_NORMAL_COLOR_PREVIEW = document.getElementsByClassName("AM_NORMAL_COLOR_PREVIEW"); for(var i = 0; i < AM_NORMAL_COLOR_PREVIEW.length; i++) {AM_NORMAL_COLOR_PREVIEW[i].style.color = AM_NORMAL_COLOR;} 33 | var AM_ERROR_COLOR_PREVIEW = document.getElementsByClassName("AM_ERROR_COLOR_PREVIEW"); for(var i = 0; i < AM_ERROR_COLOR_PREVIEW.length; i++) {AM_ERROR_COLOR_PREVIEW[i].style.color = AM_ERROR_COLOR;} 34 | var AM_REV_COLOR_PREVIEW = document.getElementsByClassName("AM_REV_COLOR_PREVIEW"); for(var i = 0; i < AM_REV_COLOR_PREVIEW.length; i++) {AM_REV_COLOR_PREVIEW[i].style.color = AM_REV_COLOR;} 35 | var AM_BRANCH_COLOR_PREVIEW = document.getElementsByClassName("AM_BRANCH_COLOR_PREVIEW"); for(var i = 0; i < AM_BRANCH_COLOR_PREVIEW.length; i++) {AM_BRANCH_COLOR_PREVIEW[i].style.color = AM_BRANCH_COLOR;} 36 | var AM_LEFT_RIGHT_COLOR_PREVIEW = document.getElementsByClassName("AM_LEFT_RIGHT_COLOR_PREVIEW"); for(var i = 0; i < AM_LEFT_RIGHT_COLOR_PREVIEW.length; i++) {AM_LEFT_RIGHT_COLOR_PREVIEW[i].style.color = AM_LEFT_RIGHT_COLOR;} 37 | var AM_STASH_COLOR_PREVIEW = document.getElementsByClassName("AM_STASH_COLOR_PREVIEW"); for(var i = 0; i < AM_STASH_COLOR_PREVIEW.length; i++) {AM_STASH_COLOR_PREVIEW[i].style.color = AM_STASH_COLOR;} 38 | var AM_BARE_COLOR_PREVIEW = document.getElementsByClassName("AM_BARE_COLOR_PREVIEW"); for(var i = 0; i < AM_BARE_COLOR_PREVIEW.length; i++) {AM_BARE_COLOR_PREVIEW[i].style.color = AM_BARE_COLOR;} 39 | var AM_COMMIT_SINCE_COLOR_PREVIEW = document.getElementsByClassName("AM_COMMIT_SINCE_COLOR_PREVIEW"); for(var i = 0; i < AM_COMMIT_SINCE_COLOR_PREVIEW.length; i++) {AM_COMMIT_SINCE_COLOR_PREVIEW[i].style.color = AM_COMMIT_SINCE_COLOR;} 40 | var AM_FADE_COLOR_PREVIEW = document.getElementsByClassName("AM_FADE_COLOR_PREVIEW"); for(var i = 0; i < AM_FADE_COLOR_PREVIEW.length; i++) {AM_FADE_COLOR_PREVIEW[i].style.color = AM_FADE_COLOR;} 41 | var AM_VENV_COLOR_PREVIEW = document.getElementsByClassName("AM_VENV_COLOR_PREVIEW"); for(var i = 0; i < AM_VENV_COLOR_PREVIEW.length; i++) {AM_VENV_COLOR_PREVIEW[i].style.color = AM_VENV_COLOR;} 42 | var AM_PYTHON_COLOR_PREVIEW = document.getElementsByClassName("AM_PYTHON_COLOR_PREVIEW"); for(var i = 0; i < AM_PYTHON_COLOR_PREVIEW.length; i++) {AM_PYTHON_COLOR_PREVIEW[i].style.color = AM_PYTHON_COLOR;} 43 | var AM_RUBY_COLOR_PREVIEW = document.getElementsByClassName("AM_RUBY_COLOR_PREVIEW"); for(var i = 0; i < AM_RUBY_COLOR_PREVIEW.length; i++) {AM_RUBY_COLOR_PREVIEW[i].style.color = AM_RUBY_COLOR;} 44 | var AM_JAVA_COLOR_PREVIEW = document.getElementsByClassName("AM_JAVA_COLOR_PREVIEW"); for(var i = 0; i < AM_JAVA_COLOR_PREVIEW.length; i++) {AM_JAVA_COLOR_PREVIEW[i].style.color = AM_JAVA_COLOR;} 45 | var AM_GO_COLOR_PREVIEW = document.getElementsByClassName("AM_GO_COLOR_PREVIEW"); for(var i = 0; i < AM_GO_COLOR_PREVIEW.length; i++) {AM_GO_COLOR_PREVIEW[i].style.color = AM_GO_COLOR;} 46 | var AM_ELIXIR_COLOR_PREVIEW = document.getElementsByClassName("AM_ELIXIR_COLOR_PREVIEW"); for(var i = 0; i < AM_ELIXIR_COLOR_PREVIEW.length; i++) {AM_ELIXIR_COLOR_PREVIEW[i].style.color = AM_ELIXIR_COLOR;} 47 | var AM_CRYSTAL_COLOR_PREVIEW = document.getElementsByClassName("AM_CRYSTAL_COLOR_PREVIEW"); for(var i = 0; i < AM_CRYSTAL_COLOR_PREVIEW.length; i++) {AM_CRYSTAL_COLOR_PREVIEW[i].style.color = AM_CRYSTAL_COLOR;} 48 | var AM_NODE_COLOR_PREVIEW = document.getElementsByClassName("AM_NODE_COLOR_PREVIEW"); for(var i = 0; i < AM_NODE_COLOR_PREVIEW.length; i++) {AM_NODE_COLOR_PREVIEW[i].style.color = AM_NODE_COLOR;} 49 | var AM_PHP_COLOR_PREVIEW = document.getElementsByClassName("AM_PHP_COLOR_PREVIEW"); for(var i = 0; i < AM_PHP_COLOR_PREVIEW.length; i++) {AM_PHP_COLOR_PREVIEW[i].style.color = AM_PHP_COLOR;} 50 | var AM_GRADLE_COLOR_PREVIEW = document.getElementsByClassName("AM_GRADLE_COLOR_PREVIEW"); for(var i = 0; i < AM_GRADLE_COLOR_PREVIEW.length; i++) {AM_GRADLE_COLOR_PREVIEW[i].style.color = AM_GRADLE_COLOR;} 51 | var AM_MAVEN_COLOR_PREVIEW = document.getElementsByClassName("AM_MAVEN_COLOR_PREVIEW"); for(var i = 0; i < AM_MAVEN_COLOR_PREVIEW.length; i++) {AM_MAVEN_COLOR_PREVIEW[i].style.color = AM_MAVEN_COLOR;} 52 | var AM_TIMER_COLOR_PREVIEW = document.getElementsByClassName("AM_TIMER_COLOR_PREVIEW"); for(var i = 0; i < AM_TIMER_COLOR_PREVIEW.length; i++) {AM_TIMER_COLOR_PREVIEW[i].style.color = AM_TIMER_COLOR;} 53 | var AM_PROMPT_START_TAG_COLOR_PREVIEW = document.getElementsByClassName("AM_PROMPT_START_TAG_COLOR_PREVIEW"); for(var i = 0; i < AM_PROMPT_START_TAG_COLOR_PREVIEW.length; i++) {AM_PROMPT_START_TAG_COLOR_PREVIEW[i].style.color = AM_PROMPT_START_TAG_COLOR;} 54 | var AM_PROMPT_END_TAG_COLOR_PREVIEW = document.getElementsByClassName("AM_PROMPT_END_TAG_COLOR_PREVIEW"); for(var i = 0; i < AM_PROMPT_END_TAG_COLOR_PREVIEW.length; i++) {AM_PROMPT_END_TAG_COLOR_PREVIEW[i].style.color = AM_PROMPT_END_TAG_COLOR;} 55 | var AM_GIT_TRACKED_COLOR_PREVIEW = document.getElementsByClassName("AM_GIT_TRACKED_COLOR_PREVIEW"); for(var i = 0; i < AM_GIT_TRACKED_COLOR_PREVIEW.length; i++) {AM_GIT_TRACKED_COLOR_PREVIEW[i].style.color = AM_GIT_TRACKED_COLOR;} 56 | var AM_GIT_UN_TRACKED_COLOR_PREVIEW = document.getElementsByClassName("AM_GIT_UN_TRACKED_COLOR_PREVIEW"); for(var i = 0; i < AM_GIT_UN_TRACKED_COLOR_PREVIEW.length; i++) {AM_GIT_UN_TRACKED_COLOR_PREVIEW[i].style.color = AM_GIT_UN_TRACKED_COLOR;} 57 | 58 | var rawConfig = "\n" 59 | + "#!/usr/bin/env zsh\n" 60 | + "\n" 61 | + "am_theme(){\n" 62 | + " [[ -z ${AM_VCS_COLOR} ]] && AM_VCS_COLOR="+ AM_VCS_COLOR +"\n" 63 | + " [[ -z ${AM_SSH_COLOR} ]] && AM_SSH_COLOR="+ AM_SSH_COLOR +"\n" 64 | + " [[ -z ${AM_NORMAL_COLOR} ]] && AM_NORMAL_COLOR="+ AM_NORMAL_COLOR +"\n" 65 | + " [[ -z ${AM_ERROR_COLOR} ]] && AM_ERROR_COLOR="+ AM_ERROR_COLOR +"\n" 66 | + " [[ -z ${AM_REV_COLOR} ]] && AM_REV_COLOR="+ AM_REV_COLOR +"\n" 67 | + " [[ -z ${AM_BRANCH_COLOR} ]] && AM_BRANCH_COLOR="+ AM_BRANCH_COLOR +"\n" 68 | + " [[ -z ${AM_LEFT_RIGHT_COLOR} ]] && AM_LEFT_RIGHT_COLOR="+ AM_LEFT_RIGHT_COLOR +"\n" 69 | + " [[ -z ${AM_STASH_COLOR} ]] && AM_STASH_COLOR="+ AM_STASH_COLOR +"\n" 70 | + " [[ -z ${AM_BARE_COLOR} ]] && AM_BARE_COLOR="+ AM_BARE_COLOR +"\n" 71 | + " [[ -z ${AM_COMMIT_SINCE_COLOR} ]] && AM_COMMIT_SINCE_COLOR="+ AM_COMMIT_SINCE_COLOR +"\n" 72 | + " [[ -z ${AM_FADE_COLOR} ]] && AM_FADE_COLOR="+ AM_FADE_COLOR +"\n" 73 | + " [[ -z ${AM_VENV_COLOR} ]] && AM_VENV_COLOR="+ AM_VENV_COLOR +"\n" 74 | + " [[ -z ${AM_PYTHON_COLOR} ]] && AM_PYTHON_COLOR="+ AM_PYTHON_COLOR +"\n" 75 | + " [[ -z ${AM_RUBY_COLOR} ]] && AM_RUBY_COLOR="+ AM_RUBY_COLOR +"\n" 76 | + " [[ -z ${AM_JAVA_COLOR} ]] && AM_JAVA_COLOR="+ AM_JAVA_COLOR +"\n" 77 | + " [[ -z ${AM_GO_COLOR} ]] && AM_GO_COLOR="+ AM_GO_COLOR +"\n" 78 | + " [[ -z ${AM_ELIXIR_COLOR} ]] && AM_ELIXIR_COLOR="+ AM_ELIXIR_COLOR +"\n" 79 | + " [[ -z ${AM_CRYSTAL_COLOR} ]] && AM_CRYSTAL_COLOR="+ AM_CRYSTAL_COLOR +"\n" 80 | + " [[ -z ${AM_NODE_COLOR} ]] && AM_NODE_COLOR="+ AM_NODE_COLOR +"\n" 81 | + " [[ -z ${AM_PHP_COLOR} ]] && AM_PHP_COLOR="+ AM_PHP_COLOR +"\n" 82 | + " [[ -z ${AM_GRADLE_COLOR} ]] && AM_GRADLE_COLOR="+ AM_GRADLE_COLOR +"\n" 83 | + " [[ -z ${AM_MAVEN_COLOR} ]] && AM_MAVEN_COLOR="+ AM_MAVEN_COLOR +"\n" 84 | + " [[ -z ${AM_TIMER_COLOR} ]] && AM_TIMER_COLOR="+ AM_TIMER_COLOR +"\n" 85 | + " [[ -z ${AM_PROMPT_START_TAG_COLOR} ]] && AM_PROMPT_START_TAG_COLOR="+ AM_PROMPT_START_TAG_COLOR +"\n" 86 | + " [[ -z ${AM_PROMPT_END_TAG_COLOR} ]] && AM_PROMPT_END_TAG_COLOR="+ AM_PROMPT_END_TAG_COLOR +"\n" 87 | + " [[ -z ${AM_GIT_TRACKED_COLOR} ]] && AM_GIT_TRACKED_COLOR="+ AM_GIT_TRACKED_COLOR +"\n" 88 | + " [[ -z ${AM_GIT_UN_TRACKED_COLOR} ]] && AM_GIT_UN_TRACKED_COLOR="+ AM_GIT_UN_TRACKED_COLOR +"\n" 89 | + "}" 90 | 91 | 92 | document.getElementById("raw-config").value = rawConfig 93 | } 94 | 95 | updateTheme() 96 | 97 | var colors = document.getElementsByClassName("color"); 98 | for (var i = 0; i < colors.length; i++) { colors[i].onchange = function() {updateTheme();} } 99 | 100 | --------------------------------------------------------------------------------