Full Code of AhmedAbdulrahman/aylin.vim for AI

master d9532f02f5ea cached
6 files
34.2 KB
10.1k tokens
1 requests
Download .txt
Repository: AhmedAbdulrahman/aylin.vim
Branch: master
Commit: d9532f02f5ea
Files: 6
Total size: 34.2 KB

Directory structure:
gitextract_dvjmugua/

├── .editorconfig
├── .gitignore
├── LICENSE.txt
├── README.md
├── autoload/
│   └── lightline/
│       └── colorscheme/
│           └── aylin.vim
└── colors/
    └── aylin.vim

================================================
FILE CONTENTS
================================================

================================================
FILE: .editorconfig
================================================
root = true

[*.vim]
indent_size = 2
indent_style = space

================================================
FILE: .gitignore
================================================
*.un

================================================
FILE: LICENSE.txt
================================================
The MIT License (MIT)

Copyright (c) 2020 Ahmed Abdulrahman 

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

================================================
FILE: README.md
================================================
# Aylin 🌌

<p align="center">
  <img src="./images/logo.png" width="300" alt="Aylin">
</p>

<p align="center">
    <em>Aylin is a modern and minimal VIM dark theme with bright colors. The theme is based on the great theme <a href="https://github.com/ayu-theme/vscode-ayu">Ayu theme</a>. See Credits for a detailed lineage.</em>
</p>

> If you want to use this plugin with Neovim 0.5, please use the [**0.5-nvim**](https://github.com/AhmedAbdulrahman/aylin.vim/tree/0.5-nvim) branch

<p align="center">
  <img src="./images/screenshot.png" alt="Screenshot">
</p>

## Installation
You can install `aylin.vim` with whatever package manager you use. For example:
- [Pathogen][vimpathogen]
- [Vundle][vundle]
- [NeoBundle][neobundle]
- [VIM Plug][vimplug]

For example:

- Pathogen
  - `git clone https://github.com/AhmedAbdulrahman/vim-aylin.git ~/.vim/bundle/vim-aylin`
- Vundle
  - Add `Plugin 'AhmedAbdulrahman/vim-aylin'` to your .vimrc and run `:PluginInstall`
- NeoBundle
  - Add `NeoBundle 'AhmedAbdulrahman/vim-aylin'` to your .vimrc and run `:NeoBundleInstall`
- vim-plug
  - Add `Plug 'AhmedAbdulrahman/vim-aylin'` to your .vimrc and run `:PlugInstall`
- Vim-8
  - `git clone https://github.com/AhmedAbdulrahman/vim-aylin.git ~/.vim/pack/default/start/vim-aylin`

>> If you don't use a plugin manager just copy the content of vim/colors/ to ~/.vim/colors.

## Usage
In your Vim `(~/.vimrc)` or Neovim `(.config/nvim/init.vim)` configuration, place the following two lines:

```vim
set background=dark
colorscheme aylin
```

### True Colors

To provide the best user experience possible, I recommend enabling true colors. To experience the blissfulness of your editor's true colors, place this in your `.vimrc` or `~/.config/nvim/init.vim` file:

```vim
if (has("nvim"))
  "For Neovim 0.1.3 and 0.1.4 < https://github.com/neovim/neovim/pull/2198 >
  let $NVIM_TUI_ENABLE_TRUE_COLOR=1
endif

"For Neovim > 0.1.5 and Vim > patch 7.4.1799 < https://github.com/vim/vim/commit/61be73bb0f965a895bfb064ea3e55476ac175162 >
"Based on Vim patch 7.4.1770 (`guicolors` option) < https://github.com/vim/vim/commit/8a633e3427b47286869aa4b96f2bfc1fe65b25cd >
" < https://github.com/neovim/neovim/wiki/Following-HEAD#20160511 >
if (has("termguicolors"))
  set termguicolors
endif
```

### Vim Lightline
To use the included [lightline.vim](https://github.com/itchyny/lightline.vim) theme:

```vim
let g:lightline = {
      \ 'colorscheme': 'aylin',
      \ }
```

## Contributing
All forms of contribution are welcome: bug reports, bug fixes, pull requests and simple suggestions. Thanks!


## Credits

Credit goes to the [Ayu theme][vscodeayu]. I ended up changing colors and their mappings.

## License
MIT License © 2020 Ahmed Abdulrahman. See [LICENSE.txt](./LICENSE.txt) for more information.

[logo]: images/logo.png
[screenshot]: images/screenshot.png
[vscodeayu]: https://github.com/ayu-theme/vscode-ayu
[vimplug]: https://github.com/junegunn/vim-plug
[neobundle]: https://github.com/Shougo/neobundle.vim
[vundle]: https://github.com/gmarik/vundle
[vimpathogen]: https://github.com/tpope/vim-pathogen
[firaCode]: https://github.com/tonsky/FiraCode


================================================
FILE: autoload/lightline/colorscheme/aylin.vim
================================================
" Aylin - color scheme for lightline"
" Author: Ahmed Abdulrahman"
" License: MIT"

if !exists("g:lightline")
	finish
endif

let s:gray1 = '#1b202a'
let s:gray2 = '#232834'
let s:gray3 = '#323c4d'
let s:gray4 = '#51617d'
let s:gray5 = '#9aa7bd'
let s:red = '#f95764'
let s:green = '#bae67e'
let s:yellow = '#ffd580'
let s:blue = '#82AAFF'
let s:purple = '#c792ea'
let s:cyan = '#7fdbca'
let s:orange = '#F78C6C'
let s:pink = '#FD98B9'

let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}}

let s:p.normal.left = [ [ s:gray2, s:pink ], [ s:gray5, s:gray3 ] ]
let s:p.normal.right = [ [ s:gray2, s:pink ], [ s:gray5, s:gray3 ] ]
let s:p.normal.middle = [ [ s:gray4, s:gray2 ] ]
let s:p.normal.error = [ [ s:gray2, s:red ] ]
let s:p.normal.warning = [ [ s:gray2, s:yellow ] ]

let s:p.insert.left = [ [ s:gray2, s:green ], [ s:gray5, s:gray3 ] ]
let s:p.insert.right = [ [ s:gray2, s:green ], [ s:gray5, s:gray3 ] ]

let s:p.replace.left = [ [ s:gray2, s:red ], [ s:gray5, s:gray3 ] ]
let s:p.replace.right = [ [ s:gray2, s:red ], [ s:gray5, s:gray3 ] ]

let s:p.visual.left = [ [ s:gray2, s:orange ], [ s:gray5, s:gray3 ] ]
let s:p.visual.right = [ [ s:gray2, s:orange ], [ s:gray5, s:gray3 ] ]

let s:p.inactive.left =  [ [ s:gray5, s:gray3 ], [ s:gray4, s:gray2 ] ]
let s:p.inactive.right = [ [ s:gray5, s:gray3 ], [ s:gray4, s:gray2 ] ]
let s:p.inactive.middle = [ [ s:gray4, s:gray2 ] ]

let s:p.tabline.left = [ [ s:gray5, s:gray3 ] ]
let s:p.tabline.middle = [ [ s:gray4, s:gray2 ] ]
let s:p.tabline.right = [ [ s:gray2, s:blue ] ]
let s:p.tabline.tabsel = [ [ s:gray2, s:blue ] ]

let g:lightline#colorscheme#aylin#palette = lightline#colorscheme#fill(s:p)


================================================
FILE: colors/aylin.vim
================================================
" vim:fdm=marker"
" Vim Color File"
" Name: aylin.vim"
" Author: Ahmed Abdulrahman (@_ahmed_ab)"
" Maintainer: https://github.com/AhmedAbdulrahman/aylin.vim"
" License: The MIT License (MIT)"

" === Colors ==="
" --------------------------"
:let _white       = '#ffffff'
:let _l_white     = '#ebefff'
:let _d_white     = '#c8c8db'
:let _gray_light  = '#74778c'
:let _gray        = '#606375'
:let _gray_dark   = '#535560'
:let _semigray    = "#42444b"
:let _lightblack  = '#313e52'
:let _semiblack   = '#262f3e'
:let _black       = '#1f2430'

:let _aubergine   = '#FD98B9'
:let _marzipan    = '#ecc48d'
:let _d_turquoise = '#7fdbca'
:let _l_sky       = '#9fd4ff'
:let _sky         = '#6cbeff'
:let _sap         = '#ebff00'
:let _purple      = '#c792ea'
:let _pink        = '#f45c7f'
:let _green       = '#addb67'

" Clear any other set colors"
highlight clear

if exists("syntax_on")
  syntax reset
endif

set t_Co=256

let g:colors_name="aylin"

" Not all terminals support italics properly. If yours does, opt-in."
if !exists("g:aylin_terminal_italics")
  let g:aylin_terminal_italics = 0
endif

" === Functions ==="
" Returns a darkened color using given color and the percent to darken it by."
" Example: color_helper#hex_color_darken('#FFFFFF', 0.10)"
" Returns: '#E5E5E5'"

function! s:hex_color_darken(color, percent)
  let l:rgb = s:hex_color_to_rgb(a:color)
  let l:rgb_darkened = []

  for i in l:rgb
    call add(l:rgb_darkened, float2nr(i * (1 - a:percent)))
  endfor

  return s:rgb_color_to_hex(l:rgb_darkened)
endfunction


function! s:hex_color_to_rgb(hex_color)
  let l:rgb = []

  let l:red   = s:hex_to_dec(strpart(a:hex_color, 1, 2))
  let l:green = s:hex_to_dec(strpart(a:hex_color, 3, 2))
  let l:blue  = s:hex_to_dec(strpart(a:hex_color, 5, 2))
  let l:rgb = [l:red, l:green, l:blue]

  return l:rgb
endfunction

function! s:hex_to_dec(arg)
  return (a:arg =~? '^0x') ? a:arg + 0 : ('0x'.a:arg) + 0
endfunction

function! s:dec_to_hex(arg, padding)
  return toupper(printf('%0' . a:padding . 'x', a:arg + 0))
endfunction

function! s:rgb_color_to_hex(rgb_color)
  let l:hex_color  = '#'
  let l:hex_color .= s:dec_to_hex(a:rgb_color[0], 2) " red"
  let l:hex_color .= s:dec_to_hex(a:rgb_color[1], 2) " green"
  let l:hex_color .= s:dec_to_hex(a:rgb_color[2], 2) " blue"

  return l:hex_color
endfunction

let colorgroup = {}

