Skip to content

Setting g:ledger_is_hledger makes it false #175

@Lense

Description

@Lense

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions