You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
193 lines
6.4 KiB
193 lines
6.4 KiB
--------------------------------------------------------------------------------
|
|
-- _config.lua --
|
|
--------------------------------------------------------------------------------
|
|
--
|
|
-- This is where you change settings for nukevim modules.
|
|
--
|
|
|
|
--
|
|
-- * Each key in this table is a nukevim module. (Valid modules are any
|
|
-- file under `lua/module/`).
|
|
-- * Each value in this table is the configuration for the module.
|
|
-- * The configuration _must_ be a table (`{ ... }`).
|
|
-- * The configuration _may_ include a `enable` property.
|
|
-- * If this is present and not `true`, then the module will be skipped.
|
|
-- * The configuration _may_ include a `order` property.
|
|
-- * Modules are processed from lowest to highest order number.
|
|
-- * Modules which do not have an order specified are processed last.
|
|
-- * Those with matching orders (including nil) will be processed in
|
|
-- an _undefined order_. And I mean undefined. I have no idea what lua
|
|
-- is doing but it's basically random.
|
|
--
|
|
|
|
return {
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- CORE --
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
------------------------------------------------------------
|
|
-- Plugins
|
|
--
|
|
-- Manage loading and initializing vim plugins.
|
|
--
|
|
-- * The general plugin list is kept in `_plugins.lua` (and
|
|
-- pulled in by the `require()` below. Add your plugins
|
|
-- there.
|
|
-- * Some modules have their own plugin dependencies. Those
|
|
-- modules automatically register their own plugins. They
|
|
-- do not need to also be listed here.
|
|
--
|
|
plugins = {
|
|
order = 10,
|
|
-- Path on disk to store the actual plugin code at.
|
|
path = "~/.config/nvim/plugins",
|
|
-- A list of plugins to install and load.
|
|
-- Load from `_plugins.lua`.
|
|
plugins = require('config/_plugins')
|
|
},
|
|
|
|
------------------------------------------------------------
|
|
-- Keymap
|
|
--
|
|
-- Handle mapping keys to things and, optionally, generating
|
|
-- a UI for showing a legend.
|
|
--
|
|
-- * The general keymap list is kept in `_keymap.lua` (and
|
|
-- pulled in by the `require()` below. Add your keymaps
|
|
-- there.
|
|
-- * Many keymaps associated with plugins are defined in
|
|
-- the plugin's configuration. Look at the plugins module
|
|
-- configuration for those.
|
|
-- * Many modules have their own mappings that need to be
|
|
-- included. They automatically register them. They do
|
|
-- not need to also be listed here.
|
|
--
|
|
keymap = {
|
|
order = 20,
|
|
-- Whether to provide a UI/legend for the key mappings.
|
|
ui = {
|
|
-- If enabled, the `which-key` plugin will be set up and
|
|
-- all key bindings will be run through it.
|
|
-- If disabled, the plugin will not be included and all
|
|
-- key bindings will be registered through the nvim native API.
|
|
enable = true,
|
|
-- If enabled, the legend will show keys built-in to vim as well
|
|
-- as custom plugin/module key bindings.
|
|
-- If disabled, only custom plugin/module key bindings will be
|
|
-- shown.
|
|
show_builtin = false
|
|
},
|
|
-- The list of keymaps to register.
|
|
-- Load from `_keymap.lua`.
|
|
keys = require('config/_keymap')
|
|
},
|
|
|
|
------------------------------------------------------------
|
|
-- Settings
|
|
--
|
|
-- Allows setting vim's native configuration options and
|
|
-- global variables.
|
|
--
|
|
-- * The settings are kept in `_settings.lua` (and pulled in
|
|
-- by the `require()` below. Add your settings there.
|
|
-- * Several modules and plugins may also set options or
|
|
-- global variables. They automatically manage this and
|
|
-- the settings do not need to be listed here.
|
|
-- * In the event of a conflict between a module/plugin
|
|
-- and your settings file, your settings file will
|
|
-- _generally_ prevail.
|
|
--
|
|
settings = {
|
|
order = 30,
|
|
settings = require('config/_settings'),
|
|
},
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- UI --
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
------------------------------------------------------------
|
|
-- UI
|
|
--
|
|
-- General user interface settings
|
|
--
|
|
-- * These settings are split into two sections: tui and gui
|
|
-- * tui: these settings are _always_ applied
|
|
-- * gui: these settings are applied _on top of_ tui settings
|
|
-- when running vim in a gui such as neovim-qt
|
|
-- * If for some reason you want to set a tui theme but _not_
|
|
-- any theme for gui, you can set gui's theme to `default`.
|
|
--
|
|
ui = {
|
|
order = 40,
|
|
-- Base settings -- applied in terminal, and applied before
|
|
-- gui settings in gui
|
|
tui = {
|
|
-- Colorscheme to use (i.e., set colorscheme <this>)
|
|
theme = "base16-eighties",
|
|
-- If configured, this will apply styling to whitespace so
|
|
-- it is visible in the editor
|
|
-- If set to true, default styling will be applied.
|
|
-- If set to a string, the specified colour will be used as the
|
|
-- highlight for whitespace (e.g., `gray30`)
|
|
show_whitespace = true
|
|
},
|
|
-- Override settings for gui mode
|
|
gui = {
|
|
-- Set the font family and size to use
|
|
font = { family = 'Source Code Variable', size = 10 },
|
|
theme = 'base16-eighties',
|
|
show_whitespace = true
|
|
},
|
|
},
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- PROGRAMMING --
|
|
--------------------------------------------------------------------------------
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- OTHER --
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
------------------------------------------------------------
|
|
-- Syntax
|
|
--
|
|
-- More comprehensive and up-to-date syntax highlighting rules
|
|
--
|
|
-- This is basically just a plugin, but it requires a specific
|
|
-- global variable to be set earlier than the plugin system
|
|
-- allows (i.e., before the plugin itself is loaded) so it's
|
|
-- a module.
|
|
--
|
|
-- There are no options to configure.
|
|
--
|
|
syntax = {
|
|
order = 50,
|
|
},
|
|
|
|
-----------------------------------------------------------
|
|
phpunit = {
|
|
order = 60,
|
|
},
|
|
|
|
lsp = {
|
|
order = 70,
|
|
providers = {
|
|
intelephense = {
|
|
command = { 'intelephense', '--stdio' },
|
|
filetypes = { 'php' }
|
|
}
|
|
}
|
|
},
|
|
|
|
start = {
|
|
order = 80,
|
|
},
|
|
|
|
}
|
|
|