" === Highlights ==="
let colorgroup['Normal']       = {"GUIFG": _l_white,     "GUIBG":  _black}
let colorgroup['NormalNC']     = {"GUIFG": _l_white,     "GUIBG":  _black}
let colorgroup['NormalSB']     = {"GUIFG": _d_white,     "GUIBG":  _semiblack}
let colorgroup['NormalFloat']  = {"GUIFG": _l_white,     "GUIBG":  _black}
let colorgroup['FloatBorder']  = {"GUIFG": _lightblack}
let colorgroup['Darker']       = {"GUIFG": _gray,      "GUIBG":  _black}
let colorgroup['ColorColumn']  = {"GUIFG": _black, "GUIBG":  _aubergine}
let colorgroup['Conceal']      = {"GUIFG": _sap,        "GUI": "bold"}
let colorgroup['Cursor']       = {"GUIFG": _black, "GUIBG":  _aubergine}
let colorgroup['iCursor']      = {"GUIFG": _black, "GUIBG":  _marzipan}
let colorgroup['CursorLine']   = {"GUIFG": "NONE",     "GUIBG":  _semiblack}
let colorgroup['CursorLineNr'] = {"GUIFG": _gray_dark, "GUIBG":  _black}
let colorgroup['Directory']    = {"GUIFG": _marzipan,   "GUIBG":  _black}
let colorgroup['ErrorMsg']     = {"GUIFG": _black, "GUIBG":  _aubergine}
let colorgroup['FoldColumn']   = {                     "GUIBG":  _black}
let colorgroup['Folded']       = {"GUIFG": _l_white,     "GUIBG":  _semiblack}
let colorgroup['LineNr']       = {"GUIFG": _lightblack, "GUIBG":  _black}
if &background == "light"
  let colorgroup['LineNr']     = {"GUIFG": _gray, "GUIBG":  _black}
endif
let colorgroup['MatchParen']   = {"GUIFG": _black, "GUIBG":  _l_white}
let colorgroup['ModeMsg']      = {"GUIFG": _black, "GUIBG":  _marzipan}
let colorgroup['Whitespace']   = {"GUIFG": _semiblack, "CTERMFG":235}

"Popup menu: normal item"
let colorgroup['Pmenu']        = {"GUIFG": _l_white,     "GUIBG":  _semiblack}
"Popup menu: selected item"
let colorgroup['PmenuSel']     = {"GUIBG":  _gray_dark}
"Popup menu: scrollbar"
let colorgroup['PmenuSbar']    = {"GUIBG":  _black}
"Thumb of the scrollbar."
let colorgroup['PmenuThumb']    = {"GUIBG":  _black}

let colorgroup['Search']       = {"GUIBG":  _gray_dark, "GUI": "underline"}
let colorgroup['SignColumn']   = {"GUIBG":  _black}
let colorgroup['StatusLine']   = {"GUIFG": _gray,      "GUIBG":  _semiblack}
let colorgroup['StatusLineNC'] = {"GUIFG": _gray_dark, "GUIBG":  _semiblack}
let colorgroup['Tabline']      = {"GUIFG": _gray,      "GUIBG":  _semiblack}
let colorgroup['TablineFill']  = {"GUIBG":  _black}
let colorgroup['TabLineSel']   = {"GUIFG": _l_sky, "GUIBG":  _black, "CTERM": "reverse", "GUI": "reverse"}
let colorgroup['Title']        = {"GUIFG": _marzipan, "GUI": "bold"}
let colorgroup['Todo']         = {"GUIFG": _black, "GUIBG":  _sky, "GUI": "italic"}
let colorgroup['VertSplit']    = {"GUIFG": _lightblack}
let colorgroup['Visual']       = {"GUIBG": _lightblack}
if &background == "light"
  let colorgroup['Visual']     = {"GUIFG": _l_white,     "GUIBG":  _sap}
endif
let colorgroup['WarningMsg']   = {"GUIFG": _pink, "GUIBG":  _black}

" === Other highlighting groups ==="
let colorgroup['Access']       = {"GUIFG": _marzipan, "GUI": "bold"}
let colorgroup['Character']    = {"GUIFG": _sky}
let colorgroup['Define']       = {"GUIFG": _gray_light}
let colorgroup['Function']     = {"GUIFG": _d_turquoise}
let colorgroup['Label']        = {"GUIFG": _d_turquoise}
let colorgroup['Module']       = {"GUIFG": _aubergine, "GUI": "underline"}
let colorgroup['NonText']      = {"GUIFG": _gray_dark}
let colorgroup['String']       = {"GUIFG": _marzipan}
let colorgroup['Structure']    = {"GUIFG": _gray}
let colorgroup['Object']       = {"GUIFG": _gray}
let colorgroup['Xml']          = {"GUIFG": _purple}
let colorgroup['Punctuation']  = {"GUIFG": _purple}
let colorgroup['Attr']         = {"GUIFG": _green}

" === Syntax ==="
let colorgroup['Comment']      = {"GUIFG": _gray_light, "CTERMFG":244, "CTERMBG":"NONE", "GUIBG": "NONE", "GUISP":"NONE", "CTERM":"NONE", "GUI":"NONE"}
let colorgroup['Constant']     = {"GUIFG": _marzipan, "GUI": "bold"}
let colorgroup['Identifier']   = {"GUIFG": _aubergine}
let colorgroup['Statement']    = {"GUIFG": _l_sky}
let colorgroup['PreProc']      = {"GUIFG": _white}
let colorgroup['Type']         = {"GUIFG": _d_white}
let colorgroup['Special']      = {"GUIFG": _aubergine}
let colorgroup['Underlined']   = {"GUIFG": _marzipan, "GUI": "underline"}
let colorgroup['Error']        = {"GUIFG": _black, "GUIBG": _aubergine}
let colorgroup['MarkdownH1']     = {"GUIFG": _sky, "GUI": "bold"}
let colorgroup['MarkdownH2']     = {"GUIFG": _l_sky, "GUI": "bold"}
let colorgroup['MarkdownLinkText']     = {"GUIFG": _l_sky, "GUI": "underline"}

" === Own highlighting groups ==="
let colorgroup['UnderlinedBold']   = {"GUIFG": _marzipan, "GUI": "underline,bold"}

" === GitGutter highlighting groups ==="
let colorgroup['GitGutterAdd']            = {"GUIFG": _green, "GUIBG":  _black}
let colorgroup['GitGutterChange']         = {"GUIFG": _sap, "GUIBG":  _black}
let colorgroup['GitGutterDelete']         = {"GUIFG": _pink, "GUIBG":  _black}
let colorgroup['GitGutterChangeDelete']   = {"GUIFG": _sap, "GUIBG":  _black}

" === Git highlighting groups ==="
let colorgroup['DiffAdd']           = {"GUIFG": _green, "GUIBG":  _black, "GUI":"NONE"}
let colorgroup['DiffChange']        = {"GUIFG": _white, "GUIBG":  _black, "GUI":"NONE"}
let colorgroup['DiffDelete']        = {"GUIFG": _pink, "GUIBG":  _black, "GUI":"NONE"}
let colorgroup['DiffText']          = {"GUIFG": _pink, "GUIBG":  _black, "GUI":"NONE"}

" === NvimTree highlighting groups ==="
let colorgroup['NvimTreeNormal']              = {"GUIFG": _d_white, "GUIBG":  _black }
let colorgroup['NvimTreeNormalNC']            = {"GUIFG": _d_white, "GUIBG":  _black }
let colorgroup['NvimTreeRootFolder']          = {"GUIFG": _gray_light, "GUIBG":  _black, "GUI":"bold"}
let colorgroup['NvimTreeFolderName']          = {"GUIFG": _gray_light, "GUIBG":  _black }
let colorgroup['NvimTreeOpenedFolderName']    = {"GUIFG": _d_white, "GUIBG":  _black }
let colorgroup['NvimTreeGitDirty']            = {"GUIFG": _marzipan, "GUIBG":  _black }
let colorgroup['NvimTreeGitNew']              = {"GUIFG": _green, "GUIBG":  _black }
let colorgroup['NvimTreeGitDeleted']          = {"GUIFG": _pink, "GUIBG":  _black }
let colorgroup['NvimTreeSpecialFile']         = {"GUIFG": _d_turquoise, "GUIBG":  _black, "GUI":"underline"}
let colorgroup['NvimTreeIndentMarker']        = {"GUIFG": _lightblack, "GUIBG":  _black}
let colorgroup['NvimTreeImageFile']           = {"GUIFG": _d_white, "GUIBG":  _black }
let colorgroup['NvimTreeSymlink']             = {"GUIFG": _d_white, "GUIBG":  _black }
let colorgroup['NvimTreeGitStaged']           = {"GUIFG": _d_white, "GUIBG":  _black }
let colorgroup['NvimTreeGitMerge']            = {"GUIFG": _d_white, "GUIBG":  _black }
let colorgroup['NvimTreeGitRenamed']          = {"GUIFG": _d_white, "GUIBG":  _black }

" === COMPLETION highlighting groups ==="
let colorgroup['CmpDocumentation']           = {"GUIFG": _d_white, "GUIBG":  _sap, "GUI":"NONE" }
let colorgroup['CmpDocumentationBorder']     = {"GUIFG": _d_white, "GUIBG":  _sap, "GUI":"NONE" }
"uncompleted item that may be good for completion"
let colorgroup['CmpItemAbbr']                = {"GUIFG": _d_white, "GUIBG":  _lightblack, "GUI":"NONE" }
let colorgroup['CmpItemAbbrDeprecated']      = {"GUIFG": _d_white, "GUIBG":  _sap, "GUI":"NONE" }
"matched item (what you typed until present)"
let colorgroup['CmpItemAbbrMatch']           = {"GUIFG": _aubergine, "GUIBG":  _lightblack, "GUI":"NONE" }
"fuzzy match for what you typed"
let colorgroup['CmpItemAbbrMatchFuzzy']      = {"GUIFG": _d_turquoise, "GUIBG":  _lightblack, "GUI":"NONE" }
let colorgroup['CmpItemKind']                = {"GUIFG": _aubergine, "GUIBG":  _sap, "GUI":"NONE" }
let colorgroup['CmpItemMenu']                = {"GUIFG": _l_sky, "GUIBG":  _lightblack, "GUI":"NONE" }

let colorgroup['LspDiagnosticsDefaultError'] = {"GUIFG": _pink, "GUIBG":  _black }
let colorgroup['LspDiagnosticsDefaultWarning'] = {"GUIFG": _marzipan, "GUIBG":  _black }
let colorgroup['LspDiagnosticsDefaultHint'] = {"GUIFG": _l_sky, "GUIBG":  _black }

let colorgroup['LspFloatWinNormal']          = {"GUIFG": _d_white, "GUIBG":  _aubergine }
let colorgroup['LspFloatWinBorder']          = {"GUIFG": _sap, "GUIBG":  _sap }
let colorgroup['LspFloatWinBorder']          = {"GUIFG": _sap, "GUIBG":  _sap }
let colorgroup['LspFloatWinBorder']          = {"GUIFG": _sap, "GUIBG":  _sap }

 let colorgroup['BufferLineIndicatorSelected']   = {"GUIFG": _l_sky}
 let colorgroup['BufferLineFill']                = {"GUIBG":  _pink}

"used for highlighting the current line in terminal-debug"
let colorgroup['debugPC']                    = {"GUIBG":  _black}
"used for breakpoint colors in terminal-debug"
let colorgroup['debugBreakpoint']            = {"GUIBG":  _semiblack}

"These groups are for the native LSP client. Some other LSP clients may"
"use these groups, or use their own. Consult your LSP client's"
"documentation."

"used for highlighting 'text' references"
let colorgroup['LspReferenceText']          = {"GUIBG":  _gray_light }
"used for highlighting 'read' references"
let colorgroup['LspReferenceRead']          = {"GUIBG":  _gray_light }
"used for highlighting 'write' references"
let colorgroup['LspReferenceWrite']         = {"GUIBG":  _gray_light }

let colorgroup['DiagnosticError']        = {"GUIFG":  _pink }
let colorgroup['DiagnosticWarn']         = {"GUIFG":  _marzipan }
let colorgroup['DiagnosticInfo']         = {"GUIFG":  _sky }
let colorgroup['DiagnosticHint']         = {"GUIFG":  _d_turquoise }

let colorgroup['DiagnosticVirtualTextError']        = {"GUIFG": _pink, "GUIBG":  s:hex_color_darken(_pink, 0.80) }
let colorgroup['DiagnosticVirtualTextWarn']         = {"GUIFG": _marzipan,"GUIBG":  s:hex_color_darken(_marzipan, 0.80) }
let colorgroup['DiagnosticVirtualTextInfo']         = {"GUIFG": _sky,"GUIBG":  s:hex_color_darken(_sky, 0.80) }
let colorgroup['DiagnosticVirtualTextHint']         = {"GUIFG": _d_turquoise,"GUIBG":  s:hex_color_darken(_d_turquoise, 0.80) }

let colorgroup['DiagnosticUnderlineError']        = {"style":  "undercurl", "sp": _pink }
let colorgroup['DiagnosticUnderlineWarn']         = {"style":  "undercurl", "sp": _marzipan }
let colorgroup['DiagnosticUnderlineInfo']         = {"style":  "undercurl", "sp": _sky }
let colorgroup['DiagnosticUnderlineHint']         = {"style":  "undercurl", "sp": _d_turquoise }

" === Highlighting Links ==="
hi link Boolean               Number
hi link Class                 Constant
hi link ErrorMsg              Error
hi link Delimiter             Define
hi link Debug                 Special
hi link Conditional           Define
hi link Exception             PreProc
hi link Float                 Number
hi link Include               PreProc
hi link Macro                 PreProc
hi link Number                Identifier
hi link Operator              Identifier
hi link PreCondit             PreProc
hi link Repeat                Statement
hi link SpecialChar           Special
hi link SpecialComment        Special
hi link SpecialKey            Define
hi link StorageClass          Identifier
hi link Symbol                PreProc
hi link Tag                   Normal
hi link Typedef               Type

" === Highlighting Plugins ==="

" CtrlP "
hi link CtrlPMatch             Character

" Git commit "
hi link gitcommitBranch        Constant
hi link gitcommitSelectedFile  Statement
hi link gitcommitDiscardedFile Structure
hi link gitcommitUntrackedFile Structure
hi link gitcommitSummary       String

" Fugitive "
hi link DiffAdd DiffAdd
hi link DiffChange DiffChange
hi link DiffDelete DiffDelete
hi link DiffText DiffText

" GitGutter "
hi link GitGutterAdd          GitGutterAdd
hi link GitGutterChange       GitGutterChange
hi link GitGutterDelete       GitGutterDelete
hi link GitGutterChangeDelete GitGutterChangeDelete

" Signify "
hi link SignifySignAdd GitGutterAdd
hi link SignifySignChange GitGutterChange
hi link SignifySignChangeDelete GitGutterChangeDelete
hi link SignifySignDelete GitGutterDelete
hi link SignifySignDeleteFirstLine SignifySignDelete

" NERDtree "
hi link NerdTreeCWD           Character
hi link NerdTreeHelpKey       Character
hi link NerdTreeHelpTitle     Statement
hi link NerdTreeOpenable      NerdTreeCWD
hi link NerdTreeClosable      Statement
hi link NerdTreeDir           Normal
hi link NerdTreeDirSlash      NerdTreeDir

" PlainTasks (.todo) "
hi link ptCompleteTask        Number
hi link ptContext             Type
hi link ptSection             Title
hi link ptTask                Normal

" VimPlug "
hi link plugName              Character

" Startify "
hi link StartifyNumber        Character
hi link StartifyBracket       StartifyNumber
hi link StartifySection       Title
hi link StartifyPath          Define
hi link StartifySlash         StartifyPath
hi link StartifyFile          Normal

" === Highlighting Languages/Tools ==="

" highlight clear ALEErrorSign "
if exists('g:ale_enabled')
  hi! link ALEError WarningMsg
  hi! link ALEWarning WarningMsg
  hi! link ALEInfo WarningMsg

  hi! link ALEErrorSign WarningMsg
  hi! link ALEWarningSign WarningMsg
  hi! link ALEInfoSign WarningMsg
  hi! link ALEVirtualTextWarning WarningMsg
  hi! link ALEVirtualTextError WarningMsg
endif

" Apache "
hi link apacheDeclaration     PreProc

" CoffeeScript "
hi link coffeeExtendedOp      Character
hi link coffeeObject          Statement
hi link coffeeObjAssign       Character
hi link coffeeParen           Character

" CSS "
hi link cssAttr               Identifier
hi link cssColor              Normal
hi link cssClassName          String
hi link cssProp               Function
hi link cssPseudoClass        Character
hi link cssPseudoClassId      Character
hi link cssSelectorOp         Character
hi link cssTagName           Identifier
hi link cssDefinition           Identifier
hi link cssNoise           Punctuation
hi link cssBraces           Punctuation
hi link cssIdentifier           Punctuation
hi link cssIncludeKeyword           Punctuation
hi link cssUnitDecorators           String

" GraphQL "
hi link graphqlName           Function
hi link graphqlString         Comment

" HAML "
hi link hamlTag               Character

" HTML "
"hi link javaScript            Normal"
hi link htmlTag               Label
hi link htmlEndTag            Label
hi link htmlTagName           Label
hi link htmlScriptTag           Label
hi link htmlArg               Attr
hi link htmlTitle             Normal
hi link htmlH1                Normal
hi link htmlH2                htmlH1
hi link htmlH3                htmlH1
hi link htmlH4                htmlH1
hi link htmlH5                htmlH1
hi link htmlH6                htmlH1

" JavaScript "
hi link javascriptFuncArg     Character
hi link javascriptFuncComma   Punctuation
hi link javascriptFuncDef     Statement
hi link javascriptFuncKeyword Statement
hi link javascriptOpSymbols   Type
hi link javascriptParens      Punctuation
hi link javascriptEndcolons   Character
hi link jsArrowFuncArgs       Normal
hi link jsArrowFunction       Identifier
hi link jsBraces              Punctuation
hi link jsBrackets            Punctuation
hi link jsClassBraces         Punctuation
hi link jsClassDefinition     Class
hi link jsClassFuncName       Function
hi link jsClassKeyword        Identifier
hi link jsClassProperty       Normal
hi link jsClassBlock          Identifier
hi link jsDecorator           Normal
hi link jsDestructuringBraces Punctuation
hi link jsExtendsKeyword      jsClassKeyword
hi link jsExport              Identifier
hi link jsImport              Identifier
hi link jsFrom                Identifier
hi link jsFuncBraces          Punctuation
hi link jsFunction            Identifier
hi link jsFuncCall            Function
hi link jsFuncParens          Punctuation
hi link jsFunctionKey         Function
hi link jsGlobalObjects       Identifier
hi link jsGlobalNodeObjects   Identifier
hi link jsIfElseBraces        Punctuation
hi link jsModuleBraces        Normal
hi link jsModuleKeyword       Tag
hi link jsNoise               Delimiter
hi link jsObjectBraces        Punctuation
hi link jsObjectKey           Normal
hi link jsObjectValue         PreProc
hi link jsObjectProp          Function
hi link jsObjectColon         Punctuation
hi link jsObjectShorthandProp Punctuation
hi link jsParens              Punctuation
hi link jsReturn              Identifier
hi link jsSpreadOperator      Identifier
hi link jsThis                Identifier

" JSON "
hi link jsonKeyword           Attr
hi link jsonKeywordMatch      Punctuation
hi link jsonQuote             Attr
hi link jsonNoise             Punctuation
hi link jsonString            Punctuation
hi link jsonBraces            Normal
hi link jsonBoolean           WarningMsg

hi link jsonNumError Comment
hi link jsonCommentError Comment
hi link jsonSemicolonError Comment
hi link jsonTrailingCommaError Comment
hi link jsonMissingCommaError Comment
hi link jsonStringSQError Comment
hi link jsonNoQuotesError Punctuation
hi link jsonTripleQuotesError Punctuation

" hi link texSpecialChar        Special "
" Markdown "
hi link markdownHeadingDelimiter        Identifier
hi link markdownCode                    Identifier
hi link markdownIndentCode              Identifier
hi link markdownLineBreak               Statement
hi link markdownH1 MarkdownH1
hi link markdownH2 MarkdownH2
hi link markdownLinkText markdownLinkText

" MatchTagAlways "
hi link MatchTag              Identifier

" PHP "
hi link phpRegion             Comment
hi link phpConstant WarningMsg
hi link phpCoreConstant WarningMsg
hi link phpComment Comment
hi link phpDocTags WarningMsg
hi link phpDocCustomTags WarningMsg
hi link phpException WarningMsg
hi link phpBoolean WarningMsg
hi link phpClass String
hi link phpStaticClasses String
hi link phpClassDelimiter WarningMsg
hi link phpFunction Label "Custom functions"
hi link phpFunctions Character "Built-in functions"
hi link phpSuperglobals Normal "Global functions"
hi link phpMagicConstants Normal "__CLASS__"
hi link phpServerVars WarningMsg
hi link phpMethods WarningMsg
hi link phpMethodsVar Label
hi link phpSplatOperator Label
hi link phpStringDelimiter String "String Quotes"
hi link phpStructure Label
hi link phpStringSingle String
hi link phpStringDouble Identifier
hi link phpBacktick Identifier
hi link phpNumber Identifier
hi link phpFloat WarningMsg
hi link phpBaselib Identifier
hi link phpRepeat WarningMsg
hi link phpStatement Identifier
hi link phpKeyword Identifier "function"
hi link phpSCKeyword Identifier
hi link phpFCKeyword Identifier
hi link phpYieldFromKeyword Identifier
hi link phpDocNamespaceSeparator WarningMsg
hi link phpClassNamespaceSeparator WarningMsg
hi link phpUseNamespaceSeparator WarningMsg
hi link phpType Identifier "public, privat, protected"
hi link phpInclude Identifier
hi link phpDefine WarningMsg
hi link phpBackslashSequences WarningMsg
hi link phpBackslashDoubleQuote WarningMsg
hi link phpBackslashSingleQuote WarningMsg
hi link phpParent Punctuation
hi link phpBrackets Punctuation
hi link phpIdentifierConst WarningMsg
hi link phpParentError WarningMsg
hi link phpOctalError WarningMsg
hi link phpInterpSimpleError WarningMsg
hi link phpInterpBogusDollarCurley WarningMsg
hi link phpInterpDollarCurly1 WarningMsg
hi link phpInterpDollarCurly2 WarningMsg
hi link phpInterpSimpleBracketsInner WarningMsg
hi link phpInterpSimpleCurly WarningMsg
hi link phpInterpVarname WarningMsg
hi link phpIntVar Punctuation
hi link phpVarSelector PreProc "$ sign"
hi link phpMemberSelector Identifier "->"
hi link phpIdentifier PreProc
hi link phpTodo Identifier
hi link phpDocTodo Identifier
hi link phpOperator Identifier "+, -, x, *"
hi link phpRelation WarningMsg
hi link phpIdentifierSimply WarningMsg

"Pug"
hi link pugHtmlConditionalComment                WarningMsg

" Python "
hi link pythonMagic            Identifier
hi link pythonBuiltin            Identifier
hi link pythonStatement            Identifier
hi link pythonOperator            Punctuation
hi link pythonFunction            Character
hi link pythonString            Label
hi link pythonImport            Identifier
hi link pythonDef            Punctuation
hi link pythonAs            Punctuation
hi link pythonDocstring            Punctuation
hi link pythonSpecial            Punctuation
hi link pythonDecorator            Punctuation
hi link pythonExceptions            Punctuation

" Ruby "
hi link rubyAccess            Access
hi link rubyBlockParameterList PreProc
hi link rubyCallback          Character
hi link rubyClass             Label
hi link rubyClassName         UnderlinedBold
hi link rubyControl           Statement
hi link rubyConstant          Constant
hi link rubyEntity            Character
hi link rubyInclude           Include
hi link rubyInterpolation     Identifier
hi link rubyMacro             Character
hi link rubyModule            Module
hi link rubyStringDelimiter   rubyString
hi link rubySymbol            Symbol
hi link rubyRoute             Type

" SASS "
hi link sassClassChar         Type
hi link sassClass             Type
hi link sassIdChar            Type
hi link sassId                Type
hi link sassProperty          Type
hi link scssProperty          Identifier
hi link scssMixin          Identifier
hi link scssVariable         Attr
hi link scssInclude         Identifier
hi link scssExtend         Identifier
hi link scssFunctionDefinition         Identifier
hi link scssReturn         Identifier
hi link scssEachKeyword         Identifier
hi link scssForKeyword         Identifier
hi link scssImport         Identifier
hi link scssSemicolon         Punctuation
hi link scssAtRoot         Identifier
hi link scssSelectorName         String

" Slim "
hi link slimBegin             Normal
hi link slimClass             Character
hi link slimClassChar         Character
hi link slimId                Character
hi link slimIdChar            Character
hi link rubyKeyword           PreProc
hi link slimText              Normal

" TypeScript "
hi link typescriptBOM                 Normal
hi link typescriptBraces               Punctuation
hi link typescriptParens               Punctuation
hi link typescriptTypeReference        String
hi link typescriptAsyncFuncKeyword     Identifier
hi link typescriptAsyncFunc            Identifier
hi link typescriptArrowFunc            Identifier
hi link typescriptFuncKeyword          Identifier
hi link typescriptArrowFuncArg         Identifier
hi link typescriptFuncName             Function
hi link typescriptFuncArg              Identifier
hi link typescriptFuncComma            Identifier
hi link typescriptFuncTypeArrow         String
hi link typescriptTemplate             Attr
hi link typescriptTemplateSB           Attr
hi link typescriptObjectLabel          Normal
hi link typescriptDestructureLabel     Attr
hi link typescriptObjectAsyncKeyword     Attr
hi link typescriptInterfaceKeyword     Identifier
hi link typescriptInterfaceExtends     Identifier
hi link typescriptInterfaceName        String
hi link typescriptImport               Identifier
hi link typescriptImportType           Normal
hi link typescriptExport               Identifier
hi link typescriptExportType           Normal
"Types=> key:value"
hi link typescriptMember               Normal
hi link typescriptPredefinedType        Attr
hi link typescriptStringMember         Normal
hi link typescriptString               String
hi link typescriptConditional          Identifier
hi link typescriptConditionalElse      Identifier
"default"
hi link typescriptCase                 Identifier
hi link typescriptDefault              Identifier
hi link typescriptMethodAccessor       String
hi link typescriptKeywordOp            String
"return"
hi link typescriptStatementKeyword     Identifier
hi link typescriptNull                 Attr
hi link typescriptBoolean              Attr
hi link typescriptConstructorType       Attr
hi link typescriptTypeQuery             Attr
hi link typescriptAccessibilityModifier Attr
hi link typescriptOptionalMark          Attr
hi link typescriptReadonlyModifier      Attr
hi link typescriptTypeParameter         Attr

