Home

Awesome

NOTICE: This project has been archived (2024-01-25).

nvim-juliana

Port of Sublime's Mariana Theme for Neovim for short attention span devs with Tree-sitter support.

<details> <summary><h2>📸 Screenshot</h2></summary> <img src="https://github.com/kaiuri/nvim-juliana/assets/19148108/e287e3da-661b-4aef-aacd-dd823021aae6" width="70%" alt="mariana" /> <!-- <table> <tbody> <tr class="mariana"> <img src="https://user-images.githubusercontent.com/19148108/235299782-66a8165d-3390-4b74-b0ed-67df308e3f3e.png" width="50%" alt="mariana" /> </tr> <tr class="breakers"> <img src="https://user-images.githubusercontent.com/19148108/235299774-9d19818e-c41f-4f1b-b3b4-35505f392975.png" width="50%" alt="breakers" /> </tr> </tbody> </table> --> </details> <details> <summary><h2>🎨 Palette</h2></summary>
namehexnamehex
fg1#fffffffg2#d8dee9
fg3#a6acb9fg4#46525c
bg1#444e59selection_bg#3f4750
bg2#303841bg3#2e353e
diff_text#373f48diff_change#585249
diff_remove#4f434atext_fg#d9d9d9
yellow1#fac761yellow2#f9ae58
yellow3#ee932bgreen#99c794
magenta#c695c6orange#f97b58
red1#c76b70red2#ec5f66
blue1#95b2d6blue2#5c99d6
cyan1#87c7c7cyan2#5fb4b4
</details>

⚡️ Requirements

📦 Installation

Plug it with your favorite plugin manager.

use { 'kaiuri/nvim-juliana',
  config = function()
    require 'nvim-juliana'.setup { --[=[ configuration --]=] }
  end
}
--- then
vim.cmd 'colo juliana'
{
  'kaiuri/nvim-juliana',
  lazy = false,
  opts = { --[=[ configuration --]=] },
  config = true,
}
<details> <summary><h2>🛠 Configuration</h2></summary>
{
  colors = {
    bg1          = '#444e59',
    bg2          = '#303841',
    bg3          = '#2e353e',
    blue1        = '#95b2d6',
    blue2        = '#5c99d6',
    cyan1        = '#87c7c7',
    cyan2        = '#5fb4b4',
    diff_add     = '#41525a',
    diff_change  = '#585249',
    diff_remove  = '#4f434a',
    diff_text    = '#373f48',
    fg1          = '#ffffff',
    fg2          = '#d8dee9',
    fg3          = '#a6acb9',
    fg4          = '#46525c',
    green        = '#99c794',
    magenta      = '#c695c6',
    orange       = '#f97b58',
    red1         = '#c76b70',
    red2         = '#ec5f66',
    selection_bg = '#3f4750',
    text_fg      = '#d9d9d9',
    yellow1      = '#fac761',
    yellow2      = '#f9ae58',
    yellow3      = '#ee932b',
  }
}

To get the theme's palette, you can use the colors() function:

require('nvim-juliana').colors()
</details>

🎨 Examples

You can also set it to use other palettes like, for example:

<details><summary><h3>Gruvbox</h3></summary> <details> <summary>snippet</summary>
---@generic K: "light" | "dark"
---@param mode K
local gruvbox = function(mode)
  ---@param tbl table<`K`, string>
  ---@return string
  local function pick(tbl)
    return tbl[mode]
  end
  return {
    bg1          = pick { light = '#fff7d5', dark = '#32302e' },
    bg2          = pick { light = '#fff5cb', dark = '#282828' },
    bg3          = pick { light = '#fff2bc', dark = '#242424' },
    blue1        = pick { light = '#076578', dark = '#83a598' },
    blue2        = pick { light = '#074f78', dark = '#458588' },
    cyan1        = pick { light = '#689d69', dark = '#8ec07c' },
    cyan2        = pick { light = '#23693e', dark = '#689d6a' },
    diff_add     = pick { light = '#c7d4c4', dark = '#343427' },
    diff_change  = pick { light = '#eadba9', dark = '#3e3428' },
    diff_remove  = pick { light = '#eac4a9', dark = '#3c2828' },
    diff_text    = pick { light = '#ffe789', dark = '#32302e' },
    fg1          = pick { light = '#282828', dark = '#fff5cb' },
    fg2          = pick { light = '#353535', dark = '#ebdbb2' },
    fg3          = pick { light = '#797467', dark = '#928374' },
    fg4          = pick { light = '#938e80', dark = '#665c54' },
    green        = pick { light = '#228b22', dark = '#a8a920' },
    magenta      = pick { light = '#8f3f71', dark = '#c2748f' },
    orange       = pick { light = '#f71d05', dark = '#fb4834' },
    red1         = pick { light = '#cc241d', dark = '#d44333' },
    red2         = pick { light = '#9d0006', dark = '#cc231d' },
    selection_bg = pick { light = '#ffeda3', dark = '#423d39' },
    text_fg      = pick { light = '#282828', dark = '#eadbb5' },
    yellow1      = pick { light = '#cba200', dark = '#fabd2f' },
    yellow2      = pick { light = '#ab7b1a', dark = '#e8ab28' },
    yellow3      = pick { light = '#996814', dark = '#d79a21' },
  }
end

require('nvim-juliana').setup (
  { colors = gruvbox('dark') }
)
vim.cmd.colorscheme 'juliana'
</details> <table> <tbody> <tr class="gruvbox_dark"> <img src="https://user-images.githubusercontent.com/19148108/235299780-fac5d700-8f00-49f5-877f-c327815114f5.png" alt="gruvbox_dark" width="50%" /> </tr> <tr class="gruvbox_light"> <img src="https://user-images.githubusercontent.com/19148108/235299781-dfc4d41f-7603-43ee-865a-0eb7d446d1bd.png" alt="gruvbox_light" width="50%" /> </tr> </tbody> </table> </details> <details> <summary><h2>🧩 Plugin Support</h2></summary> </details>

🛒 Extras

📜 Contributing

Credits