Skip to content
This repository has been archived by the owner on Jan 25, 2024. It is now read-only.
/ nvim-juliana Public archive

Port of Sublime's Mariana Theme to Neovim for short attention span devs.

License

Notifications You must be signed in to change notification settings

kaiuri/nvim-juliana

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

📸 Screenshot

mariana

🎨 Palette

name hex name hex
fg1 #ffffff fg2 #d8dee9
fg3 #a6acb9 fg4 #46525c
bg1 #444e59 selection_bg #3f4750
bg2 #303841 bg3 #2e353e
diff_text #373f48 diff_change #585249
diff_remove #4f434a text_fg #d9d9d9
yellow1 #fac761 yellow2 #f9ae58
yellow3 #ee932b green #99c794
magenta #c695c6 orange #f97b58
red1 #c76b70 red2 #ec5f66
blue1 #95b2d6 blue2 #5c99d6
cyan1 #87c7c7 cyan2 #5fb4b4

⚡️ 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,
}

🛠 Configuration

{
  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()

🎨 Examples

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

Gruvbox

snippet
---@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'
gruvbox_darkgruvbox_light

🧩 Plugin Support

🛒 Extras

  • statusline: nvim-juliana provides some statusline highlight groups:

    Highlight Group Color
    StatusBlack #a6acb9
    StatusRed #ec5f66
    StatusGreen #99c794
    StatusYellow #f9ae58
    StatusBlue #5c99d6
    StatusMagenta #c695c6
    StatusCyan #5fb4b4
    StatusWhite #d8dee9
    StatusOrange #f97b58
  • Alacritty: There's a theme for Alacritty available at extras.

📜 Contributing

  • If any language is being poorly supported, please make a new issue attached with an image of how that language looks on Sublime-Text.
  • If a plugin you use isn't rightly supported, please, make a new issue attached with a link to said plugin and I'll do my best to support it.
  • Issues that have been inactive for more than 10 days are considered stale and will be closed if they aren't bug related.
  • Use the Conventional Commits style for your commits, that's it.

Credits