" VimL "
hi link vimCmdSep             Character

" YAML "
hi link yamlBlockMappingKey   Punctuation
hi link yamlDocumentStart     Punctuation
hi link yamlKeyValueDelimiter Punctuation
hi link yamlPlainScalar       Punctuation

" XML "
" hi link xmlAttrib             Normal"
hi link xmlTag                Xml
hi link xmlTagName            Identifier
hi link xmlEndTag             Tag
hi link xmlAttrib             Attr

" === Expand colorgroups === "

let s:colors = {}
" http://choorucode.com/2011/07/29/vim-chart-of-color-names/"

let valid_cterm_colors =
      \ [
      \     'Black', 'DarkBlue', 'DarkGreen', 'DarkCyan',
      \     'DarkRed', 'DarkMagenta', 'Brown', 'DarkYellow',
      \     'LightGray', 'LightGrey', 'Gray', 'Grey',
      \     'DarkGray', 'DarkGrey', 'Blue', 'LightBlue',
      \     'Green', 'LightGreen', 'Cyan', 'LightCyan',
      \     'Red', 'LightRed', 'Magenta', 'LightMagenta',
      \     'Yellow', 'LightYellow', 'White',
      \ ]
for key in keys(colorgroup)
  let s:colors = colorgroup[key]
  if has_key(s:colors, 'TERM')
    let term = s:colors['TERM']
  else
    let term = 'NONE'
  endif
  if has_key(s:colors, 'GUI')
    let gui = s:colors['GUI']
  else
    let gui='NONE'
  endif
  if has_key(s:colors, 'GUIFG')
    let guifg = s:colors['GUIFG']
  else
    let guifg='NONE'
  endif
  if has_key(s:colors, 'GUIBG')
    let guibg = s:colors['GUIBG']
  else
    let guibg='NONE'
  endif
  if g:aylin_terminal_italics == 0
  	if has_key(s:colors, 'CTERM') && s:colors["CTERM"] == "italic"
	  unlet a:colors.CTERM
	endif
    if has_key(s:colors, "GUI") && s:colors["GUI"] == "italic"
      unlet s:colors.GUI
    endif
  endif
  if has_key(s:colors, 'CTERM')
    let cterm = s:colors['CTERM']
  else
    let cterm=gui
  endif
  if has_key(s:colors, 'CTERMFG')
    let ctermfg = s:colors['CTERMFG']
  else
    if index(valid_cterm_colors, guifg) != -1
      let ctermfg=guifg
    else
      let ctermfg='Blue'
    endif
  endif
  if has_key(s:colors, 'CTERMBG')
    let ctermbg = s:colors['CTERMBG']
  else
    if index(valid_cterm_colors, guibg) != -1
      let ctermbg=guibg
    else
      let ctermbg='NONE'
    endif
  endif
  if has_key(s:colors, 'GUISP')
    let guisp = s:colors['GUISP']
  else
    let guisp='NONE'
  endif
  if key =~ '^\k*$'
    execute "hi ".key." term=".term." cterm=".cterm." gui=".gui." ctermfg=".ctermfg." guifg=".guifg." ctermbg=".ctermbg." guibg=".guibg." guisp=".guisp
  endif
endfor


" Must appear at the end of the file to work around this oddity:
" https://groups.google.com/forum/#!msg/vim_dev/afPqwAFNdrU/nqh6tOM87QUJ
set background=dark
Download .txt
gitextract_dvjmugua/

├── .editorconfig
├── .gitignore
├── LICENSE.txt
├── README.md
├── autoload/
│   └── lightline/
│       └── colorscheme/
│           └── aylin.vim
└── colors/
    └── aylin.vim
Condensed preview — 6 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (37K chars).
[
  {
    "path": ".editorconfig",
    "chars": 57,
    "preview": "root = true\n\n[*.vim]\nindent_size = 2\nindent_style = space"
  },
  {
    "path": ".gitignore",
    "chars": 4,
    "preview": "*.un"
  },
  {
    "path": "LICENSE.txt",
    "chars": 1084,
    "preview": "The MIT License (MIT)\n\nCopyright (c) 2020 Ahmed Abdulrahman \n\nPermission is hereby granted, free of charge, to any perso"
  },
  {
    "path": "README.md",
    "chars": 3144,
    "preview": "# Aylin 🌌\n\n<p align=\"center\">\n  <img src=\"./images/logo.png\" width=\"300\" alt=\"Aylin\">\n</p>\n\n<p align=\"center\">\n    <em>A"
  },
  {
    "path": "autoload/lightline/colorscheme/aylin.vim",
    "chars": 1708,
    "preview": "\" Aylin - color scheme for lightline\"\n\" Author: Ahmed Abdulrahman\"\n\" License: MIT\"\n\nif !exists(\"g:lightline\")\n\tfinish\nen"
  },
  {
    "path": "colors/aylin.vim",
    "chars": 29023,
    "preview": "\" vim:fdm=marker\"\n\" Vim Color File\"\n\" Name: aylin.vim\"\n\" Author: Ahmed Abdulrahman (@_ahmed_ab)\"\n\" Maintainer: https://g"
  }
]

About this extraction

This page contains the full source code of the AhmedAbdulrahman/aylin.vim GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 6 files (34.2 KB), approximately 10.1k tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!