Skip to content

ffaeso/xcodedark.nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Xcodedark Theme for Neovim

A neovim theme that mimics xcodedark from xcode16. I was inspired by xcode theme as I thought it was super clean in my iOS development course in university, so I decided to make a version that is kind of accurate for my main languages (Go, Typescript, and hopefully Java soon).

NOTE: This theme works best in transparent mode as shown in the screenshots. For the best autocomplete experience with properly styled transparent menus, we highly recommend using blink.cmp - the theme includes built-in integration that provides beautiful completion menus matching the Xcode aesthetic!

Language Previews

Go

go

Elixir

elixir

Typescript/React

typescript

Java

java

Installation

LazyVim

{
  "V4N1LLA-1CE/xcodedark.nvim",
  lazy = false,
  priority = 1000,
  config = function()
    require("xcodedark").setup({
      -- New color scheme with your specifications
      transparent = true, -- or false if you prefer solid background
      
      integrations = {
        telescope = true,
        nvim_tree = true,
        gitsigns = true,
        bufferline = true,
        incline = true,
        lazygit = true,
        which_key = true,
        notify = true,
        snacks = true,
        blink = true,  -- blink.cmp completion menu
      },
      
      -- Font weight customization
      styles = {
        comments = { italic = true }, 
        keywords = { bold = true }, 
        functions = {}, 
        variables = {},   
        strings = {}, 
        booleans = { bold = true }, 
        types = {}, 
        constants = {}, 
        operators = {}, 
        punctuation = {}, 
      },
      
      terminal_colors = true,
    })
    vim.cmd.colorscheme("xcodedark")
  end,
}

Packer.nvim

use {
  "V4N1LLA-1CE/xcodedark.nvim",
  config = function()
    require("xcodedark").setup({
      transparent = true,
      styles = {
        keywords = { bold = true }, -- Bold keywords by default
        comments = { italic = true }, -- Italic comments, normal weight
      }
    })
    vim.cmd.colorscheme("xcodedark")
  end
}

Configuration

Default Options

require("xcodedark").setup({
  -- Plugin integrations
  integrations = {
    telescope = true,        -- Telescope fuzzy finder
    nvim_tree = true,        -- File explorer
    gitsigns = true,         -- Git signs in gutter
    bufferline = true,       -- Buffer/tab line
    incline = true,          -- Floating filename
    lazygit = true,          -- LazyGit integration
    which_key = true,        -- Which-key popup
    notify = true,           -- Notification popups
    snacks = true,           -- Snacks.nvim picker
    blink = true,            -- blink.cmp completion menu
  },
  
  -- Style customization
  styles = {
    comments = { italic = true },
    keywords = {},
    functions = {},
    variables = {},
    strings = {},
  },
  
  -- Additional options
  terminal_colors = true,    -- Set terminal colors
  transparent = false,       -- Transparent background
})

Transparent Background

For a transparent background that works with terminal transparency:

require("xcodedark").setup({
  transparent = true,
})

blink.cmp Integration

The theme includes built-in styling for blink.cmp. For configuration examples, see blink-completion.lua in my dotfiles.

Contributing

Contributions are welcome! Please feel free to submit issues and pull requests.

When reporting issues, please include:

  • Plugin manager and configuration
  • Screenshots if applicable
  • Minimal reproduction steps

Acknowledgments

Inspired by Xcode 16's Default Dark theme. Created during iOS development coursework when I fell in love with Xcode's clean syntax highlighting.

for developers who appreciate clean, consistent code highlighting