refactor(config): default icons to ascii (#55)

* refactor(config): default icons to ascii

Problem: default icons used unicode characters (○, ✓, ●, ▸, ·, ↺)
which render poorly in some terminals and font configurations.

Solution: replace defaults with ascii equivalents (-, x, !, >, ., ~).
Users can still override to unicode or nerd font icons via config.

* ci: ignore library type checking
This commit is contained in:
Barrett Ruth 2026-03-04 17:49:30 -05:00 committed by GitHub
parent 627100eb8c
commit 7718ebed42
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 28 additions and 36 deletions

View file

@ -2,6 +2,7 @@
"runtime.version": "LuaJIT",
"runtime.path": ["lua/?.lua", "lua/?/init.lua"],
"diagnostics.globals": ["vim", "jit"],
"diagnostics.libraryFiles": "Disable",
"workspace.library": [
"$VIMRUNTIME/lua",
"${3rd}/luv/library",

View file

@ -26,18 +26,18 @@ luarocks install pending.nvim
## Icons
pending.nvim renders task status and metadata using configurable icon characters. The defaults use plain unicode (no nerd font required):
pending.nvim renders task status and metadata using configurable icon characters. The defaults are ASCII-only (no unicode or nerd font required):
```lua
vim.g.pending = {
icons = {
pending = '○', done = '✓', priority = '●',
header = '▸', due = '·', recur = '↺', category = '#',
pending = '-', done = 'x', priority = '!',
header = '>', due = '.', recur = '~', category = '#',
},
}
```
See `:help pending.Icons` for nerd font examples.
See `:help pending.Icons` for unicode and nerd font examples.
## Acknowledgements

View file

@ -664,12 +664,12 @@ Fields: ~
{icons} (table) *pending.Icons*
Icon characters displayed in the buffer. Fields:
{pending} Uncompleted task icon. Default: ''
{done} Completed task icon. Default: ''
{priority} Priority task icon. Default: ''
{header} Category header prefix. Default: ''
{due} Due date prefix. Default: '·'
{recur} Recurrence prefix. Default: ''
{pending} Uncompleted task icon. Default: '-'
{done} Completed task icon. Default: 'x'
{priority} Priority task icon. Default: '!'
{header} Category header prefix. Default: '>'
{due} Due date prefix. Default: '.'
{recur} Recurrence prefix. Default: '~'
{category} Category label prefix. Default: '#'
==============================================================================

View file

@ -82,12 +82,12 @@ local defaults = {
},
sync = {},
icons = {
pending = '',
done = '',
priority = '',
header = '',
due = '·',
recur = '',
pending = '-',
done = 'x',
priority = '!',
header = '>',
due = '.',
recur = '~',
category = '#',
},
}

View file

@ -4,15 +4,6 @@ vim.fn.mkdir(tmpdir, 'p')
vim.g.pending = {
data_path = tmpdir .. '/tasks.json',
icons = {
pending = '',
done = '',
priority = '',
header = '',
due = '·',
recur = '',
category = '#',
},
}
local store = require('pending.store')

View file

@ -15,23 +15,23 @@ describe('icons', function()
it('has default icon values', function()
local icons = config.get().icons
assert.equals('', icons.pending)
assert.equals('', icons.done)
assert.equals('', icons.priority)
assert.equals('', icons.header)
assert.equals('·', icons.due)
assert.equals('', icons.recur)
assert.equals('-', icons.pending)
assert.equals('x', icons.done)
assert.equals('!', icons.priority)
assert.equals('>', icons.header)
assert.equals('.', icons.due)
assert.equals('~', icons.recur)
assert.equals('#', icons.category)
end)
it('allows overriding individual icons', function()
vim.g.pending = { icons = { pending = '-', done = 'x' } }
vim.g.pending = { icons = { pending = '', done = '' } }
config.reset()
local icons = config.get().icons
assert.equals('-', icons.pending)
assert.equals('x', icons.done)
assert.equals('', icons.priority)
assert.equals('', icons.header)
assert.equals('', icons.pending)
assert.equals('', icons.done)
assert.equals('!', icons.priority)
assert.equals('>', icons.header)
end)
it('allows overriding all icons', function()