Skip to content

abreujp/scholar.nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

scholar.nvim

A scholarly sepia colorscheme for both light and dark mode coding

πŸŒ… Light Theme Primary β€’ πŸŒ™ Dark Theme Available

Optimized for comfortable development in any lighting condition

Made with Lua

πŸ“Έ Preview

πŸŒ… Light Theme (Primary)

Scholar.nvim Light Theme

πŸŒ™ Dark Theme (Companion)

Scholar.nvim Dark Theme

Scholar.nvim in action - warm sepia tones creating the perfect academic coding atmosphere in any lighting condition

πŸ“š About Scholar

scholar.nvim is a sophisticated Neovim colorscheme designed with an emphasis on light mode development while now offering a refined dark mode companion. Created for developers, researchers, and academics who value both functionality and aesthetic elegance, Scholar transforms the familiar earthtone palette into a refined sepia experience.

πŸŒ… Light Theme Primary: Scholar's light theme remains the primary focus, exclusively designed for light backgrounds to achieve the intended academic reading atmosphere inspired by sepia-toned manuscripts.

πŸŒ™ Dark Theme Available: The new dark companion maintains the same sepia harmony and academic elegance, carefully adapted for low-light environments while preserving the scholarly aesthetic.

🎨 Design Philosophy

Scholar draws its inspiration from the sepia theme of the Readera Android reading app, which uses warm, paper-like tones that reduce eye strain during extended reading sessions. This same principle applies to coding - the sepia palette creates a comfortable, academic atmosphere perfect for long development sessions, research, and thoughtful programming.

Why sepia tones for both light and dark?

  • Reduced eye fatigue during extended coding sessions in any lighting condition
  • Academic ambiance reminiscent of vintage manuscripts and libraries
  • Professional appearance suitable for scholarly and research environments
  • Warm, inviting atmosphere that encourages focused work
  • Adaptable - Light theme for bright environments, dark theme for low-light settings
  • Consistent aesthetic - Both themes maintain the same scholarly character

✨ Key Features

  • Dual theme support - Primary light theme with companion dark theme
  • Based on gruvbox.nvim - Inherits the robust architecture and reliability
  • Sepia color palette - Warm, academic tones inspired by Readera
  • Full treesitter support - Enhanced syntax highlighting
  • LSP semantic highlights - Modern language server integration
  • Customizable - Extensive configuration options
  • Academic focus - Perfect for research, documentation, and scholarly coding
  • Light/Dark harmony - Both themes share the same aesthetic principles

πŸ”§ Requirements

  • Neovim 0.8.0+

πŸ“¦ Installation

Using lazy.nvim (recommended)

{
  "abreujp/scholar.nvim",
  priority = 1000,
  config = function()
    require("scholar").setup({
      -- your configuration here
    })
    
    -- For light theme (primary)
    vim.o.background = "light"
    vim.cmd("colorscheme scholar")
    
    -- OR for dark theme
    -- vim.o.background = "dark"
    -- vim.cmd("colorscheme scholar")
  end,
}

Using packer

use {
  "abreujp/scholar.nvim",
  config = function()
    require("scholar").setup()
    
    -- Choose your preferred theme
    vim.o.background = "light"  -- For light theme
    vim.cmd("colorscheme scholar")
    
    -- OR use: 
    -- vim.o.background = "dark"
    -- vim.cmd("colorscheme scholar") for dark theme
  end
}

Using vim-plug

Plug 'abreujp/scholar.nvim'

Then in your init.vim:

" For light theme (primary)
set background=light
colorscheme scholar

" OR for dark theme
" set background=dark
" colorscheme scholar

πŸš€ Quick Start

Lua Configuration

require("scholar").setup({
  contrast = "soft",  -- "hard", "soft" or "" (default)
  transparent_mode = false,
})

-- Choose your preferred theme
vim.o.background = "light"  -- For light theme
vim.cmd("colorscheme scholar")

-- OR for dark theme
-- vim.o.background = "dark"
-- vim.cmd("colorscheme scholar")

Vim Configuration

" For light theme (primary)
set background=light
colorscheme scholar

" OR for dark theme
" set background=dark
" colorscheme scholar

βš™οΈ Configuration

Scholar provides extensive customization options while maintaining sensible defaults:

require("scholar").setup({
  terminal_colors = true,     -- Enable terminal colors
  undercurl = true,          -- Enable undercurls for diagnostics
  underline = true,          -- Enable underlines
  bold = true,               -- Enable bold text
  italic = {
    strings = true,          -- Italicize strings
    emphasis = true,         -- Italicize emphasized text
    comments = true,         -- Italicize comments
    operators = false,       -- Don't italicize operators
    folds = true,           -- Italicize fold text
  },
  strikethrough = true,      -- Enable strikethrough
  invert_selection = false,  -- Don't invert selections
  invert_signs = false,      -- Don't invert sign column
  invert_tabline = false,    -- Don't invert tabline
  inverse = true,            -- Invert background for search, diffs, etc.
  contrast = "",             -- Contrast level: "hard", "soft", or ""
  palette_overrides = {},    -- Override palette colors
  overrides = {},            -- Override highlight groups
  dim_inactive = false,      -- Don't dim inactive windows
  transparent_mode = false,  -- Disable transparent background
})

⚠️ Important: Always call setup() before setting the colorscheme!

Palette Customization

Override specific colors while maintaining the sepia harmony:

require("scholar").setup({
  palette_overrides = {
    bright_red = "#CC6666",    -- Custom error color
    gray = "#999999",          -- Custom comment color
  }
})

Highlight Group Overrides

Customize specific highlighting:

require("scholar").setup({
  overrides = {
    -- UI elements
    SignColumn = { bg = "#F5F5DC" },
    
    -- Treesitter groups
    ["@comment.lua"] = { fg = "#8B7355", italic = true },
    ["@string"] = { fg = "#8B6F47" },
    
    -- LSP semantic tokens
    ["@lsp.type.method"] = { fg = "#A0623A", bold = true },
  }
})

🎨 Acknowledgments

scholar.nvim is built upon the excellent foundation of gruvbox.nvim by @ellisonleao. The robust architecture and thoughtful design of gruvbox made Scholar possible.

Color inspiration comes from the sepia reading theme in the Readera Android app, which demonstrates how warm, paper-like tones can reduce eye strain and create a comfortable reading environment.

πŸ“„ License

MIT License - see LICENSE for details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors