Repository: shaunsingh/oxocarbon.nvim Branch: main Commit: a7ba74849a00 Files: 11 Total size: 94.7 KB Directory structure: gitextract_mdo3ao05/ ├── LICENSE ├── Makefile ├── README.md ├── colors/ │ └── oxocarbon.lua ├── fnl/ │ ├── lualine/ │ │ └── themes/ │ │ └── oxocarbon.fnl │ └── oxocarbon/ │ ├── colorutils.fnl │ └── init.fnl ├── lua/ │ ├── lualine/ │ │ └── themes/ │ │ └── oxocarbon.lua │ └── oxocarbon/ │ ├── colorutils.lua │ └── init.lua └── make.fnl ================================================ FILE CONTENTS ================================================ ================================================ FILE: LICENSE ================================================ MIT License Copyright (c) 2022 Riccardo Mazzarini 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: Makefile ================================================ .PHONY: all lua all: lua lua: nvim --headless +"Fnlfile make.fnl" +qa ================================================ FILE: README.md ================================================ # oxocarbon.nvim **Note:** The old rust version can be found on the `rust` branch of this repository **Oxocarbon is looking for ports!** If you're a user of another editor or tool, join our discord to learn more about porting oxocarbon to other applications. https://discord.gg/M528tDKXRG A dark and light Neovim theme written in fennel, inspired by [IBM Carbon](https://carbondesignsystem.com/guidelines/color/overview/#themes). This is the reference implementation of the oxocarbon theme. The color palette expands on Nyoom's unique aesthetic and represents a contemporary and ever-changing IBM. Balancing mankind and machine, the colors are harmonious with nature, yet chosen for their luminous quality in the digital world. The oxocarbon color palette is a subset of the broader IBM palette. The colorscheme is centered around a vibrant set of blues, combined with an industrial set of grays. The full palette extends from the blue family to the edges of the blue spectrum—even the reds contain a hint of blue. The resulting palette is a set of colors that portrays a singular IBM. Of the world and digital. Useful and judicious. Having multiple gray families gives each design the opportunity for nuance and meaningful moments of color. Each experience should be dominated by the grays and the core colors of black, white, and the blue family, allowing the other color families to have vibrancy and provide purpose. ![merged](https://user-images.githubusercontent.com/71196912/206819503-736cbede-fdf2-4be3-baaa-d640c8498abf.png) image ## Features - Support for popular plugins, such as Lsp, Treesitter, and Semantic Highlighting - Fast and Featureful. Supports all the highlights you'll ever need without making a dent on startuptime - Uses `Termguicolors` but its compatible with 16-color terminals as well ### Plugin support The colorscheme explicitly adds highlights for the following plugins: - Vim Diagnostics - Vim LSP - Nvim-Treesitter - Telescope - Nvim-Notify - Nvim-Cmp - NvimTree - Neogit - Gitsigns - Hydra - Flash And many others should "just work!" If you have a plugin that needs explicit highlights, feel free to open an issue or PR and I would be happy to add them. ## Install The colorscheme requires the latest stable or nightly neovim (> `v0.7.0`) ### Packer.nvim ```lua use {'nyoom-engineering/oxocarbon.nvim'} ``` ### Lazy.nvim ```lua return { "nyoom-engineering/oxocarbon.nvim" -- Add in any other configuration; -- event = foo, -- config = bar -- end, } ``` ### Usage For neovim nightly users: ```lua vim.opt.background = "dark" -- set this to dark or light vim.cmd.colorscheme "oxocarbon" ``` For neovim stable users: ```lua vim.opt.background = "dark" -- set this to dark or light vim.cmd("colorscheme oxocarbon") ``` You can also add a transparent background by adding the following lines after `colorscheme`: ```lua vim.api.nvim_set_hl(0, "Normal", { bg = "none" }) vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" }) vim.api.nvim_set_hl(0, "NormalNC", { bg = "none" }) ``` For nyoom.nvim users: Nyoom comes bundled with a version of oxocarbon. Enable the `ui.nyoom` module ## Development You must install [hotpot](https://github.com/rktjmp/hotpot.nvim), since is what is used for compiling the fennel code. ### Workflow * Fork the project * Make changes in the files under `fnl/` * Compile your changes by running `:Fnlfile make.fnl` * Make a PR ## License The project is licensed under the MIT license ================================================ FILE: colors/oxocarbon.lua ================================================ -- uncache module to ensure clean reapplication package.loaded.oxocarbon = nil require [[oxocarbon]] ================================================ FILE: fnl/lualine/themes/oxocarbon.fnl ================================================ (local oxocarbon (. (require (.. :oxocarbon)) :oxocarbon)) (local colors {:color0 oxocarbon.base02 :color1 oxocarbon.base10 :color2 oxocarbon.base08 :color3 oxocarbon.base00 :color6 oxocarbon.base04 :color7 oxocarbon.base09 :color8 oxocarbon.base14 :color9 oxocarbon.base12 :color10 oxocarbon.base13}) {:replace {:a {:fg (. colors :color0) :bg (. colors :color1)} :b {:fg (. colors :color2) :bg (. colors :color3)}} :inactive {:a {:fg (. colors :color0) :bg (. colors :color7)} :b {:fg (. colors :color6) :bg (. colors :color3)} :z {:fg (. colors :color0) :bg (. colors :color3)}} :normal {:a {:fg (. colors :color0) :bg (. colors :color7)} :b {:fg (. colors :color6) :bg (. colors :color3)} :c {:fg (. colors :color6) :bg (. colors :color3)} :z {:fg (. colors :color6) :bg (. colors :color3)}} :visual {:a {:fg (. colors :color0) :bg (. colors :color8)} :b {:fg (. colors :color6) :bg (. colors :color3)} :y {:fg (. colors :color6) :bg (. colors :color3)} :z {:fg (. colors :color9) :bg (. colors :color3)}} :insert {:a {:fg (. colors :color0) :bg (. colors :color9)} :b {:fg (. colors :color6) :bg (. colors :color3)} :z {:fg (. colors :color9) :bg (. colors :color3)}} :command {:a {:fg (. colors :color0) :bg (. colors :color10)}}} ================================================ FILE: fnl/oxocarbon/colorutils.fnl ================================================ ;; reimplementation of a subset of hsluv in fennel, along with some utility ;; functions for saturation, blending, and lighten/darken ;; constants (local hex-chars :0123456789abcdef) (local epsilon 0.0088564516) (local kappa 903.2962962) (local refY 1) (local refU 0.19783000664283) (local refV 0.46831999493879) (local m [[3.2409699419045 (- 1.5373831775701) (- 0.498610760293)] [(- 0.96924363628087) 1.8759675015077 0.041555057407175] [0.055630079696993 (- 0.20397695888897) 1.0569715142429]]) (local minv [[0.41239079926595 0.35758433938387 0.18048078840183] [0.21263900587151 0.71516867876775 0.072192315360733] [0.019330818715591 0.11919477979462 0.95053215224966]]) ;; math stuff (fn get-bounds [l] (let [result {}] (var sub2 nil) (local sub1 (/ (^ (+ l 16) 3) 1560896)) (if (> sub1 epsilon) (set sub2 sub1) (set sub2 (/ l kappa))) (for [i 1 3] (local m1 (. (. m i) 1)) (local m2 (. (. m i) 2)) (local m3 (. (. m i) 3)) (for [t 0 1] (local top1 (* (- (* 284517 m1) (* 94839 m3)) sub2)) (local top2 (- (* (* (+ (+ (* 838422 m3) (* 769860 m2)) (* 731718 m1)) l) sub2) (* (* 769860 t) l))) (local bottom (+ (* (- (* 632260 m3) (* 126452 m2)) sub2) (* 126452 t))) (table.insert result {:slope (/ top1 bottom) :intercept (/ top2 bottom)}))) result)) (fn length-of-ray-until-intersect [theta line] (/ line.intercept (- (math.sin theta) (* line.slope (math.cos theta))))) (fn max-safe-chroma-for-lh [l h] (let [hrad (* (* (/ h 360) math.pi) 2) bounds (get-bounds l)] (var min 1.7976931348623e+308) (for [i 1 6] (local bound (. bounds i)) (local distance (length-of-ray-until-intersect hrad bound)) (when (>= distance 0) (set min (math.min min distance)))) min)) (fn y->l [Y] (if (<= Y epsilon) (* (/ Y refY) kappa) (- (* 116 (^ (/ Y refY) 0.33333333333333)) 16))) (fn l->y [L] (if (<= L 8) (/ (* refY L) kappa) (* refY (^ (/ (+ L 16) 116) 3)))) (fn from_linear [c] (if (<= c 0.0031308) (* 12.92 c) (- (* 1.055 (^ c 0.41666666666667)) 0.055))) (fn to_linear [c] (if (> c 0.04045) (^ (/ (+ c 0.055) 1.055) 2.4) (/ c 12.92))) (fn dot_product [a b] (var sum 0) (for [i 1 3] (set sum (+ sum (* (. a i) (. b i))))) sum) ;; conversion functions (fn luv->lch [tuple] (let [L (. tuple 1) U (. tuple 2) V (. tuple 3) C (math.sqrt (+ (* U U) (* V V)))] (var H nil) (if (< C 1e-08) (set H 0) (do (set H (/ (* (math.atan2 V U) 180) 3.1415926535898)) (when (< H 0) (set H (+ 360 H))))) [L C H])) (fn lch->luv [tuple] (let [L (. tuple 1) C (. tuple 2) Hrad (* (* (/ (. tuple 3) 360) 2) math.pi)] [L (* (math.cos Hrad) C) (* (math.sin Hrad) C)])) (fn xyz->luv [tuple] (let [X (. tuple 1) Y (. tuple 2) divider (+ (+ X (* 15 Y)) (* 3 (. tuple 3)))] (var var-u (* 4 X)) (var var-v (* 9 Y)) (if (not= divider 0) (do (set var-u (/ var-u divider)) (set var-v (/ var-v divider))) (do (set var-u 0) (set var-v 0))) (local L (y->l Y)) (when (= L 0) (let [rtn [0 0 0]] (lua "return rtn"))) [L (* (* 13 L) (- var-u refU)) (* (* 13 L) (- var-v refV))])) (fn luv->xyz [tuple] (let [L (. tuple 1) U (. tuple 2) V (. tuple 3)] (when (= L 0) (let [rtn [0 0 0]] (lua "return rtn"))) (local var-u (+ (/ U (* 13 L)) refU)) (local var-v (+ (/ V (* 13 L)) refV)) (local Y (l->y L)) (local X (- 0 (/ (* (* 9 Y) var-u) (- (* (- var-u 4) var-v) (* var-u var-v))))) [X Y (/ (- (- (* 9 Y) (* (* 15 var-v) Y)) (* var-v X)) (* 3 var-v))])) (fn xyz->rgb [tuple] [(from_linear (dot_product (. m 1) tuple)) (from_linear (dot_product (. m 2) tuple)) (from_linear (dot_product (. m 3) tuple))]) (fn rgb->xyz [tuple] (let [rgbl [(to_linear (. tuple 1)) (to_linear (. tuple 2)) (to_linear (. tuple 3))]] [(dot_product (. minv 1) rgbl) (dot_product (. minv 2) rgbl) (dot_product (. minv 3) rgbl)])) (fn hex->rgb [hex] (var hex (string.lower hex)) (local ret {}) (for [i 0 2] (local char1 (string.sub hex (+ (* i 2) 2) (+ (* i 2) 2))) (local char2 (string.sub hex (+ (* i 2) 3) (+ (* i 2) 3))) (local digit1 (- (string.find hex-chars char1) 1)) (local digit2 (- (string.find hex-chars char2) 1)) (tset ret (+ i 1) (/ (+ (* digit1 16) digit2) 255))) ret) (fn rgb->hex [tuple] (var h "#") (for [i 1 3] (local c (math.floor (+ (* (. tuple i) 255) 0.5))) (local digit2 (math.fmod c 16)) (local x (/ (- c digit2) 16)) (local digit1 (math.floor x)) (set h (.. h (string.sub hex-chars (+ digit1 1) (+ digit1 1)))) (set h (.. h (string.sub hex-chars (+ digit2 1) (+ digit2 1))))) h) (fn lch->hsluv [tuple] (let [L (. tuple 1) C (. tuple 2) H (. tuple 3) max-chroma (max-safe-chroma-for-lh L H)] (when (> L 99.9999999) (let [rtn [H 0 100]] (lua "return rtn"))) (when (< L 1e-08) (let [rtn [H 0 0]] (lua "return rtn"))) [H (* (/ C max-chroma) 100) L])) (fn hsluv->lch [tuple] (let [H (. tuple 1) S (. tuple 2) L (. tuple 3)] (when (> L 99.9999999) (let [rtn [100 0 H]] (lua "return rtn"))) (when (< L 1e-08) (let [rtn [0 0 H]] (lua "return rtn"))) [L (* (/ (max-safe-chroma-for-lh L H) 100) S) H])) (fn rgb->lch [tuple] (luv->lch (xyz->luv (rgb->xyz tuple)))) (fn lch->rgb [tuple] (xyz->rgb (luv->xyz (lch->luv tuple)))) (fn rgb->hsluv [tuple] (lch->hsluv (rgb->lch tuple))) (fn hsluv->rgb [tuple] (lch->rgb (hsluv->lch tuple))) (fn hex->hsluv [s] (rgb->hsluv (hex->rgb s))) (fn hsluv->hex [tuple] (rgb->hex (hsluv->rgb tuple))) ;; Transormation functions (fn transform-h [c f] [(f (. c 1)) (. c 2) (. c 3)]) (fn transform-s [c f] [(. c 1) (f (. c 2)) (. c 3)]) (fn transform-l [c f] [(. c 1) (. c 2) (f (. c 3))]) (fn linear-tween [start stop] (fn [i] (+ start (* i (- stop start))))) ;; Blending (fn radial-tween [x y] (let [start (math.rad x) stop (math.rad y) delta (math.atan2 (math.sin (- stop start)) (math.cos (- stop start)))] (fn [i] (% (+ 360 (math.deg (+ start (* delta i)))) 360)))) (fn blend-hsluv [start stop ratio] (let [ratio (or ratio 0.5) h (radial-tween (. start 1) (. stop 1)) s (linear-tween (. start 2) (. stop 2)) l (linear-tween (. start 3) (. stop 3))] [(h ratio) (s ratio) (l ratio)])) ;; General lighten/darken/whatever (fn lighten [c n] (let [l (linear-tween (. c 3) 100)] [(. c 1) (. c 2) (l n)])) (fn darken [c n] (let [l (linear-tween (. c 3) 0)] [(. c 1) (. c 2) (l n)])) (fn saturate [c n] (let [s (linear-tween (. c 2) 100)] [(. c 1) (s n) (. c 3)])) (fn desaturate [c n] (let [s (linear-tween (. c 2) 0)] [(. c 1) (s n) (. c 3)])) (fn rotate [c n] [(% (+ n (. c 1)) 360) (. c 2) (. c 3)]) ;; Of course we're dealing with hex codes (fn blend-hex [c1 c2 r] (-> (blend-hsluv (hex->hsluv c1) (hex->hsluv c2) r) (hsluv->hex))) (fn lighten-hex [c n] (-> (lighten (hex->hsluv c) n) (hsluv->hex))) (fn darken-hex [c n] (-> (darken (hex->hsluv c) n) (hsluv->hex))) (fn saturate-hex [c n] (-> (saturate (hex->hsluv c) n) (hsluv->hex))) (fn desaturate-hex [c n] (-> (desaturate (hex->hsluv c) n) (hsluv->hex))) (fn rotate-hex [c n] (-> (rotate (hex->hsluv c) n) (hsluv->hex))) ;; gradient generations (fn gradient [c1 c2] (var ls []) (for [i 0.00 1.01 0.02] (set ls (vim.list_extend ls [i]))) (vim.tbl_map #(blend-hex c1 c2 $1) ls)) (fn gradient-n [c1 c2 n] (var ls []) (let [step (/ 1 (+ n 1))] (for [i 1 n 1] (set ls (vim.list_extend ls [(* i step)])))) (vim.list_extend [c1] (vim.tbl_map #(blend-hex c1 c2 $1) ls) [c2])) ;; base16 colorscheme generation (math.randomseed (os.time)) (fn random-color [red-range green-range blue-range] (let [rgb {:b (math.random (. blue-range 1) (. blue-range 2)) :r (math.random (. red-range 1) (. red-range 2)) :g (math.random (. green-range 1) (. green-range 2))}] (string.format "#%02x%02x%02x" rgb.r rgb.g rgb.b))) (fn generate-pallete [] (let [bghex (random-color [0 63] [0 63] [0 63]) fghex (random-color [240 255] [240 255] [240 255])] (local palette [bghex (blend-hex bghex fghex 0.085) (blend-hex bghex fghex 0.18) (blend-hex bghex fghex 0.3) (blend-hex bghex fghex 0.7) (blend-hex bghex fghex 0.82) (blend-hex bghex fghex 0.95) fghex]) (local base16-names [:base00 :base01 :base02 :base03 :base04 :base05 :base06 :base07 :base08 :base09 :base0A :base0B :base0C :base0D :base0E :base0F]) (local base16-palette {}) (each [i hex (ipairs palette)] (local name (. base16-names i)) (tset base16-palette name hex)) base16-palette)) {: blend-hex : lighten-hex : darken-hex : saturate-hex : desaturate-hex : rotate-hex : gradient : gradient-n : generate-pallete} ================================================ FILE: fnl/oxocarbon/init.fnl ================================================ ;; O X O C A R B O N ;; _..._ _..._ _..._ _..._ _..._ ;; .:::::::. .::::. `. .:::: `. .::' `. .' `. ;; ::::::::::: :::::::. : :::::: : ::: : : : ;; ::::::::::: :::::::: : :::::: : ::: : : : ;; `:::::::::' `::::::' .' `::::: .' `::. .' `. .' ;; `':::'' `'::'-' `'::.-' `':..-' `-...-' ;; ;; Colorscheme name: oxocarbon themeing system ;; Description: Neovim Colorschemes based on base16 in fennel made with (hs)luv <3 ;; Author: https://github.com/shaunsingh (local {: blend-hex} (require :oxocarbon.colorutils)) ;; utilities (macro let! [...] (fn let-with-scope! [[scope] name value] (let [name (tostring name) scope (tostring scope)] `(tset ,(match scope :b `vim.b :w `vim.w :t `vim.t :g `vim.g) ,name ,value))) (match [...] [[scope] name value] (let-with-scope! [scope] name value) [name value] (let-with-scope! [:g] name value) _ (error "expected let! to have at least two arguments: name value"))) (macro set! [option] (let [option (tostring option)] `(tset vim.o ,option true))) (macro custom-set-face! [name attributes colors] (let [definition (collect [_ attr (ipairs attributes) &into colors] (tostring attr) true)] `(vim.api.nvim_set_hl 0 ,name ,definition))) ;; reset variables (when vim.g.colors_name (vim.cmd.hi :clear)) ;; set defaults (let! colors_name :oxocarbon) (set! termguicolors) ;; oxocarbon palette (local base00 "#161616") (local base06 "#ffffff") (local base09 "#78a9ff") (local oxocarbon (or (and (= vim.o.background :dark) {: base00 :base01 (blend-hex base00 base06 0.085) :base02 (blend-hex base00 base06 0.18) :base03 (blend-hex base00 base06 0.3) :base04 (blend-hex base00 base06 0.82) :base05 (blend-hex base00 base06 0.95) : base06 :base07 "#08bdba" :base08 "#3ddbd9" : base09 :base10 "#ee5396" :base11 "#33b1ff" :base12 "#ff7eb6" :base13 "#42be65" :base14 "#be95ff" :base15 "#82cfff" :blend "#131313" :none :NONE}) {:base00 base06 :base01 (blend-hex base00 base06 0.95) :base02 (blend-hex base00 base06 0.82) :base03 base00 :base04 "#37474F" :base05 "#90A4AE" :base06 "#525252" :base07 "#08bdba" :base08 "#ff7eb6" :base09 "#ee5396" :base10 "#FF6F00" :base11 "#0f62fe" :base12 "#673AB7" :base13 "#42be65" :base14 "#be95ff" :base15 "#FFAB91" :blend "#FAFAFA" :none :NONE})) ;; terminal (let! terminal_color_0 oxocarbon.base01) (let! terminal_color_1 oxocarbon.base11) (let! terminal_color_2 oxocarbon.base14) (let! terminal_color_3 oxocarbon.base13) (let! terminal_color_4 oxocarbon.base09) (let! terminal_color_5 oxocarbon.base15) (let! terminal_color_6 oxocarbon.base08) (let! terminal_color_7 oxocarbon.base05) (let! terminal_color_8 oxocarbon.base03) (let! terminal_color_9 oxocarbon.base11) (let! terminal_color_10 oxocarbon.base14) (let! terminal_color_11 oxocarbon.base13) (let! terminal_color_12 oxocarbon.base09) (let! terminal_color_13 oxocarbon.base15) (let! terminal_color_14 oxocarbon.base07) (let! terminal_color_15 oxocarbon.base06) ;; editor (custom-set-face! :ColorColumn [] {:fg oxocarbon.none :bg oxocarbon.base01}) (custom-set-face! :Cursor [] {:fg oxocarbon.base00 :bg oxocarbon.base04}) (custom-set-face! :CursorLine [] {:fg oxocarbon.none :bg oxocarbon.base01}) (custom-set-face! :CursorColumn [] {:fg oxocarbon.none :bg oxocarbon.base01}) (custom-set-face! :CursorLineNr [] {:fg oxocarbon.base04 :bg oxocarbon.none}) (custom-set-face! :QuickFixLine [] {:fg oxocarbon.none :bg oxocarbon.base01}) (custom-set-face! :Error [] {:fg oxocarbon.base10 :bg oxocarbon.base01}) (custom-set-face! :LineNr [] {:fg oxocarbon.base03 :bg oxocarbon.base00}) (custom-set-face! :NonText [] {:fg oxocarbon.base02 :bg oxocarbon.none}) (custom-set-face! :Normal [] {:fg oxocarbon.base04 :bg oxocarbon.base00}) (custom-set-face! :Pmenu [] {:fg oxocarbon.base04 :bg oxocarbon.base01}) (custom-set-face! :PmenuSbar [] {:fg oxocarbon.base04 :bg oxocarbon.base01}) (custom-set-face! :PmenuSel [] {:fg oxocarbon.base08 :bg oxocarbon.base02}) (custom-set-face! :PmenuThumb [] {:fg oxocarbon.base08 :bg oxocarbon.base02}) (custom-set-face! :SpecialKey [] {:fg oxocarbon.base03 :bg oxocarbon.none}) (custom-set-face! :Visual [] {:fg oxocarbon.none :bg oxocarbon.base02}) (custom-set-face! :VisualNOS [] {:fg oxocarbon.none :bg oxocarbon.base02}) (custom-set-face! :TooLong [] {:fg oxocarbon.none :bg oxocarbon.base02}) (custom-set-face! :Debug [] {:fg oxocarbon.base13 :bg oxocarbon.none}) (custom-set-face! :Macro [] {:fg oxocarbon.base07 :bg oxocarbon.none}) (custom-set-face! :MatchParen [:underline] {:fg oxocarbon.none :bg oxocarbon.base02}) (custom-set-face! :Bold [:bold] {:fg oxocarbon.none :bg oxocarbon.none}) (custom-set-face! :Italic [:italic] {:fg oxocarbon.none :bg oxocarbon.none}) (custom-set-face! :Underlined [:underline] {:fg oxocarbon.none :bg oxocarbon.none}) ;; diagnostics (custom-set-face! :DiagnosticWarn [] {:fg oxocarbon.base14 :bg oxocarbon.none}) (custom-set-face! :DiagnosticError [] {:fg oxocarbon.base10 :bg oxocarbon.none}) (custom-set-face! :DiagnosticInfo [] {:fg oxocarbon.base09 :bg oxocarbon.none}) (custom-set-face! :DiagnosticHint [] {:fg oxocarbon.base04 :bg oxocarbon.none}) (custom-set-face! :DiagnosticUnderlineWarn [:undercurl] {:fg oxocarbon.base14 :bg oxocarbon.none}) (custom-set-face! :DiagnosticUnderlineError [:undercurl] {:fg oxocarbon.base10 :bg oxocarbon.none}) (custom-set-face! :DiagnosticUnderlineInfo [:undercurl] {:fg oxocarbon.base04 :bg oxocarbon.none}) (custom-set-face! :DiagnosticUnderlineHint [:undercurl] {:fg oxocarbon.base04 :bg oxocarbon.none}) ;; health (custom-set-face! :HealthError [] {:fg oxocarbon.base10 :bg oxocarbon.none}) (custom-set-face! :HealthWarning [] {:fg oxocarbon.base14 :bg oxocarbon.none}) (custom-set-face! :HealthSuccess [] {:fg oxocarbon.base13 :bg oxocarbon.none}) ;; ledger (custom-set-face! "@comment" [] {:link "Comment"}) (custom-set-face! "@text.literal.commodity" [] {:fg oxocarbon.base13 :bg oxocarbon.none}) (custom-set-face! "@number" [] {:fg oxocarbon.base09 :bg oxocarbon.none}) (custom-set-face! "@number.date" [] {:fg oxocarbon.base08 :bg oxocarbon.none}) (custom-set-face! "@number.date.effective" [] {:fg oxocarbon.base13 :bg oxocarbon.none}) (custom-set-face! "@number.interval" [] {:fg oxocarbon.base09 :bg oxocarbon.none}) (custom-set-face! "@number.status" [] {:fg oxocarbon.base12 :bg oxocarbon.none}) (custom-set-face! "@number.quantity" [] {:fg oxocarbon.base11 :bg oxocarbon.none}) (custom-set-face! "@number.quantity.negative" [] {:fg oxocarbon.base10 :bg oxocarbon.none}) ;; lsp (custom-set-face! :LspCodeLens [] {:fg oxocarbon.none :bg oxocarbon.base03}) (custom-set-face! :LspReferenceText [] {:fg oxocarbon.none :bg oxocarbon.base03}) (custom-set-face! :LspReferenceread [] {:fg oxocarbon.none :bg oxocarbon.base03}) (custom-set-face! :LspReferenceWrite [] {:fg oxocarbon.none :bg oxocarbon.base03}) (custom-set-face! :LspSignatureActiveParameter [] {:fg oxocarbon.base08 :bg oxocarbon.none}) ;; lps-semantic-tokens (custom-set-face! "@lsp.type.class" [] {:link "Structure"}) (custom-set-face! "@lsp.type.decorator" [] {:link "Decorator"}) (custom-set-face! "@lsp.type.decorator.markdown" [] {:link "Structure"}) (custom-set-face! "@lsp.type.function" [] {:link "@function"}) (custom-set-face! "@lsp.type.macro" [] {:link "Macro"}) (custom-set-face! "@lsp.type.method" [] {:link "@function"}) (custom-set-face! "@lsp.type.struct" [] {:link "Structure"}) (custom-set-face! "@lsp.type.type" [] {:link "Type"}) (custom-set-face! "@lsp.type.typeParameter" [] {:link "Typedef"}) (custom-set-face! "@lsp.type.selfParameter" [] {:link "@variable.builtin"}) (custom-set-face! "@lsp.type.builtinConstant" [] {:link "@constant.builtin"}) (custom-set-face! "@lsp.type.magicFunction" [] {:link "@function.builtin"}) (custom-set-face! "@lsp.type.boolean" [] {:link "@boolean"}) (custom-set-face! "@lsp.type.builtinType" [] {:link "@type.builtin"}) (custom-set-face! "@lsp.type.comment" [] {:link "@comment"}) (custom-set-face! "@lsp.type.enum" [] {:link "@type"}) (custom-set-face! "@lsp.type.enumMember" [] {:link "@constant"}) (custom-set-face! "@lsp.type.escapeSequence" [] {:link "@string.escape"}) (custom-set-face! "@lsp.type.formatSpecifier" [] {:link "@punctuation.special"}) ;;(custom-set-face! "@lsp.type.interface" [] {}) (custom-set-face! "@lsp.type.keyword" [] {:link "@keyword"}) (custom-set-face! "@lsp.type.namespace" [] {:link "@namespace"}) (custom-set-face! "@lsp.type.number" [] {:link "@number"}) (custom-set-face! "@lsp.type.operator" [] {:link "@operator"}) (custom-set-face! "@lsp.type.parameter" [] {:link "@parameter"}) (custom-set-face! "@lsp.type.property" [] {:link "@property"}) (custom-set-face! "@lsp.type.selfKeyword" [] {:link "@variable.builtin"}) (custom-set-face! "@lsp.type.string.rust" [] {:link "@string"}) (custom-set-face! "@lsp.type.typeAlias" [] {:link "@type.definition"}) (custom-set-face! "@lsp.type.unresolvedReference" [] {:link "Error"}) (custom-set-face! "@lsp.type.variable" [] {:link "@variable"} ) (custom-set-face! "@lsp.mod.readonly" [] {:link "@constant"}) (custom-set-face! "@lsp.mod.typeHint" [] {:link "Type"}) (custom-set-face! "@lsp.mod.builtin" [] {:link "Special"}) (custom-set-face! "@lsp.typemod.class.defaultLibrary" [] {:link "@type.builtin"}) (custom-set-face! "@lsp.typemod.enum.defaultLibrary" [] {:link "@type.builtin"}) (custom-set-face! "@lsp.typemod.enumMember.defaultLibrary" [] {:link "@constant.builtin"}) (custom-set-face! "@lsp.typemod.function.defaultLibrary" [] {:link "@function.builtin"}) (custom-set-face! "@lsp.typemod.keyword.async" [] {:link "@keyword.coroutine"}) (custom-set-face! "@lsp.typemod.macro.defaultLibrary" [] {:link "@function.builtin"}) (custom-set-face! "@lsp.typemod.method.defaultLibrary" [] {:link "@function.builtin"}) (custom-set-face! "@lsp.typemod.operator.injected" [] {:link "@operator"}) (custom-set-face! "@lsp.typemod.string.injected" [] {:link "@string"}) (custom-set-face! "@lsp.typemod.operator.controlFlow" [] {:link "@exception"}) (custom-set-face! "@lsp.typemod.keyword.documentation" [] {:link "Special"}) (custom-set-face! "@lsp.typemod.variable.global" [] {:link "@constant"}) (custom-set-face! "@lsp.typemod.variable.static" [] {:link "@constant"}) (custom-set-face! "@lsp.typemod.variable.defaultLibrary" [] {:link "Special"}) (custom-set-face! "@lsp.typemod.function.builtin" [] {:link "@function.builtin"}) (custom-set-face! "@lsp.typemod.function.readonly" [] {:link "@method"}) ;;(custom-set-face! "@lsp.typemod.type.defaultLibrary" [] {}) (custom-set-face! "@lsp.typemod.variable.defaultLibrary" [] {:link "@variable.builtin"}) (custom-set-face! "@lsp.typemod.variable.injected" [] {:link "@variable"}) ;; gutter (custom-set-face! :Folded [] {:fg oxocarbon.base02 :bg oxocarbon.base01}) (custom-set-face! :FoldColumn [] {:fg oxocarbon.base01 :bg oxocarbon.base00}) (custom-set-face! :SignColumn [] {:fg oxocarbon.base01 :bg oxocarbon.base00}) ;; navigation (custom-set-face! :Directory [] {:fg oxocarbon.base08 :bg oxocarbon.none}) ;; prompts (custom-set-face! :EndOfBuffer [] {:fg oxocarbon.base01 :bg oxocarbon.none}) (custom-set-face! :ErrorMsg [] {:fg oxocarbon.base10 :bg oxocarbon.none}) (custom-set-face! :ModeMsg [] {:fg oxocarbon.base04 :bg oxocarbon.none}) (custom-set-face! :MoreMsg [] {:fg oxocarbon.base08 :bg oxocarbon.none}) (custom-set-face! :Question [] {:fg oxocarbon.base04 :bg oxocarbon.none}) (custom-set-face! :Substitute [] {:fg oxocarbon.base01 :bg oxocarbon.base08}) (custom-set-face! :WarningMsg [] {:fg oxocarbon.base14 :bg oxocarbon.none}) (custom-set-face! :WildMenu [] {:fg oxocarbon.base08 :bg oxocarbon.base01}) ;; vimhelp (custom-set-face! :helpHyperTextJump [] {:fg oxocarbon.base08 :bg oxocarbon.none}) (custom-set-face! :helpSpecial [] {:fg oxocarbon.base09 :bg oxocarbon.none}) (custom-set-face! :helpHeadline [] {:fg oxocarbon.base10 :bg oxocarbon.none}) (custom-set-face! :helpHeader [] {:fg oxocarbon.base15 :bg oxocarbon.none}) ;; diff (custom-set-face! :DiffAdded [] {:fg oxocarbon.base07 :bg oxocarbon.none}) (custom-set-face! :DiffChanged [] {:fg oxocarbon.base09 :bg oxocarbon.none}) (custom-set-face! :DiffRemoved [] {:fg oxocarbon.base10 :bg oxocarbon.none}) (custom-set-face! :DiffAdd [] {:bg "#122f2f" :fg oxocarbon.none}) (custom-set-face! :DiffChange [] {:bg "#222a39" :fg oxocarbon.none}) (custom-set-face! :DiffText [] {:bg "#2f3f5c" :fg oxocarbon.none}) (custom-set-face! :DiffDelete [] {:bg "#361c28" :fg oxocarbon.none}) ;; search (custom-set-face! :IncSearch [] {:fg oxocarbon.base06 :bg oxocarbon.base10}) (custom-set-face! :Search [] {:fg oxocarbon.base01 :bg oxocarbon.base08}) ;; tabs (custom-set-face! :TabLine [] {:link "StatusLineNC"}) (custom-set-face! :TabLineFill [] {:link "TabLine"}) (custom-set-face! :TabLineSel [] {:link "StatusLine"}) ;; window (custom-set-face! :Title [] {:fg oxocarbon.base04 :bg oxocarbon.none}) ;; VertSplit has been replaced by `WinSpeperator` in nvim 0.10 (custom-set-face! :VertSplit [] {:fg oxocarbon.base01 :bg oxocarbon.base00}) (custom-set-face! :WinSeparator [] {:fg oxocarbon.base01 :bg oxocarbon.base00}) ;; regular syntax (custom-set-face! :Boolean [] {:fg oxocarbon.base09 :bg oxocarbon.none}) (custom-set-face! :Character [] {:fg oxocarbon.base14 :bg oxocarbon.none}) (custom-set-face! :Comment [:italic] {:fg oxocarbon.base03 :bg oxocarbon.none}) (custom-set-face! :Conceal [] {:fg oxocarbon.none :bg oxocarbon.none}) (custom-set-face! :Conditional [] {:fg oxocarbon.base09 :bg oxocarbon.none}) (custom-set-face! :Constant [] {:fg oxocarbon.base04 :bg oxocarbon.none}) (custom-set-face! :Decorator [] {:fg oxocarbon.base12 :bg oxocarbon.none}) (custom-set-face! :Define [] {:fg oxocarbon.base09 :bg oxocarbon.none}) (custom-set-face! :Delimeter [] {:fg oxocarbon.base06 :bg oxocarbon.none}) (custom-set-face! :Exception [] {:fg oxocarbon.base09 :bg oxocarbon.none}) (custom-set-face! :Float [] {:link "Number"}) (custom-set-face! :Function [] {:fg oxocarbon.base08 :bg oxocarbon.none}) (custom-set-face! :Identifier [] {:fg oxocarbon.base04 :bg oxocarbon.none}) (custom-set-face! :Include [] {:fg oxocarbon.base09 :bg oxocarbon.none}) (custom-set-face! :Keyword [] {:fg oxocarbon.base09 :bg oxocarbon.none}) (custom-set-face! :Label [] {:fg oxocarbon.base09 :bg oxocarbon.none}) (custom-set-face! :Number [] {:fg oxocarbon.base15 :bg oxocarbon.none}) (custom-set-face! :Operator [] {:fg oxocarbon.base09 :bg oxocarbon.none}) (custom-set-face! :PreProc [] {:fg oxocarbon.base09 :bg oxocarbon.none}) (custom-set-face! :Repeat [] {:fg oxocarbon.base09 :bg oxocarbon.none}) (custom-set-face! :Special [] {:fg oxocarbon.base04 :bg oxocarbon.none}) (custom-set-face! :SpecialChar [] {:fg oxocarbon.base04 :bg oxocarbon.none}) (custom-set-face! :SpecialComment [] {:fg oxocarbon.base08 :bg oxocarbon.none}) (custom-set-face! :Statement [] {:fg oxocarbon.base09 :bg oxocarbon.none}) (custom-set-face! :StorageClass [] {:fg oxocarbon.base09 :bg oxocarbon.none}) (custom-set-face! :String [] {:fg oxocarbon.base14 :bg oxocarbon.none}) (custom-set-face! :Structure [] {:fg oxocarbon.base09 :bg oxocarbon.none}) (custom-set-face! :Tag [] {:fg oxocarbon.base04 :bg oxocarbon.none}) (custom-set-face! :Todo [] {:fg oxocarbon.base13 :bg oxocarbon.none}) (custom-set-face! :Type [] {:fg oxocarbon.base09 :bg oxocarbon.none}) (custom-set-face! :Typedef [] {:fg oxocarbon.base09 :bg oxocarbon.none}) ;; markdown (custom-set-face! :markdownBlockquote [] {:fg oxocarbon.base08 :bg oxocarbon.none}) (custom-set-face! :markdownBold [] {:link "Bold"}) (custom-set-face! :markdownItalic [] {:link "Italic"}) (custom-set-face! :markdownBoldItalic [:bold :italic] {:fg oxocarbon.none :bg oxocarbon.none}) (custom-set-face! :markdownRule [] {:link "Comment"}) (custom-set-face! :markdownH1 [] {:fg oxocarbon.base10 :bg oxocarbon.none}) (custom-set-face! :markdownH2 [] {:link "markdownH1"}) (custom-set-face! :markdownH3 [] {:link "markdownH1"}) (custom-set-face! :markdownH4 [] {:link "markdownH1"}) (custom-set-face! :markdownH5 [] {:link "markdownH1"}) (custom-set-face! :markdownH6 [] {:link "markdownH1"}) (custom-set-face! :markdownHeadingDelimiter [] {:link "markdownH1"}) (custom-set-face! :markdownHeadingRule [] {:link "markdownH1"}) (custom-set-face! :markdownUrl [:underline] {:fg oxocarbon.base14 :bg oxocarbon.none}) (custom-set-face! :markdownCode [] {:link "String"}) (custom-set-face! :markdownCodeBlock [] {:link "markdownCode"}) (custom-set-face! :markdownCodeDelimiter [] {:link "markdownCode"}) (custom-set-face! :markdownUrl [] {:link "String"}) (custom-set-face! :markdownListMarker [] {:fg oxocarbon.base08 :bg oxocarbon.none}) (custom-set-face! :markdownOrderedListMarker [] {:fg oxocarbon.base08 :bg oxocarbon.none}) ; markdown treesitter (custom-set-face! "@markup" [] {:link "@none"}) (custom-set-face! "@markup.environment" [] {:link "Macro"}) (custom-set-face! "@markup.environment.name" [] {:link "Type"}) (custom-set-face! "@markup.emphasis" [] {:italic true}) (custom-set-face! "@markup.italic" [] {:italic true}) (custom-set-face! "@markup.strikethrough" [] {:strikethrough true}) (custom-set-face! "@markup.strong" [] {:bold true}) (custom-set-face! "@markup.underline" [] {:underline true}) (custom-set-face! "@markup.heading" [] {:link "Title"}) (custom-set-face! "@markup.heading.marker" [] {:link :markdownHeadingDelimiter}) (custom-set-face! "@markup.heading.1.markdown" [] {:link "markdownH1"}) (custom-set-face! "@markup.heading.2.markdown" [] {:link "markdownH1"}) (custom-set-face! "@markup.heading.3.markdown" [] {:link "markdownH1"}) (custom-set-face! "@markup.heading.4.markdown" [] {:link "markdownH1"}) (custom-set-face! "@markup.heading.5.markdown" [] {:link "markdownH1"}) (custom-set-face! "@markup.heading.6.markdown" [] {:link "markdownH1"}) (custom-set-face! "@markup.heading.7.markdown" [] {:link "markdownH1"}) (custom-set-face! "@markup.heading.8.markdown" [] {:link "markdownH1"}) (custom-set-face! "@markup.link" [] {:link "markdownUrl"}) (custom-set-face! "@markup.link.label" [] {:underline true}) (custom-set-face! "@markup.link.label.symbol" [] {:link "markdownItalic"}) (custom-set-face! "@markup.link.label.markdown_inline" [] {:link "markdownItalic"}) (custom-set-face! "@markup.link.title" [] {:link "Title"}) (custom-set-face! "@markup.link.url" [] {:link "markdownUrl"}) (custom-set-face! "@markup.link.destination" [] {:link "markdownUrl"}) (custom-set-face! "@markup.link.description" [] {:fg oxocarbon.blend :underline true :italic true}) (custom-set-face! "@markup.list" [] {:link "markdownListMarker"}) (custom-set-face! "@markup.list.bullet" [] {:link "markdownListMarker"}) (custom-set-face! "@markup.list.checked" [] {:link "markdownListMarker"}) (custom-set-face! "@markup.list.markdown" [] {:link "markdownListMarker"}) (custom-set-face! "@markup.list.ordered" [] {:link "markdownOrderedListMarker"}) (custom-set-face! "@markup.list.unchecked" [] {:link "markdownListMarker"}) (custom-set-face! "@markup.math" [] {:link "Special"}) (custom-set-face! "@markup.raw" [] {:link "String"}) (custom-set-face! "@markup.raw.markdown_inline" [] {:link "String"}) (custom-set-face! "@markup.quote" [] {:link "markdownBlockquote"}) (custom-set-face! "@markup.literal" [] {:link "markdownCode"}) (custom-set-face! "@markup.code.block" [] {:link "markdownCodeBlock"}) (custom-set-face! "@markup.rule" [] {:link "Comment"}) ;; asciidoc (custom-set-face! :asciidocAttributeEntry [] {:fg oxocarbon.base15 :bg oxocarbon.none}) (custom-set-face! :asciidocAttributeList [] {:link "asciidocAttributeEntry"}) (custom-set-face! :asciidocAttributeRef [] {:link "asciidocAttributeEntry"}) (custom-set-face! :asciidocHLabel [] {:link "markdownH1"}) (custom-set-face! :asciidocOneLineTitle [] {:link "markdownH1"}) (custom-set-face! :asciidocQuotedMonospaced [] {:link "markdownBlockquote"}) (custom-set-face! :asciidocURL [] {:link "markdownUrl"}) ;; treesitter ;;; misc (custom-set-face! "@comment" [] {:link "Comment"}) (custom-set-face! "@error" [] {:fg oxocarbon.base11 :bg oxocarbon.none}) ;; @none ;; @preproc ;; @define (custom-set-face! "@operator" [] {:link "Operator"}) ;;; punctuation (custom-set-face! "@punctuation.delimiter" [] {:fg oxocarbon.base08 :bg oxocarbon.none}) (custom-set-face! "@punctuation.bracket" [] {:fg oxocarbon.base08 :bg oxocarbon.none}) (custom-set-face! "@punctuation.special" [] {:fg oxocarbon.base08 :bg oxocarbon.none}) ;;; literals (custom-set-face! "@string" [] {:link "String"}) (custom-set-face! "@string.regex" [] {:fg oxocarbon.base07 :bg oxocarbon.none}) (custom-set-face! "@string.escape" [] {:fg oxocarbon.base15 :bg oxocarbon.none}) ;; @string.special (custom-set-face! "@character" [] {:link "Character"}) ;; @character.special (custom-set-face! "@boolean" [] {:link "Boolean"}) (custom-set-face! "@number" [] {:link "Number"}) (custom-set-face! "@float" [] {:link "Float"}) ;;; functions (custom-set-face! "@function" [:bold] {:fg oxocarbon.base12 :bg oxocarbon.none}) (custom-set-face! "@function.builtin" [] {:fg oxocarbon.base12 :bg oxocarbon.none}) ;; @function.call (custom-set-face! "@function.macro" [] {:fg oxocarbon.base07 :bg oxocarbon.none}) (custom-set-face! "@method" [] {:fg oxocarbon.base07 :bg oxocarbon.none}) ;; @method.call (custom-set-face! "@constructor" [] {:fg oxocarbon.base09 :bg oxocarbon.none}) (custom-set-face! "@parameter" [] {:fg oxocarbon.base04 :bg oxocarbon.none}) ;;; keywords (custom-set-face! "@keyword" [] {:fg oxocarbon.base09 :bg oxocarbon.none}) (custom-set-face! "@keyword.function" [] {:fg oxocarbon.base08 :bg oxocarbon.none}) (custom-set-face! "@keyword.operator" [] {:fg oxocarbon.base08 :bg oxocarbon.none}) ;; @keyword.return (custom-set-face! "@conditional" [] {:fg oxocarbon.base09 :bg oxocarbon.none}) (custom-set-face! "@repeat" [] {:fg oxocarbon.base09 :bg oxocarbon.none}) ;; @debug (custom-set-face! "@label" [] {:fg oxocarbon.base15 :bg oxocarbon.none}) (custom-set-face! "@include" [] {:fg oxocarbon.base09 :bg oxocarbon.none}) (custom-set-face! "@exception" [] {:fg oxocarbon.base15 :bg oxocarbon.none}) ;;; types (custom-set-face! "@type" [] {:link "Type"}) (custom-set-face! "@type.builtin" [] {:link "Type"}) ;; @type.defintion ;; @type.qualifier ;; @storageclass ;; @storageclass.lifetime (custom-set-face! "@attribute" [] {:fg oxocarbon.base15 :bg oxocarbon.none}) (custom-set-face! "@field" [] {:fg oxocarbon.base04 :bg oxocarbon.none}) (custom-set-face! "@property" [] {:fg oxocarbon.base10 :bg oxocarbon.none}) ;;; identifiers (custom-set-face! "@variable" [] {:fg oxocarbon.base04 :bg oxocarbon.none}) (custom-set-face! "@variable.builtin" [] {:fg oxocarbon.base04 :bg oxocarbon.none}) (custom-set-face! "@constant" [] {:fg oxocarbon.base14 :bg oxocarbon.none}) (custom-set-face! "@constant.builtin" [] {:fg oxocarbon.base07 :bg oxocarbon.none}) (custom-set-face! "@constant.macro" [] {:fg oxocarbon.base07 :bg oxocarbon.none}) (custom-set-face! "@namespace" [] {:fg oxocarbon.base07 :bg oxocarbon.none}) (custom-set-face! "@symbol" [:bold] {:fg oxocarbon.base15 :bg oxocarbon.none}) ;;; text (custom-set-face! "@text" [] {:fg oxocarbon.base04 :bg oxocarbon.none}) (custom-set-face! "@text.strong" [] {:fg oxocarbon.none :bg oxocarbon.none}) (custom-set-face! "@text.emphasis" [:bold] {:fg oxocarbon.base10 :bg oxocarbon.none}) (custom-set-face! "@text.underline" [:underline] {:fg oxocarbon.base10 :bg oxocarbon.none}) (custom-set-face! "@text.strike" [:strikethrough] {:fg oxocarbon.base10 :bg oxocarbon.none}) (custom-set-face! "@text.title" [] {:fg oxocarbon.base10 :bg oxocarbon.none}) (custom-set-face! "@text.literal" [] {:fg oxocarbon.base04 :bg oxocarbon.none}) (custom-set-face! "@text.uri" [:underline] {:fg oxocarbon.base14 :bg oxocarbon.none}) ;; @text.math ;; @text.environment ;; @text.environment.name ;; @text.reference ;; @text.todo ;; @text.note ;; @text.warning ;; @text.danger ;; @text.diff.add ;; @text.diff.delete ;;; tags (custom-set-face! "@tag" [] {:fg oxocarbon.base09 :bg oxocarbon.none}) (custom-set-face! "@tag.attribute" [] {:fg oxocarbon.base15 :bg oxocarbon.none}) (custom-set-face! "@tag.delimiter" [] {:fg oxocarbon.base15 :bg oxocarbon.none}) (custom-set-face! "@tag.builtin.tsx" [] {:link "@tag.tsx"}) ;;; Conceal ;; @conceal ;;; Spell ;; @spell ;; @nospell ;;; non-standard ;; @variable.global ;;; locals ;; @definition ;; @definition.constant ;; @definition.function ;; @definition.method ;; @definition.var ;; @definition.parameter ;; @definition.macro ;; @definition.type ;; @definition.field ;; @definition.enum ;; @definition.namespace ;; @definition.import ;; @definition.associated ;; @scope (custom-set-face! "@reference" [] {:fg oxocarbon.base04 :bg oxocarbon.none}) ;; neovim (custom-set-face! :NvimInternalError [] {:fg oxocarbon.base00 :bg oxocarbon.base08}) (custom-set-face! :NormalFloat [] {:fg oxocarbon.base05 :bg oxocarbon.blend}) (custom-set-face! :FloatBorder [] {:fg oxocarbon.blend :bg oxocarbon.blend}) (custom-set-face! :NormalNC [] {:fg oxocarbon.base04 :bg oxocarbon.base00}) (custom-set-face! :TermCursor [] {:fg oxocarbon.base00 :bg oxocarbon.base04}) (custom-set-face! :TermCursorNC [] {:fg oxocarbon.base00 :bg oxocarbon.base04}) ;; statusline/winbar (custom-set-face! :StatusLine [] {:fg oxocarbon.base04 :bg oxocarbon.base00}) (custom-set-face! :StatusLineNC [] {:fg oxocarbon.base04 :bg oxocarbon.base01}) (custom-set-face! :StatusReplace [] {:fg oxocarbon.base00 :bg oxocarbon.base08}) (custom-set-face! :StatusInsert [] {:fg oxocarbon.base00 :bg oxocarbon.base12}) (custom-set-face! :StatusVisual [] {:fg oxocarbon.base00 :bg oxocarbon.base14}) (custom-set-face! :StatusTerminal [] {:fg oxocarbon.base00 :bg oxocarbon.base11}) (custom-set-face! :StatusNormal [] {:fg oxocarbon.base00 :bg oxocarbon.base15}) (custom-set-face! :StatusCommand [] {:fg oxocarbon.base00 :bg oxocarbon.base13}) (custom-set-face! :StatusLineDiagnosticWarn [:bold] {:fg oxocarbon.base14 :bg oxocarbon.base00}) (custom-set-face! :StatusLineDiagnosticError [:bold] {:fg oxocarbon.base10 :bg oxocarbon.base00}) ;; telescope (custom-set-face! :TelescopeBorder [] {:fg oxocarbon.blend :bg oxocarbon.blend}) (custom-set-face! :TelescopePromptBorder [] {:fg oxocarbon.base02 :bg oxocarbon.base02}) (custom-set-face! :TelescopePromptNormal [] {:fg oxocarbon.base05 :bg oxocarbon.base02}) (custom-set-face! :TelescopePromptPrefix [] {:fg oxocarbon.base08 :bg oxocarbon.base02}) (custom-set-face! :TelescopeNormal [] {:fg oxocarbon.none :bg oxocarbon.blend}) (custom-set-face! :TelescopePreviewTitle [] {:fg oxocarbon.base02 :bg oxocarbon.base12}) (custom-set-face! :TelescopePromptTitle [] {:fg oxocarbon.base02 :bg oxocarbon.base11}) (custom-set-face! :TelescopeResultsTitle [] {:fg oxocarbon.blend :bg oxocarbon.blend}) (custom-set-face! :TelescopeSelection [] {:fg oxocarbon.none :bg oxocarbon.base02}) (custom-set-face! :TelescopePreviewLine [] {:fg oxocarbon.none :bg oxocarbon.base01}) (custom-set-face! :TelescopeMatching [:bold :italic] {:fg oxocarbon.base08 :bg oxocarbon.none}) ;; notify (custom-set-face! :NotifyERRORBorder [] {:fg oxocarbon.base08 :bg oxocarbon.none}) (custom-set-face! :NotifyWARNBorder [] {:fg oxocarbon.base14 :bg oxocarbon.none}) (custom-set-face! :NotifyINFOBorder [] {:fg oxocarbon.base05 :bg oxocarbon.none}) (custom-set-face! :NotifyDEBUGBorder [] {:fg oxocarbon.base13 :bg oxocarbon.none}) (custom-set-face! :NotifyTRACEBorder [] {:fg oxocarbon.base13 :bg oxocarbon.none}) (custom-set-face! :NotifyERRORIcon [] {:fg oxocarbon.base08 :bg oxocarbon.none}) (custom-set-face! :NotifyWARNIcon [] {:fg oxocarbon.base14 :bg oxocarbon.none}) (custom-set-face! :NotifyINFOIcon [] {:fg oxocarbon.base05 :bg oxocarbon.none}) (custom-set-face! :NotifyDEBUGIcon [] {:fg oxocarbon.base13 :bg oxocarbon.none}) (custom-set-face! :NotifyTRACEIcon [] {:fg oxocarbon.base13 :bg oxocarbon.none}) (custom-set-face! :NotifyERRORTitle [] {:fg oxocarbon.base08 :bg oxocarbon.none}) (custom-set-face! :NotifyWARNTitle [] {:fg oxocarbon.base14 :bg oxocarbon.none}) (custom-set-face! :NotifyINFOTitle [] {:fg oxocarbon.base05 :bg oxocarbon.none}) (custom-set-face! :NotifyDEBUGTitle [] {:fg oxocarbon.base13 :bg oxocarbon.none}) (custom-set-face! :NotifyTRACETitle [] {:fg oxocarbon.base13 :bg oxocarbon.none}) ;; cmp (custom-set-face! :CmpItemAbbr [] {:fg "#adadad" :bg oxocarbon.none}) (custom-set-face! :CmpItemAbbrMatch [:bold] {:fg oxocarbon.base05 :bg oxocarbon.none}) (custom-set-face! :CmpItemAbbrMatchFuzzy [:bold] {:fg oxocarbon.base04 :bg oxocarbon.none}) (custom-set-face! :CmpItemMenu [:italic] {:fg oxocarbon.base04 :bg oxocarbon.none}) (custom-set-face! :CmpItemKindInterface [] {:fg oxocarbon.base01 :bg oxocarbon.base08}) (custom-set-face! :CmpItemKindColor [] {:fg oxocarbon.base01 :bg oxocarbon.base08}) (custom-set-face! :CmpItemKindTypeParameter [] {:fg oxocarbon.base01 :bg oxocarbon.base08}) (custom-set-face! :CmpItemKindText [] {:fg oxocarbon.base01 :bg oxocarbon.base09}) (custom-set-face! :CmpItemKindEnum [] {:fg oxocarbon.base01 :bg oxocarbon.base09}) (custom-set-face! :CmpItemKindKeyword [] {:fg oxocarbon.base01 :bg oxocarbon.base09}) (custom-set-face! :CmpItemKindConstant [] {:fg oxocarbon.base01 :bg oxocarbon.base10}) (custom-set-face! :CmpItemKindConstructor [] {:fg oxocarbon.base01 :bg oxocarbon.base10}) (custom-set-face! :CmpItemKindReference [] {:fg oxocarbon.base01 :bg oxocarbon.base10}) (custom-set-face! :CmpItemKindFunction [] {:fg oxocarbon.base01 :bg oxocarbon.base11}) (custom-set-face! :CmpItemKindStruct [] {:fg oxocarbon.base01 :bg oxocarbon.base11}) (custom-set-face! :CmpItemKindClass [] {:fg oxocarbon.base01 :bg oxocarbon.base11}) (custom-set-face! :CmpItemKindModule [] {:fg oxocarbon.base01 :bg oxocarbon.base11}) (custom-set-face! :CmpItemKindOperator [] {:fg oxocarbon.base01 :bg oxocarbon.base11}) (custom-set-face! :CmpItemKindField [] {:fg oxocarbon.base01 :bg oxocarbon.base12}) (custom-set-face! :CmpItemKindProperty [] {:fg oxocarbon.base01 :bg oxocarbon.base12}) (custom-set-face! :CmpItemKindEvent [] {:fg oxocarbon.base01 :bg oxocarbon.base12}) (custom-set-face! :CmpItemKindUnit [] {:fg oxocarbon.base01 :bg oxocarbon.base13}) (custom-set-face! :CmpItemKindSnippet [] {:fg oxocarbon.base01 :bg oxocarbon.base13}) (custom-set-face! :CmpItemKindFolder [] {:fg oxocarbon.base01 :bg oxocarbon.base13}) (custom-set-face! :CmpItemKindVariable [] {:fg oxocarbon.base01 :bg oxocarbon.base14}) (custom-set-face! :CmpItemKindFile [] {:fg oxocarbon.base01 :bg oxocarbon.base14}) (custom-set-face! :CmpItemKindMethod [] {:fg oxocarbon.base01 :bg oxocarbon.base15}) (custom-set-face! :CmpItemKindValue [] {:fg oxocarbon.base01 :bg oxocarbon.base15}) (custom-set-face! :CmpItemKindEnumMember [] {:fg oxocarbon.base01 :bg oxocarbon.base15}) ;; nvimtree (custom-set-face! :NvimTreeImageFile [] {:fg oxocarbon.base12 :bg oxocarbon.none}) (custom-set-face! :NvimTreeFolderIcon [] {:fg oxocarbon.base12 :bg oxocarbon.none}) (custom-set-face! :NvimTreeWinSeparator [] {:fg oxocarbon.base00 :bg oxocarbon.base00}) (custom-set-face! :NvimTreeFolderName [] {:fg oxocarbon.base09 :bg oxocarbon.none}) (custom-set-face! :NvimTreeIndentMarker [] {:fg oxocarbon.base02 :bg oxocarbon.none}) (custom-set-face! :NvimTreeEmptyFolderName [] {:fg oxocarbon.base15 :bg oxocarbon.none}) (custom-set-face! :NvimTreeOpenedFolderName [] {:fg oxocarbon.base15 :bg oxocarbon.none}) (custom-set-face! :NvimTreeNormal [] {:fg oxocarbon.base04 :bg oxocarbon.base00}) ;; neogit (custom-set-face! :NeogitBranch [] {:fg oxocarbon.base10 :bg oxocarbon.none}) (custom-set-face! :NeogitRemote [] {:fg oxocarbon.base09 :bg oxocarbon.none}) (custom-set-face! :NeogitHunkHeader [] {:fg oxocarbon.base04 :bg oxocarbon.base02}) (custom-set-face! :NeogitHunkHeaderHighlight [] {:fg oxocarbon.base04 :bg oxocarbon.base03}) ;; gitsigns (custom-set-face! :GitSignsCurrentLineBlame [] {:link "Comment" }) ;; hydra (custom-set-face! :HydraRed [] {:fg oxocarbon.base12 :bg oxocarbon.none}) (custom-set-face! :HydraBlue [] {:fg oxocarbon.base09 :bg oxocarbon.none}) (custom-set-face! :HydraAmaranth [] {:fg oxocarbon.base10 :bg oxocarbon.none}) (custom-set-face! :HydraTeal [] {:fg oxocarbon.base08 :bg oxocarbon.none}) (custom-set-face! :HydraHint [] {:fg oxocarbon.none :bg oxocarbon.blend}) ;; alpha (custom-set-face! :alpha1 [] {:fg oxocarbon.base03 :bg oxocarbon.none}) (custom-set-face! :alpha2 [] {:fg oxocarbon.base04 :bg oxocarbon.none}) (custom-set-face! :alpha3 [] {:fg oxocarbon.base03 :bg oxocarbon.none}) ;; headlines.nvim (custom-set-face! :CodeBlock [] {:fg oxocarbon.none :bg oxocarbon.base01}) ;; nvim-bufferline (custom-set-face! :BufferLineDiagnostic [:bold] {:fg oxocarbon.base10 :bg oxocarbon.none}) (custom-set-face! :BufferLineDiagnosticVisible [:bold] {:fg oxocarbon.base10 :bg oxocarbon.none}) ;; preservim/vim-markdown (custom-set-face! :htmlH1 [] {:link "markdownH1"}) (custom-set-face! :mkdRule [] {:link "markdownRule"}) (custom-set-face! :mkdListItem [] {:link "markdownListMarker"}) (custom-set-face! :mkdListItemCheckbox [] {:link "markdownListMarker"}) ;; vimwiki/vimwiki (custom-set-face! :VimwikiHeader1 [] {:link "markdownH1"}) (custom-set-face! :VimwikiHeader2 [] {:link "markdownH1"}) (custom-set-face! :VimwikiHeader3 [] {:link "markdownH1"}) (custom-set-face! :VimwikiHeader4 [] {:link "markdownH1"}) (custom-set-face! :VimwikiHeader5 [] {:link "markdownH1"}) (custom-set-face! :VimwikiHeader6 [] {:link "markdownH1"}) (custom-set-face! :VimwikiHeaderChar [] {:link "markdownH1"}) (custom-set-face! :VimwikiList [] {:link "markdownListMarker"}) (custom-set-face! :VimwikiLink [] {:link "markdownUrl"}) (custom-set-face! :VimwikiCode [] {:link "markdownCode"}) ;; flash (custom-set-face! :FlashLabel [:bold] {:fg oxocarbon.base05 :bg oxocarbon.base00}) { : oxocarbon } ================================================ FILE: lua/lualine/themes/oxocarbon.lua ================================================ local oxocarbon = (require("oxocarbon")).oxocarbon local colors = {color0 = oxocarbon.base02, color1 = oxocarbon.base10, color2 = oxocarbon.base08, color3 = oxocarbon.base00, color6 = oxocarbon.base04, color7 = oxocarbon.base09, color8 = oxocarbon.base14, color9 = oxocarbon.base12, color10 = oxocarbon.base13} return {replace = {a = {fg = colors.color0, bg = colors.color1}, b = {fg = colors.color2, bg = colors.color3}}, inactive = {a = {fg = colors.color0, bg = colors.color7}, b = {fg = colors.color6, bg = colors.color3}, z = {fg = colors.color0, bg = colors.color3}}, normal = {a = {fg = colors.color0, bg = colors.color7}, b = {fg = colors.color6, bg = colors.color3}, c = {fg = colors.color6, bg = colors.color3}, z = {fg = colors.color6, bg = colors.color3}}, visual = {a = {fg = colors.color0, bg = colors.color8}, b = {fg = colors.color6, bg = colors.color3}, y = {fg = colors.color6, bg = colors.color3}, z = {fg = colors.color9, bg = colors.color3}}, insert = {a = {fg = colors.color0, bg = colors.color9}, b = {fg = colors.color6, bg = colors.color3}, z = {fg = colors.color9, bg = colors.color3}}, command = {a = {fg = colors.color0, bg = colors.color10}}} ================================================ FILE: lua/oxocarbon/colorutils.lua ================================================ local hex_chars = "0123456789abcdef" local epsilon = 0.0088564516 local kappa = 903.2962962 local refY = 1 local refU = 0.19783000664283 local refV = 0.46831999493879 local m = {{3.2409699419045, ( - 1.5373831775701), ( - 0.498610760293)}, {( - 0.96924363628087), 1.8759675015077, 0.041555057407175}, {0.055630079696993, ( - 0.20397695888897), 1.0569715142429}} local minv = {{0.41239079926595, 0.35758433938387, 0.18048078840183}, {0.21263900587151, 0.71516867876775, 0.072192315360733}, {0.019330818715591, 0.11919477979462, 0.95053215224966}} local function get_bounds(l) local result = {} local sub2 = nil local sub1 = (((l + 16) ^ 3) / 1560896) if (sub1 > epsilon) then sub2 = sub1 else sub2 = (l / kappa) end for i = 1, 3 do local m1 = m[i][1] local m2 = m[i][2] local m3 = m[i][3] for t = 0, 1 do local top1 = (((284517 * m1) - (94839 * m3)) * sub2) local top2 = ((((((838422 * m3) + (769860 * m2)) + (731718 * m1)) * l) * sub2) - ((769860 * t) * l)) local bottom = ((((632260 * m3) - (126452 * m2)) * sub2) + (126452 * t)) table.insert(result, {slope = (top1 / bottom), intercept = (top2 / bottom)}) end end return result end local function length_of_ray_until_intersect(theta, line) return (line.intercept / (math.sin(theta) - (line.slope * math.cos(theta)))) end local function max_safe_chroma_for_lh(l, h) local hrad = (((h / 360) * math.pi) * 2) local bounds = get_bounds(l) local min = 1.7976931348623e+308 for i = 1, 6 do local bound = bounds[i] local distance = length_of_ray_until_intersect(hrad, bound) if (distance >= 0) then min = math.min(min, distance) else end end return min end local function y__3el(Y) if (Y <= epsilon) then return ((Y / refY) * kappa) else return ((116 * ((Y / refY) ^ 0.33333333333333)) - 16) end end local function l__3ey(L) if (L <= 8) then return ((refY * L) / kappa) else return (refY * (((L + 16) / 116) ^ 3)) end end local function from_linear(c) if (c <= 0.0031308) then return (12.92 * c) else return ((1.055 * (c ^ 0.41666666666667)) - 0.055) end end local function to_linear(c) if (c > 0.04045) then return (((c + 0.055) / 1.055) ^ 2.4) else return (c / 12.92) end end local function dot_product(a, b) local sum = 0 for i = 1, 3 do sum = (sum + (a[i] * b[i])) end return sum end local function luv__3elch(tuple) local L = tuple[1] local U = tuple[2] local V = tuple[3] local C = math.sqrt(((U * U) + (V * V))) local H = nil if (C < 1e-08) then H = 0 else H = ((math.atan2(V, U) * 180) / 3.1415926535898) if (H < 0) then H = (360 + H) else end end return {L, C, H} end local function lch__3eluv(tuple) local L = tuple[1] local C = tuple[2] local Hrad = (((tuple[3] / 360) * 2) * math.pi) return {L, (math.cos(Hrad) * C), (math.sin(Hrad) * C)} end local function xyz__3eluv(tuple) local X = tuple[1] local Y = tuple[2] local divider = ((X + (15 * Y)) + (3 * tuple[3])) local var_u = (4 * X) local var_v = (9 * Y) if (divider ~= 0) then var_u = (var_u / divider) var_v = (var_v / divider) else var_u = 0 var_v = 0 end local L = y__3el(Y) if (L == 0) then local rtn = {0, 0, 0} return rtn else end return {L, ((13 * L) * (var_u - refU)), ((13 * L) * (var_v - refV))} end local function luv__3exyz(tuple) local L = tuple[1] local U = tuple[2] local V = tuple[3] if (L == 0) then local rtn = {0, 0, 0} return rtn else end local var_u = ((U / (13 * L)) + refU) local var_v = ((V / (13 * L)) + refV) local Y = l__3ey(L) local X = (0 - (((9 * Y) * var_u) / (((var_u - 4) * var_v) - (var_u * var_v)))) return {X, Y, ((((9 * Y) - ((15 * var_v) * Y)) - (var_v * X)) / (3 * var_v))} end local function xyz__3ergb(tuple) return {from_linear(dot_product(m[1], tuple)), from_linear(dot_product(m[2], tuple)), from_linear(dot_product(m[3], tuple))} end local function rgb__3exyz(tuple) local rgbl = {to_linear(tuple[1]), to_linear(tuple[2]), to_linear(tuple[3])} return {dot_product(minv[1], rgbl), dot_product(minv[2], rgbl), dot_product(minv[3], rgbl)} end local function hex__3ergb(hex) local hex0 = string.lower(hex) local ret = {} for i = 0, 2 do local char1 = string.sub(hex0, ((i * 2) + 2), ((i * 2) + 2)) local char2 = string.sub(hex0, ((i * 2) + 3), ((i * 2) + 3)) local digit1 = (string.find(hex_chars, char1) - 1) local digit2 = (string.find(hex_chars, char2) - 1) do end (ret)[(i + 1)] = (((digit1 * 16) + digit2) / 255) end return ret end local function rgb__3ehex(tuple) local h = "#" for i = 1, 3 do local c = math.floor(((tuple[i] * 255) + 0.5)) local digit2 = math.fmod(c, 16) local x = ((c - digit2) / 16) local digit1 = math.floor(x) h = (h .. string.sub(hex_chars, (digit1 + 1), (digit1 + 1))) h = (h .. string.sub(hex_chars, (digit2 + 1), (digit2 + 1))) end return h end local function lch__3ehsluv(tuple) local L = tuple[1] local C = tuple[2] local H = tuple[3] local max_chroma = max_safe_chroma_for_lh(L, H) if (L > 99.9999999) then local rtn = {H, 0, 100} return rtn else end if (L < 1e-08) then local rtn = {H, 0, 0} return rtn else end return {H, ((C / max_chroma) * 100), L} end local function hsluv__3elch(tuple) local H = tuple[1] local S = tuple[2] local L = tuple[3] if (L > 99.9999999) then local rtn = {100, 0, H} return rtn else end if (L < 1e-08) then local rtn = {0, 0, H} return rtn else end return {L, ((max_safe_chroma_for_lh(L, H) / 100) * S), H} end local function rgb__3elch(tuple) return luv__3elch(xyz__3eluv(rgb__3exyz(tuple))) end local function lch__3ergb(tuple) return xyz__3ergb(luv__3exyz(lch__3eluv(tuple))) end local function rgb__3ehsluv(tuple) return lch__3ehsluv(rgb__3elch(tuple)) end local function hsluv__3ergb(tuple) return lch__3ergb(hsluv__3elch(tuple)) end local function hex__3ehsluv(s) return rgb__3ehsluv(hex__3ergb(s)) end local function hsluv__3ehex(tuple) return rgb__3ehex(hsluv__3ergb(tuple)) end local function transform_h(c, f) return {f(c[1]), c[2], c[3]} end local function transform_s(c, f) return {c[1], f(c[2]), c[3]} end local function transform_l(c, f) return {c[1], c[2], f(c[3])} end local function linear_tween(start, stop) local function _16_(i) return (start + (i * (stop - start))) end return _16_ end local function radial_tween(x, y) local start = math.rad(x) local stop = math.rad(y) local delta = math.atan2(math.sin((stop - start)), math.cos((stop - start))) local function _17_(i) return ((360 + math.deg((start + (delta * i)))) % 360) end return _17_ end local function blend_hsluv(start, stop, ratio) local ratio0 = (ratio or 0.5) local h = radial_tween(start[1], stop[1]) local s = linear_tween(start[2], stop[2]) local l = linear_tween(start[3], stop[3]) return {h(ratio0), s(ratio0), l(ratio0)} end local function lighten(c, n) local l = linear_tween(c[3], 100) return {c[1], c[2], l(n)} end local function darken(c, n) local l = linear_tween(c[3], 0) return {c[1], c[2], l(n)} end local function saturate(c, n) local s = linear_tween(c[2], 100) return {c[1], s(n), c[3]} end local function desaturate(c, n) local s = linear_tween(c[2], 0) return {c[1], s(n), c[3]} end local function rotate(c, n) return {((n + c[1]) % 360), c[2], c[3]} end local function blend_hex(c1, c2, r) return hsluv__3ehex(blend_hsluv(hex__3ehsluv(c1), hex__3ehsluv(c2), r)) end local function lighten_hex(c, n) return hsluv__3ehex(lighten(hex__3ehsluv(c), n)) end local function darken_hex(c, n) return hsluv__3ehex(darken(hex__3ehsluv(c), n)) end local function saturate_hex(c, n) return hsluv__3ehex(saturate(hex__3ehsluv(c), n)) end local function desaturate_hex(c, n) return hsluv__3ehex(desaturate(hex__3ehsluv(c), n)) end local function rotate_hex(c, n) return hsluv__3ehex(rotate(hex__3ehsluv(c), n)) end local function gradient(c1, c2) local ls = {} for i = 0, 1.01, 0.02 do ls = vim.list_extend(ls, {i}) end local function _18_(_241) return blend_hex(c1, c2, _241) end return vim.tbl_map(_18_, ls) end local function gradient_n(c1, c2, n) local ls = {} do local step = (1 / (n + 1)) for i = 1, n, 1 do ls = vim.list_extend(ls, {(i * step)}) end end local function _19_(_241) return blend_hex(c1, c2, _241) end return vim.list_extend({c1}, vim.tbl_map(_19_, ls), {c2}) end math.randomseed(os.time()) local function random_color(red_range, green_range, blue_range) local rgb = {b = math.random(blue_range[1], blue_range[2]), r = math.random(red_range[1], red_range[2]), g = math.random(green_range[1], green_range[2])} return string.format("#%02x%02x%02x", rgb.r, rgb.g, rgb.b) end local function generate_pallete() local bghex = random_color({0, 63}, {0, 63}, {0, 63}) local fghex = random_color({240, 255}, {240, 255}, {240, 255}) local palette = {bghex, blend_hex(bghex, fghex, 0.085), blend_hex(bghex, fghex, 0.18), blend_hex(bghex, fghex, 0.3), blend_hex(bghex, fghex, 0.7), blend_hex(bghex, fghex, 0.82), blend_hex(bghex, fghex, 0.95), fghex} local base16_names = {"base00", "base01", "base02", "base03", "base04", "base05", "base06", "base07", "base08", "base09", "base0A", "base0B", "base0C", "base0D", "base0E", "base0F"} local base16_palette = {} for i, hex in ipairs(palette) do local name = (base16_names)[i] base16_palette[name] = hex end return base16_palette end return {["blend-hex"] = blend_hex, ["lighten-hex"] = lighten_hex, ["darken-hex"] = darken_hex, ["saturate-hex"] = saturate_hex, ["desaturate-hex"] = desaturate_hex, ["rotate-hex"] = rotate_hex, gradient = gradient, ["gradient-n"] = gradient_n, ["generate-pallete"] = generate_pallete} ================================================ FILE: lua/oxocarbon/init.lua ================================================ local _local_1_ = require("oxocarbon.colorutils") local blend_hex = _local_1_["blend-hex"] if vim.g.colors_name then vim.cmd.hi("clear") else end vim.g["colors_name"] = "oxocarbon" vim.o["termguicolors"] = true local base00 = "#161616" local base06 = "#ffffff" local base09 = "#78a9ff" local oxocarbon = (((vim.o.background == "dark") and {base00 = base00, base01 = blend_hex(base00, base06, 0.085), base02 = blend_hex(base00, base06, 0.18), base03 = blend_hex(base00, base06, 0.3), base04 = blend_hex(base00, base06, 0.82), base05 = blend_hex(base00, base06, 0.95), base06 = base06, base07 = "#08bdba", base08 = "#3ddbd9", base09 = base09, base10 = "#ee5396", base11 = "#33b1ff", base12 = "#ff7eb6", base13 = "#42be65", base14 = "#be95ff", base15 = "#82cfff", blend = "#131313", none = "NONE"}) or {base00 = base06, base01 = blend_hex(base00, base06, 0.95), base02 = blend_hex(base00, base06, 0.82), base03 = base00, base04 = "#37474F", base05 = "#90A4AE", base06 = "#525252", base07 = "#08bdba", base08 = "#ff7eb6", base09 = "#ee5396", base10 = "#FF6F00", base11 = "#0f62fe", base12 = "#673AB7", base13 = "#42be65", base14 = "#be95ff", base15 = "#FFAB91", blend = "#FAFAFA", none = "NONE"}) vim.g["terminal_color_0"] = oxocarbon.base01 vim.g["terminal_color_1"] = oxocarbon.base11 vim.g["terminal_color_2"] = oxocarbon.base14 vim.g["terminal_color_3"] = oxocarbon.base13 vim.g["terminal_color_4"] = oxocarbon.base09 vim.g["terminal_color_5"] = oxocarbon.base15 vim.g["terminal_color_6"] = oxocarbon.base08 vim.g["terminal_color_7"] = oxocarbon.base05 vim.g["terminal_color_8"] = oxocarbon.base03 vim.g["terminal_color_9"] = oxocarbon.base11 vim.g["terminal_color_10"] = oxocarbon.base14 vim.g["terminal_color_11"] = oxocarbon.base13 vim.g["terminal_color_12"] = oxocarbon.base09 vim.g["terminal_color_13"] = oxocarbon.base15 vim.g["terminal_color_14"] = oxocarbon.base07 vim.g["terminal_color_15"] = oxocarbon.base06 vim.api.nvim_set_hl(0, "ColorColumn", {fg = oxocarbon.none, bg = oxocarbon.base01}) vim.api.nvim_set_hl(0, "Cursor", {fg = oxocarbon.base00, bg = oxocarbon.base04}) vim.api.nvim_set_hl(0, "CursorLine", {fg = oxocarbon.none, bg = oxocarbon.base01}) vim.api.nvim_set_hl(0, "CursorColumn", {fg = oxocarbon.none, bg = oxocarbon.base01}) vim.api.nvim_set_hl(0, "CursorLineNr", {fg = oxocarbon.base04, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "QuickFixLine", {fg = oxocarbon.none, bg = oxocarbon.base01}) vim.api.nvim_set_hl(0, "Error", {fg = oxocarbon.base10, bg = oxocarbon.base01}) vim.api.nvim_set_hl(0, "LineNr", {fg = oxocarbon.base03, bg = oxocarbon.base00}) vim.api.nvim_set_hl(0, "NonText", {fg = oxocarbon.base02, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "Normal", {fg = oxocarbon.base04, bg = oxocarbon.base00}) vim.api.nvim_set_hl(0, "Pmenu", {fg = oxocarbon.base04, bg = oxocarbon.base01}) vim.api.nvim_set_hl(0, "PmenuSbar", {fg = oxocarbon.base04, bg = oxocarbon.base01}) vim.api.nvim_set_hl(0, "PmenuSel", {fg = oxocarbon.base08, bg = oxocarbon.base02}) vim.api.nvim_set_hl(0, "PmenuThumb", {fg = oxocarbon.base08, bg = oxocarbon.base02}) vim.api.nvim_set_hl(0, "SpecialKey", {fg = oxocarbon.base03, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "Visual", {fg = oxocarbon.none, bg = oxocarbon.base02}) vim.api.nvim_set_hl(0, "VisualNOS", {fg = oxocarbon.none, bg = oxocarbon.base02}) vim.api.nvim_set_hl(0, "TooLong", {fg = oxocarbon.none, bg = oxocarbon.base02}) vim.api.nvim_set_hl(0, "Debug", {fg = oxocarbon.base13, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "Macro", {fg = oxocarbon.base07, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "MatchParen", {fg = oxocarbon.none, bg = oxocarbon.base02, underline = true}) vim.api.nvim_set_hl(0, "Bold", {fg = oxocarbon.none, bg = oxocarbon.none, bold = true}) vim.api.nvim_set_hl(0, "Italic", {fg = oxocarbon.none, bg = oxocarbon.none, italic = true}) vim.api.nvim_set_hl(0, "Underlined", {fg = oxocarbon.none, bg = oxocarbon.none, underline = true}) vim.api.nvim_set_hl(0, "DiagnosticWarn", {fg = oxocarbon.base14, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "DiagnosticError", {fg = oxocarbon.base10, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "DiagnosticInfo", {fg = oxocarbon.base09, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "DiagnosticHint", {fg = oxocarbon.base04, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "DiagnosticUnderlineWarn", {fg = oxocarbon.base14, bg = oxocarbon.none, undercurl = true}) vim.api.nvim_set_hl(0, "DiagnosticUnderlineError", {fg = oxocarbon.base10, bg = oxocarbon.none, undercurl = true}) vim.api.nvim_set_hl(0, "DiagnosticUnderlineInfo", {fg = oxocarbon.base04, bg = oxocarbon.none, undercurl = true}) vim.api.nvim_set_hl(0, "DiagnosticUnderlineHint", {fg = oxocarbon.base04, bg = oxocarbon.none, undercurl = true}) vim.api.nvim_set_hl(0, "HealthError", {fg = oxocarbon.base10, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "HealthWarning", {fg = oxocarbon.base14, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "HealthSuccess", {fg = oxocarbon.base13, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@comment", {link = "Comment"}) vim.api.nvim_set_hl(0, "@text.literal.commodity", {fg = oxocarbon.base13, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@number", {fg = oxocarbon.base09, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@number.date", {fg = oxocarbon.base08, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@number.date.effective", {fg = oxocarbon.base13, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@number.interval", {fg = oxocarbon.base09, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@number.status", {fg = oxocarbon.base12, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@number.quantity", {fg = oxocarbon.base11, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@number.quantity.negative", {fg = oxocarbon.base10, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "LspCodeLens", {fg = oxocarbon.none, bg = oxocarbon.base03}) vim.api.nvim_set_hl(0, "LspReferenceText", {fg = oxocarbon.none, bg = oxocarbon.base03}) vim.api.nvim_set_hl(0, "LspReferenceread", {fg = oxocarbon.none, bg = oxocarbon.base03}) vim.api.nvim_set_hl(0, "LspReferenceWrite", {fg = oxocarbon.none, bg = oxocarbon.base03}) vim.api.nvim_set_hl(0, "LspSignatureActiveParameter", {fg = oxocarbon.base08, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@lsp.type.class", {link = "Structure"}) vim.api.nvim_set_hl(0, "@lsp.type.decorator", {link = "Decorator"}) vim.api.nvim_set_hl(0, "@lsp.type.decorator.markdown", {link = "Structure"}) vim.api.nvim_set_hl(0, "@lsp.type.function", {link = "@function"}) vim.api.nvim_set_hl(0, "@lsp.type.macro", {link = "Macro"}) vim.api.nvim_set_hl(0, "@lsp.type.method", {link = "@function"}) vim.api.nvim_set_hl(0, "@lsp.type.struct", {link = "Structure"}) vim.api.nvim_set_hl(0, "@lsp.type.type", {link = "Type"}) vim.api.nvim_set_hl(0, "@lsp.type.typeParameter", {link = "Typedef"}) vim.api.nvim_set_hl(0, "@lsp.type.selfParameter", {link = "@variable.builtin"}) vim.api.nvim_set_hl(0, "@lsp.type.builtinConstant", {link = "@constant.builtin"}) vim.api.nvim_set_hl(0, "@lsp.type.magicFunction", {link = "@function.builtin"}) vim.api.nvim_set_hl(0, "@lsp.type.boolean", {link = "@boolean"}) vim.api.nvim_set_hl(0, "@lsp.type.builtinType", {link = "@type.builtin"}) vim.api.nvim_set_hl(0, "@lsp.type.comment", {link = "@comment"}) vim.api.nvim_set_hl(0, "@lsp.type.enum", {link = "@type"}) vim.api.nvim_set_hl(0, "@lsp.type.enumMember", {link = "@constant"}) vim.api.nvim_set_hl(0, "@lsp.type.escapeSequence", {link = "@string.escape"}) vim.api.nvim_set_hl(0, "@lsp.type.formatSpecifier", {link = "@punctuation.special"}) vim.api.nvim_set_hl(0, "@lsp.type.keyword", {link = "@keyword"}) vim.api.nvim_set_hl(0, "@lsp.type.namespace", {link = "@namespace"}) vim.api.nvim_set_hl(0, "@lsp.type.number", {link = "@number"}) vim.api.nvim_set_hl(0, "@lsp.type.operator", {link = "@operator"}) vim.api.nvim_set_hl(0, "@lsp.type.parameter", {link = "@parameter"}) vim.api.nvim_set_hl(0, "@lsp.type.property", {link = "@property"}) vim.api.nvim_set_hl(0, "@lsp.type.selfKeyword", {link = "@variable.builtin"}) vim.api.nvim_set_hl(0, "@lsp.type.string.rust", {link = "@string"}) vim.api.nvim_set_hl(0, "@lsp.type.typeAlias", {link = "@type.definition"}) vim.api.nvim_set_hl(0, "@lsp.type.unresolvedReference", {link = "Error"}) vim.api.nvim_set_hl(0, "@lsp.type.variable", {link = "@variable"}) vim.api.nvim_set_hl(0, "@lsp.mod.readonly", {link = "@constant"}) vim.api.nvim_set_hl(0, "@lsp.mod.typeHint", {link = "Type"}) vim.api.nvim_set_hl(0, "@lsp.mod.builtin", {link = "Special"}) vim.api.nvim_set_hl(0, "@lsp.typemod.class.defaultLibrary", {link = "@type.builtin"}) vim.api.nvim_set_hl(0, "@lsp.typemod.enum.defaultLibrary", {link = "@type.builtin"}) vim.api.nvim_set_hl(0, "@lsp.typemod.enumMember.defaultLibrary", {link = "@constant.builtin"}) vim.api.nvim_set_hl(0, "@lsp.typemod.function.defaultLibrary", {link = "@function.builtin"}) vim.api.nvim_set_hl(0, "@lsp.typemod.keyword.async", {link = "@keyword.coroutine"}) vim.api.nvim_set_hl(0, "@lsp.typemod.macro.defaultLibrary", {link = "@function.builtin"}) vim.api.nvim_set_hl(0, "@lsp.typemod.method.defaultLibrary", {link = "@function.builtin"}) vim.api.nvim_set_hl(0, "@lsp.typemod.operator.injected", {link = "@operator"}) vim.api.nvim_set_hl(0, "@lsp.typemod.string.injected", {link = "@string"}) vim.api.nvim_set_hl(0, "@lsp.typemod.operator.controlFlow", {link = "@exception"}) vim.api.nvim_set_hl(0, "@lsp.typemod.keyword.documentation", {link = "Special"}) vim.api.nvim_set_hl(0, "@lsp.typemod.variable.global", {link = "@constant"}) vim.api.nvim_set_hl(0, "@lsp.typemod.variable.static", {link = "@constant"}) vim.api.nvim_set_hl(0, "@lsp.typemod.variable.defaultLibrary", {link = "Special"}) vim.api.nvim_set_hl(0, "@lsp.typemod.function.builtin", {link = "@function.builtin"}) vim.api.nvim_set_hl(0, "@lsp.typemod.function.readonly", {link = "@method"}) vim.api.nvim_set_hl(0, "@lsp.typemod.variable.defaultLibrary", {link = "@variable.builtin"}) vim.api.nvim_set_hl(0, "@lsp.typemod.variable.injected", {link = "@variable"}) vim.api.nvim_set_hl(0, "Folded", {fg = oxocarbon.base02, bg = oxocarbon.base01}) vim.api.nvim_set_hl(0, "FoldColumn", {fg = oxocarbon.base01, bg = oxocarbon.base00}) vim.api.nvim_set_hl(0, "SignColumn", {fg = oxocarbon.base01, bg = oxocarbon.base00}) vim.api.nvim_set_hl(0, "Directory", {fg = oxocarbon.base08, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "EndOfBuffer", {fg = oxocarbon.base01, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "ErrorMsg", {fg = oxocarbon.base10, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "ModeMsg", {fg = oxocarbon.base04, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "MoreMsg", {fg = oxocarbon.base08, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "Question", {fg = oxocarbon.base04, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "Substitute", {fg = oxocarbon.base01, bg = oxocarbon.base08}) vim.api.nvim_set_hl(0, "WarningMsg", {fg = oxocarbon.base14, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "WildMenu", {fg = oxocarbon.base08, bg = oxocarbon.base01}) vim.api.nvim_set_hl(0, "helpHyperTextJump", {fg = oxocarbon.base08, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "helpSpecial", {fg = oxocarbon.base09, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "helpHeadline", {fg = oxocarbon.base10, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "helpHeader", {fg = oxocarbon.base15, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "DiffAdded", {fg = oxocarbon.base07, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "DiffChanged", {fg = oxocarbon.base09, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "DiffRemoved", {fg = oxocarbon.base10, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "DiffAdd", {bg = "#122f2f", fg = oxocarbon.none}) vim.api.nvim_set_hl(0, "DiffChange", {bg = "#222a39", fg = oxocarbon.none}) vim.api.nvim_set_hl(0, "DiffText", {bg = "#2f3f5c", fg = oxocarbon.none}) vim.api.nvim_set_hl(0, "DiffDelete", {bg = "#361c28", fg = oxocarbon.none}) vim.api.nvim_set_hl(0, "IncSearch", {fg = oxocarbon.base06, bg = oxocarbon.base10}) vim.api.nvim_set_hl(0, "Search", {fg = oxocarbon.base01, bg = oxocarbon.base08}) vim.api.nvim_set_hl(0, "TabLine", {link = "StatusLineNC"}) vim.api.nvim_set_hl(0, "TabLineFill", {link = "TabLine"}) vim.api.nvim_set_hl(0, "TabLineSel", {link = "StatusLine"}) vim.api.nvim_set_hl(0, "Title", {fg = oxocarbon.base04, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "VertSplit", {fg = oxocarbon.base01, bg = oxocarbon.base00}) vim.api.nvim_set_hl(0, "WinSeparator", {fg = oxocarbon.base01, bg = oxocarbon.base00}) vim.api.nvim_set_hl(0, "Boolean", {fg = oxocarbon.base09, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "Character", {fg = oxocarbon.base14, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "Comment", {fg = oxocarbon.base03, bg = oxocarbon.none, italic = true}) vim.api.nvim_set_hl(0, "Conceal", {fg = oxocarbon.none, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "Conditional", {fg = oxocarbon.base09, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "Constant", {fg = oxocarbon.base04, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "Decorator", {fg = oxocarbon.base12, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "Define", {fg = oxocarbon.base09, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "Delimeter", {fg = oxocarbon.base06, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "Exception", {fg = oxocarbon.base09, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "Float", {link = "Number"}) vim.api.nvim_set_hl(0, "Function", {fg = oxocarbon.base08, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "Identifier", {fg = oxocarbon.base04, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "Include", {fg = oxocarbon.base09, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "Keyword", {fg = oxocarbon.base09, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "Label", {fg = oxocarbon.base09, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "Number", {fg = oxocarbon.base15, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "Operator", {fg = oxocarbon.base09, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "PreProc", {fg = oxocarbon.base09, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "Repeat", {fg = oxocarbon.base09, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "Special", {fg = oxocarbon.base04, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "SpecialChar", {fg = oxocarbon.base04, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "SpecialComment", {fg = oxocarbon.base08, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "Statement", {fg = oxocarbon.base09, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "StorageClass", {fg = oxocarbon.base09, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "String", {fg = oxocarbon.base14, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "Structure", {fg = oxocarbon.base09, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "Tag", {fg = oxocarbon.base04, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "Todo", {fg = oxocarbon.base13, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "Type", {fg = oxocarbon.base09, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "Typedef", {fg = oxocarbon.base09, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "markdownBlockquote", {fg = oxocarbon.base08, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "markdownBold", {link = "Bold"}) vim.api.nvim_set_hl(0, "markdownItalic", {link = "Italic"}) vim.api.nvim_set_hl(0, "markdownBoldItalic", {fg = oxocarbon.none, bg = oxocarbon.none, bold = true, italic = true}) vim.api.nvim_set_hl(0, "markdownRule", {link = "Comment"}) vim.api.nvim_set_hl(0, "markdownH1", {fg = oxocarbon.base10, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "markdownH2", {link = "markdownH1"}) vim.api.nvim_set_hl(0, "markdownH3", {link = "markdownH1"}) vim.api.nvim_set_hl(0, "markdownH4", {link = "markdownH1"}) vim.api.nvim_set_hl(0, "markdownH5", {link = "markdownH1"}) vim.api.nvim_set_hl(0, "markdownH6", {link = "markdownH1"}) vim.api.nvim_set_hl(0, "markdownHeadingDelimiter", {link = "markdownH1"}) vim.api.nvim_set_hl(0, "markdownHeadingRule", {link = "markdownH1"}) vim.api.nvim_set_hl(0, "markdownUrl", {fg = oxocarbon.base14, bg = oxocarbon.none, underline = true}) vim.api.nvim_set_hl(0, "markdownCode", {link = "String"}) vim.api.nvim_set_hl(0, "markdownCodeBlock", {link = "markdownCode"}) vim.api.nvim_set_hl(0, "markdownCodeDelimiter", {link = "markdownCode"}) vim.api.nvim_set_hl(0, "markdownUrl", {link = "String"}) vim.api.nvim_set_hl(0, "markdownListMarker", {fg = oxocarbon.base08, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "markdownOrderedListMarker", {fg = oxocarbon.base08, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@markup", {link = "@none"}) vim.api.nvim_set_hl(0, "@markup.environment", {link = "Macro"}) vim.api.nvim_set_hl(0, "@markup.environment.name", {link = "Type"}) vim.api.nvim_set_hl(0, "@markup.emphasis", {italic = true}) vim.api.nvim_set_hl(0, "@markup.italic", {italic = true}) vim.api.nvim_set_hl(0, "@markup.strikethrough", {strikethrough = true}) vim.api.nvim_set_hl(0, "@markup.strong", {bold = true}) vim.api.nvim_set_hl(0, "@markup.underline", {underline = true}) vim.api.nvim_set_hl(0, "@markup.heading", {link = "Title"}) vim.api.nvim_set_hl(0, "@markup.heading.marker", {link = "markdownHeadingDelimiter"}) vim.api.nvim_set_hl(0, "@markup.heading.1.markdown", {link = "markdownH1"}) vim.api.nvim_set_hl(0, "@markup.heading.2.markdown", {link = "markdownH1"}) vim.api.nvim_set_hl(0, "@markup.heading.3.markdown", {link = "markdownH1"}) vim.api.nvim_set_hl(0, "@markup.heading.4.markdown", {link = "markdownH1"}) vim.api.nvim_set_hl(0, "@markup.heading.5.markdown", {link = "markdownH1"}) vim.api.nvim_set_hl(0, "@markup.heading.6.markdown", {link = "markdownH1"}) vim.api.nvim_set_hl(0, "@markup.heading.7.markdown", {link = "markdownH1"}) vim.api.nvim_set_hl(0, "@markup.heading.8.markdown", {link = "markdownH1"}) vim.api.nvim_set_hl(0, "@markup.link", {link = "markdownUrl"}) vim.api.nvim_set_hl(0, "@markup.link.label", {underline = true}) vim.api.nvim_set_hl(0, "@markup.link.label.symbol", {link = "markdownItalic"}) vim.api.nvim_set_hl(0, "@markup.link.label.markdown_inline", {link = "markdownItalic"}) vim.api.nvim_set_hl(0, "@markup.link.title", {link = "Title"}) vim.api.nvim_set_hl(0, "@markup.link.url", {link = "markdownUrl"}) vim.api.nvim_set_hl(0, "@markup.link.destination", {link = "markdownUrl"}) vim.api.nvim_set_hl(0, "@markup.link.description", {fg = oxocarbon.blend, underline = true, italic = true}) vim.api.nvim_set_hl(0, "@markup.list", {link = "markdownListMarker"}) vim.api.nvim_set_hl(0, "@markup.list.bullet", {link = "markdownListMarker"}) vim.api.nvim_set_hl(0, "@markup.list.checked", {link = "markdownListMarker"}) vim.api.nvim_set_hl(0, "@markup.list.markdown", {link = "markdownListMarker"}) vim.api.nvim_set_hl(0, "@markup.list.ordered", {link = "markdownOrderedListMarker"}) vim.api.nvim_set_hl(0, "@markup.list.unchecked", {link = "markdownListMarker"}) vim.api.nvim_set_hl(0, "@markup.math", {link = "Special"}) vim.api.nvim_set_hl(0, "@markup.raw", {link = "String"}) vim.api.nvim_set_hl(0, "@markup.raw.markdown_inline", {link = "String"}) vim.api.nvim_set_hl(0, "@markup.quote", {link = "markdownBlockquote"}) vim.api.nvim_set_hl(0, "@markup.literal", {link = "markdownCode"}) vim.api.nvim_set_hl(0, "@markup.code.block", {link = "markdownCodeBlock"}) vim.api.nvim_set_hl(0, "@markup.rule", {link = "Comment"}) vim.api.nvim_set_hl(0, "asciidocAttributeEntry", {fg = oxocarbon.base15, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "asciidocAttributeList", {link = "asciidocAttributeEntry"}) vim.api.nvim_set_hl(0, "asciidocAttributeRef", {link = "asciidocAttributeEntry"}) vim.api.nvim_set_hl(0, "asciidocHLabel", {link = "markdownH1"}) vim.api.nvim_set_hl(0, "asciidocOneLineTitle", {link = "markdownH1"}) vim.api.nvim_set_hl(0, "asciidocQuotedMonospaced", {link = "markdownBlockquote"}) vim.api.nvim_set_hl(0, "asciidocURL", {link = "markdownUrl"}) vim.api.nvim_set_hl(0, "@comment", {link = "Comment"}) vim.api.nvim_set_hl(0, "@error", {fg = oxocarbon.base11, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@operator", {link = "Operator"}) vim.api.nvim_set_hl(0, "@punctuation.delimiter", {fg = oxocarbon.base08, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@punctuation.bracket", {fg = oxocarbon.base08, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@punctuation.special", {fg = oxocarbon.base08, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@string", {link = "String"}) vim.api.nvim_set_hl(0, "@string.regex", {fg = oxocarbon.base07, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@string.escape", {fg = oxocarbon.base15, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@character", {link = "Character"}) vim.api.nvim_set_hl(0, "@boolean", {link = "Boolean"}) vim.api.nvim_set_hl(0, "@number", {link = "Number"}) vim.api.nvim_set_hl(0, "@float", {link = "Float"}) vim.api.nvim_set_hl(0, "@function", {fg = oxocarbon.base12, bg = oxocarbon.none, bold = true}) vim.api.nvim_set_hl(0, "@function.builtin", {fg = oxocarbon.base12, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@function.macro", {fg = oxocarbon.base07, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@method", {fg = oxocarbon.base07, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@constructor", {fg = oxocarbon.base09, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@parameter", {fg = oxocarbon.base04, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@keyword", {fg = oxocarbon.base09, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@keyword.function", {fg = oxocarbon.base08, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@keyword.operator", {fg = oxocarbon.base08, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@conditional", {fg = oxocarbon.base09, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@repeat", {fg = oxocarbon.base09, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@label", {fg = oxocarbon.base15, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@include", {fg = oxocarbon.base09, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@exception", {fg = oxocarbon.base15, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@type", {link = "Type"}) vim.api.nvim_set_hl(0, "@type.builtin", {link = "Type"}) vim.api.nvim_set_hl(0, "@attribute", {fg = oxocarbon.base15, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@field", {fg = oxocarbon.base04, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@property", {fg = oxocarbon.base10, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@variable", {fg = oxocarbon.base04, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@variable.builtin", {fg = oxocarbon.base04, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@constant", {fg = oxocarbon.base14, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@constant.builtin", {fg = oxocarbon.base07, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@constant.macro", {fg = oxocarbon.base07, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@namespace", {fg = oxocarbon.base07, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@symbol", {fg = oxocarbon.base15, bg = oxocarbon.none, bold = true}) vim.api.nvim_set_hl(0, "@text", {fg = oxocarbon.base04, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@text.strong", {fg = oxocarbon.none, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@text.emphasis", {fg = oxocarbon.base10, bg = oxocarbon.none, bold = true}) vim.api.nvim_set_hl(0, "@text.underline", {fg = oxocarbon.base10, bg = oxocarbon.none, underline = true}) vim.api.nvim_set_hl(0, "@text.strike", {fg = oxocarbon.base10, bg = oxocarbon.none, strikethrough = true}) vim.api.nvim_set_hl(0, "@text.title", {fg = oxocarbon.base10, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@text.literal", {fg = oxocarbon.base04, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@text.uri", {fg = oxocarbon.base14, bg = oxocarbon.none, underline = true}) vim.api.nvim_set_hl(0, "@tag", {fg = oxocarbon.base09, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@tag.attribute", {fg = oxocarbon.base15, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@tag.delimiter", {fg = oxocarbon.base15, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "@tag.builtin.tsx", {link = "@tag.tsx"}) vim.api.nvim_set_hl(0, "@reference", {fg = oxocarbon.base04, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "NvimInternalError", {fg = oxocarbon.base00, bg = oxocarbon.base08}) vim.api.nvim_set_hl(0, "NormalFloat", {fg = oxocarbon.base05, bg = oxocarbon.blend}) vim.api.nvim_set_hl(0, "FloatBorder", {fg = oxocarbon.blend, bg = oxocarbon.blend}) vim.api.nvim_set_hl(0, "NormalNC", {fg = oxocarbon.base04, bg = oxocarbon.base00}) vim.api.nvim_set_hl(0, "TermCursor", {fg = oxocarbon.base00, bg = oxocarbon.base04}) vim.api.nvim_set_hl(0, "TermCursorNC", {fg = oxocarbon.base00, bg = oxocarbon.base04}) vim.api.nvim_set_hl(0, "StatusLine", {fg = oxocarbon.base04, bg = oxocarbon.base00}) vim.api.nvim_set_hl(0, "StatusLineNC", {fg = oxocarbon.base04, bg = oxocarbon.base01}) vim.api.nvim_set_hl(0, "StatusReplace", {fg = oxocarbon.base00, bg = oxocarbon.base08}) vim.api.nvim_set_hl(0, "StatusInsert", {fg = oxocarbon.base00, bg = oxocarbon.base12}) vim.api.nvim_set_hl(0, "StatusVisual", {fg = oxocarbon.base00, bg = oxocarbon.base14}) vim.api.nvim_set_hl(0, "StatusTerminal", {fg = oxocarbon.base00, bg = oxocarbon.base11}) vim.api.nvim_set_hl(0, "StatusNormal", {fg = oxocarbon.base00, bg = oxocarbon.base15}) vim.api.nvim_set_hl(0, "StatusCommand", {fg = oxocarbon.base00, bg = oxocarbon.base13}) vim.api.nvim_set_hl(0, "StatusLineDiagnosticWarn", {fg = oxocarbon.base14, bg = oxocarbon.base00, bold = true}) vim.api.nvim_set_hl(0, "StatusLineDiagnosticError", {fg = oxocarbon.base10, bg = oxocarbon.base00, bold = true}) vim.api.nvim_set_hl(0, "TelescopeBorder", {fg = oxocarbon.blend, bg = oxocarbon.blend}) vim.api.nvim_set_hl(0, "TelescopePromptBorder", {fg = oxocarbon.base02, bg = oxocarbon.base02}) vim.api.nvim_set_hl(0, "TelescopePromptNormal", {fg = oxocarbon.base05, bg = oxocarbon.base02}) vim.api.nvim_set_hl(0, "TelescopePromptPrefix", {fg = oxocarbon.base08, bg = oxocarbon.base02}) vim.api.nvim_set_hl(0, "TelescopeNormal", {fg = oxocarbon.none, bg = oxocarbon.blend}) vim.api.nvim_set_hl(0, "TelescopePreviewTitle", {fg = oxocarbon.base02, bg = oxocarbon.base12}) vim.api.nvim_set_hl(0, "TelescopePromptTitle", {fg = oxocarbon.base02, bg = oxocarbon.base11}) vim.api.nvim_set_hl(0, "TelescopeResultsTitle", {fg = oxocarbon.blend, bg = oxocarbon.blend}) vim.api.nvim_set_hl(0, "TelescopeSelection", {fg = oxocarbon.none, bg = oxocarbon.base02}) vim.api.nvim_set_hl(0, "TelescopePreviewLine", {fg = oxocarbon.none, bg = oxocarbon.base01}) vim.api.nvim_set_hl(0, "TelescopeMatching", {fg = oxocarbon.base08, bg = oxocarbon.none, bold = true, italic = true}) vim.api.nvim_set_hl(0, "NotifyERRORBorder", {fg = oxocarbon.base08, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "NotifyWARNBorder", {fg = oxocarbon.base14, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "NotifyINFOBorder", {fg = oxocarbon.base05, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "NotifyDEBUGBorder", {fg = oxocarbon.base13, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "NotifyTRACEBorder", {fg = oxocarbon.base13, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "NotifyERRORIcon", {fg = oxocarbon.base08, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "NotifyWARNIcon", {fg = oxocarbon.base14, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "NotifyINFOIcon", {fg = oxocarbon.base05, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "NotifyDEBUGIcon", {fg = oxocarbon.base13, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "NotifyTRACEIcon", {fg = oxocarbon.base13, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "NotifyERRORTitle", {fg = oxocarbon.base08, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "NotifyWARNTitle", {fg = oxocarbon.base14, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "NotifyINFOTitle", {fg = oxocarbon.base05, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "NotifyDEBUGTitle", {fg = oxocarbon.base13, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "NotifyTRACETitle", {fg = oxocarbon.base13, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "CmpItemAbbr", {fg = "#adadad", bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "CmpItemAbbrMatch", {fg = oxocarbon.base05, bg = oxocarbon.none, bold = true}) vim.api.nvim_set_hl(0, "CmpItemAbbrMatchFuzzy", {fg = oxocarbon.base04, bg = oxocarbon.none, bold = true}) vim.api.nvim_set_hl(0, "CmpItemMenu", {fg = oxocarbon.base04, bg = oxocarbon.none, italic = true}) vim.api.nvim_set_hl(0, "CmpItemKindInterface", {fg = oxocarbon.base01, bg = oxocarbon.base08}) vim.api.nvim_set_hl(0, "CmpItemKindColor", {fg = oxocarbon.base01, bg = oxocarbon.base08}) vim.api.nvim_set_hl(0, "CmpItemKindTypeParameter", {fg = oxocarbon.base01, bg = oxocarbon.base08}) vim.api.nvim_set_hl(0, "CmpItemKindText", {fg = oxocarbon.base01, bg = oxocarbon.base09}) vim.api.nvim_set_hl(0, "CmpItemKindEnum", {fg = oxocarbon.base01, bg = oxocarbon.base09}) vim.api.nvim_set_hl(0, "CmpItemKindKeyword", {fg = oxocarbon.base01, bg = oxocarbon.base09}) vim.api.nvim_set_hl(0, "CmpItemKindConstant", {fg = oxocarbon.base01, bg = oxocarbon.base10}) vim.api.nvim_set_hl(0, "CmpItemKindConstructor", {fg = oxocarbon.base01, bg = oxocarbon.base10}) vim.api.nvim_set_hl(0, "CmpItemKindReference", {fg = oxocarbon.base01, bg = oxocarbon.base10}) vim.api.nvim_set_hl(0, "CmpItemKindFunction", {fg = oxocarbon.base01, bg = oxocarbon.base11}) vim.api.nvim_set_hl(0, "CmpItemKindStruct", {fg = oxocarbon.base01, bg = oxocarbon.base11}) vim.api.nvim_set_hl(0, "CmpItemKindClass", {fg = oxocarbon.base01, bg = oxocarbon.base11}) vim.api.nvim_set_hl(0, "CmpItemKindModule", {fg = oxocarbon.base01, bg = oxocarbon.base11}) vim.api.nvim_set_hl(0, "CmpItemKindOperator", {fg = oxocarbon.base01, bg = oxocarbon.base11}) vim.api.nvim_set_hl(0, "CmpItemKindField", {fg = oxocarbon.base01, bg = oxocarbon.base12}) vim.api.nvim_set_hl(0, "CmpItemKindProperty", {fg = oxocarbon.base01, bg = oxocarbon.base12}) vim.api.nvim_set_hl(0, "CmpItemKindEvent", {fg = oxocarbon.base01, bg = oxocarbon.base12}) vim.api.nvim_set_hl(0, "CmpItemKindUnit", {fg = oxocarbon.base01, bg = oxocarbon.base13}) vim.api.nvim_set_hl(0, "CmpItemKindSnippet", {fg = oxocarbon.base01, bg = oxocarbon.base13}) vim.api.nvim_set_hl(0, "CmpItemKindFolder", {fg = oxocarbon.base01, bg = oxocarbon.base13}) vim.api.nvim_set_hl(0, "CmpItemKindVariable", {fg = oxocarbon.base01, bg = oxocarbon.base14}) vim.api.nvim_set_hl(0, "CmpItemKindFile", {fg = oxocarbon.base01, bg = oxocarbon.base14}) vim.api.nvim_set_hl(0, "CmpItemKindMethod", {fg = oxocarbon.base01, bg = oxocarbon.base15}) vim.api.nvim_set_hl(0, "CmpItemKindValue", {fg = oxocarbon.base01, bg = oxocarbon.base15}) vim.api.nvim_set_hl(0, "CmpItemKindEnumMember", {fg = oxocarbon.base01, bg = oxocarbon.base15}) vim.api.nvim_set_hl(0, "NvimTreeImageFile", {fg = oxocarbon.base12, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "NvimTreeFolderIcon", {fg = oxocarbon.base12, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "NvimTreeWinSeparator", {fg = oxocarbon.base00, bg = oxocarbon.base00}) vim.api.nvim_set_hl(0, "NvimTreeFolderName", {fg = oxocarbon.base09, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "NvimTreeIndentMarker", {fg = oxocarbon.base02, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "NvimTreeEmptyFolderName", {fg = oxocarbon.base15, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "NvimTreeOpenedFolderName", {fg = oxocarbon.base15, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "NvimTreeNormal", {fg = oxocarbon.base04, bg = oxocarbon.base00}) vim.api.nvim_set_hl(0, "NeogitBranch", {fg = oxocarbon.base10, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "NeogitRemote", {fg = oxocarbon.base09, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "NeogitHunkHeader", {fg = oxocarbon.base04, bg = oxocarbon.base02}) vim.api.nvim_set_hl(0, "NeogitHunkHeaderHighlight", {fg = oxocarbon.base04, bg = oxocarbon.base03}) vim.api.nvim_set_hl(0, "GitSignsCurrentLineBlame", {link = "Comment"}) vim.api.nvim_set_hl(0, "HydraRed", {fg = oxocarbon.base12, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "HydraBlue", {fg = oxocarbon.base09, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "HydraAmaranth", {fg = oxocarbon.base10, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "HydraTeal", {fg = oxocarbon.base08, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "HydraHint", {fg = oxocarbon.none, bg = oxocarbon.blend}) vim.api.nvim_set_hl(0, "alpha1", {fg = oxocarbon.base03, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "alpha2", {fg = oxocarbon.base04, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "alpha3", {fg = oxocarbon.base03, bg = oxocarbon.none}) vim.api.nvim_set_hl(0, "CodeBlock", {fg = oxocarbon.none, bg = oxocarbon.base01}) vim.api.nvim_set_hl(0, "BufferLineDiagnostic", {fg = oxocarbon.base10, bg = oxocarbon.none, bold = true}) vim.api.nvim_set_hl(0, "BufferLineDiagnosticVisible", {fg = oxocarbon.base10, bg = oxocarbon.none, bold = true}) vim.api.nvim_set_hl(0, "htmlH1", {link = "markdownH1"}) vim.api.nvim_set_hl(0, "mkdRule", {link = "markdownRule"}) vim.api.nvim_set_hl(0, "mkdListItem", {link = "markdownListMarker"}) vim.api.nvim_set_hl(0, "mkdListItemCheckbox", {link = "markdownListMarker"}) vim.api.nvim_set_hl(0, "VimwikiHeader1", {link = "markdownH1"}) vim.api.nvim_set_hl(0, "VimwikiHeader2", {link = "markdownH1"}) vim.api.nvim_set_hl(0, "VimwikiHeader3", {link = "markdownH1"}) vim.api.nvim_set_hl(0, "VimwikiHeader4", {link = "markdownH1"}) vim.api.nvim_set_hl(0, "VimwikiHeader5", {link = "markdownH1"}) vim.api.nvim_set_hl(0, "VimwikiHeader6", {link = "markdownH1"}) vim.api.nvim_set_hl(0, "VimwikiHeaderChar", {link = "markdownH1"}) vim.api.nvim_set_hl(0, "VimwikiList", {link = "markdownListMarker"}) vim.api.nvim_set_hl(0, "VimwikiLink", {link = "markdownUrl"}) vim.api.nvim_set_hl(0, "VimwikiCode", {link = "markdownCode"}) vim.api.nvim_set_hl(0, "FlashLabel", {fg = oxocarbon.base05, bg = oxocarbon.base00, bold = true}) return {oxocarbon = oxocarbon} ================================================ FILE: make.fnl ================================================ (let [{: build} (require :hotpot.api.make) (oks errs) (build :./fnl {:force? true :atomic? true} [[:**/*.fnl (fn [path] (string.gsub path :fnl :lua))]])] (values nil))