You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: enhance README with configuration and setup examples
- Add setup() configuration section with default options
- Document palette_overrides and highlight_overrides features
- Update installation with lazy.nvim best practices
- Add LazyVim integration example
- Standardize terminology from "variants" to "styles"
- Add links to desert.vim and melange inspirations
A modular desert-themed colorscheme for Neovim with warm, earthy tones and multiple palette variants (12 Total Themes). Originally inspired by the classic `desert` theme for vim, also uses the cool/warm philosophy from `melange` (i.e., `warm colors = action/flow` and `cool colors = structure/data`).
3
+
A modular desert-themed colorscheme for Neovim with warm, earthy tones and multiple palette styles (12 Total Themes). Originally inspired by the classic [desert theme for vim](https://github.com/fugalh/desert.vim), also uses the [cool/warm philosophy from melange](https://github.com/savq/melange-nvim?tab=readme-ov-file#design) (i.e., `warm colors = action/flow` and `cool colors = structure/data`).
4
4
5
5
> [!NOTE]
6
6
> Use TMUX? There is a companion TMUX plugin for this **Oasis** theme suite: [tmux-oasis](https://github.com/uhs-robert/tmux-oasis)
7
7
8
8
## ✨ Features
9
9
10
-
-**12 theme variants**: Covers the entire rainbow of options with an emphasis on being dark. Variants are all desert-inspired.
10
+
-**12 theme styles**: Covers the entire rainbow of options with an emphasis on being dark. Styles are all desert-inspired.
11
11
-**Comprehensive highlighting** - LSP, Tree-sitter, and plugin support
12
12
-**Fast loading** - Direct highlight application for optimal performance
13
13
-**Zero dependencies** - Works out of the box without external plugins
14
14
-**Modular architecture** - Easy to customize and extend
15
15
16
16
<details>
17
-
<summary>🎨 Supported Plugins</summary>
17
+
<summary>💪 Supported Plugins</summary>
18
18
19
19
<!-- plugins:start -->
20
20
@@ -43,12 +43,12 @@ A modular desert-themed colorscheme for Neovim with warm, earthy tones and multi
43
43
44
44
## 🌅 Overview
45
45
46
-
Choose from 12 distinct desert-inspired variants, each with its own personality and color palette:
46
+
Choose from 12 distinct desert-inspired styles, each with its own personality and color palette:
47
47
48
48
> [!TIP]
49
49
> Click one below to see a larger image along with code syntax preview
50
50
>
51
-
> **[Vote for your favorite variant →](https://github.com/uhs-robert/oasis.nvim/discussions/2)**
51
+
> **[Vote for your favorite style →](https://github.com/uhs-robert/oasis.nvim/discussions/2)**
52
52
53
53
<table>
54
54
<tr>
@@ -107,7 +107,7 @@ Choose from 12 distinct desert-inspired variants, each with its own personality
107
107
</tr>
108
108
</table>
109
109
110
-
**[↓ 👀 View all variants expanded with code syntax](#view-all-theme-variants)**
110
+
**[↓ 👀 View all styles expanded with code syntax](#view-all-theme-styles)**
111
111
112
112
## 📦 Installation
113
113
@@ -117,23 +117,100 @@ Install the theme with your preferred package manager, such as
117
117
```lua
118
118
{
119
119
"uhs-robert/oasis.nvim",
120
+
lazy=false,
121
+
priority=1000,
120
122
config=function()
121
-
vim.cmd.colorscheme("oasis") -- or use a variant like ("oasis_desert")
123
+
require('oasis').setup({
124
+
style="lagoon", -- Optional: Choose any style like `lagoon` or 'dune'.
125
+
})
122
126
end
123
127
}
124
128
```
125
129
130
+
## ⚙️ Configuration
131
+
132
+
The theme offers 12 different styles to choose from: `night`, `abyss`, `starlight`, `desert`, `sol`, `canyon`, `dune`, `cactus`, `mirage`, `lagoon`, `twilight`, and `rose`.
133
+
134
+
Oasis works out of the box, but you can customize it using `setup()`.
135
+
136
+
<details>
137
+
<summary>🍦 Default Options</summary>
138
+
139
+
<!-- config:start -->
140
+
141
+
```lua
142
+
require('oasis').setup({
143
+
style="lagoon", -- Choose your style (e.g., "lagoon", "desert", "dune", etc:)
144
+
useLegacyComments=false, -- Uses the legacy comment color in the `desert` style only (a bright sky blue)
145
+
palette_overrides= {}, -- Override colors in specific palettes
146
+
highlight_overrides= {}, -- Override specific highlight groups
147
+
})
148
+
```
149
+
150
+
<!-- config:end -->
151
+
152
+
</details>
153
+
154
+
## 🪓 Overriding Colors & Highlight Groups
155
+
156
+
**`palette_overrides`** - Customize colors in specific palettes. See [Color Palettes](lua/oasis/color_palettes) for palette structure:
157
+
158
+
<details>
159
+
<summary>🎨 Changing Palette Colors for Each Style</summary>
160
+
161
+
```lua
162
+
require('oasis').setup({
163
+
palette_overrides= {
164
+
oasis_lagoon= {
165
+
syntax= { func="#E06C75", comment="#5C6370" },
166
+
ui= { border="#61AFEF" }
167
+
}
168
+
}
169
+
})
170
+
```
171
+
172
+
</details>
173
+
174
+
**`highlight_overrides`** - Override specific highlight groups (takes precedence over theme) or add new ones. See [Theme Generator](lua/oasis/theme_generator.lua) for highlight groups used:
175
+
176
+
<details>
177
+
<summary>💅 Changing Colors for Highlight Groups</summary>
178
+
179
+
```lua
180
+
require('oasis').setup({
181
+
highlight_overrides= {
182
+
Comment= { fg="#5C6370", italic=true },
183
+
Function= { fg="#E06C75", bold=true },
184
+
Identifier="Function" -- Link to another group
185
+
}
186
+
})
187
+
```
188
+
189
+
</details>
190
+
126
191
## 🚀 Usage
127
192
193
+
### ⭐ Recommended: Use `setup()` to launch nvim with your desired style
194
+
195
+
```lua
196
+
-- Use default style (lagoon)
197
+
require('oasis').setup()
198
+
199
+
-- Or specify a style
200
+
require('oasis').setup({ style="desert" })
201
+
```
202
+
203
+
### Alternative: Use `colorscheme` command to swap on the fly
204
+
128
205
```lua
129
-
--Use default theme (lagoon variant)
130
-
vim.cmd.colorscheme("oasis")
206
+
vim.cmd.colorscheme("oasis") -- default (lagoon)
207
+
vim.cmd.colorscheme("oasis-desert") -- specific style
131
208
```
132
209
133
210
```vim
134
211
colorscheme oasis
135
212
136
-
" You may also use different variants
213
+
" You may also use different styles, this method must be prefixed with `oasis-`
137
214
colorscheme oasis-abyss
138
215
colorscheme oasis-cactus
139
216
colorscheme oasis-canyon
@@ -151,27 +228,40 @@ colorscheme oasis-twilight
151
228
Some plugins need extra configuration to work with **Oasis**.
152
229
153
230
<details>
154
-
<summary>Click here for more details</summary>
231
+
<summary>🌵 Click here for more details</summary>
232
+
233
+
### LazyVim
234
+
235
+
To override the tokyonight default and start fresh in the oasis:
236
+
237
+
```lua
238
+
{
239
+
"LazyVim/LazyVim",
240
+
opts= {
241
+
colorscheme="oasis",
242
+
},
243
+
},
244
+
```
155
245
156
246
### Lualine
157
247
158
-
Oasis includes automatic Lualine theme integration that matches your current palette:
248
+
To include automatic Lualine theme integration:
159
249
160
250
```lua
161
251
require('lualine').setup {
162
252
options= {
163
-
theme='oasis' -- Automatically matches your current Oasis palette
253
+
theme='oasis' -- Automatically matches your current Oasis style
164
254
}
165
255
}
166
256
```
167
257
168
258
### Tabby (Tab Bar)
169
259
170
-
For enhanced tab bar styling that matches your Oasis theme:
260
+
To include tab bar theme integration:
171
261
172
262
```lua
173
263
require('tabby').setup({
174
-
theme='oasis' --Uses current Oasis palette for tab styling
264
+
theme='oasis' --Automatically matches your current Oasis style
175
265
})
176
266
```
177
267
@@ -187,22 +277,22 @@ There are also companion plugins for other applications:
0 commit comments