Putting let g:ledger_is_hledger = v:true in a vimrc always makes g:ledger_is_hledger end up false. I made a truth/state table while debugging:
| g:ledger_bin value |
g:ledger_is_hledger in vimrc |
g:ledger_is_hledger editing file |
| 'hledger' |
unset |
1 |
| 'hledger' |
v:false |
0 |
| 'hledger' |
v:true |
0 (!) |
| 'ledger' |
unset |
0 |
| 'ledger' |
v:false |
0 |
| 'ledger' |
v:true |
0 (!) |
Relevant code block:
|
if exists('g:ledger_bin') && !exists('g:ledger_is_hledger') |
|
let g:ledger_is_hledger = g:ledger_bin =~# '.*hledger' |
|
else |
|
let g:ledger_is_hledger = 0 |
|
endif |
I believe the intended behavior works with this instead:
if !exists('g:ledger_is_hledger')
if exists('g:ledger_bin')
let g:ledger_is_hledger = g:ledger_bin =~# '.*hledger'
else
let g:ledger_is_hledger = 0
endif
endif
| g:ledger_bin value |
g:ledger_is_hledger in vimrc |
g:ledger_is_hledger editing file |
| 'hledger' |
unset |
1 |
| 'hledger' |
v:false |
0 |
| 'hledger' |
v:true |
1 |
| 'ledger' |
unset |
0 |
| 'ledger' |
v:false |
0 |
| 'ledger' |
v:true |
1 |
Putting
let g:ledger_is_hledger = v:truein a vimrc always makesg:ledger_is_hledgerend up false. I made a truth/state table while debugging:Relevant code block:
vim-ledger/autoload/ledger.vim
Lines 35 to 39 in 6d12e23
I believe the intended behavior works with this instead: