Fix quoted/escaped file path handling in _hledger()
When reading hledger (rules-)file from COMP_WORDS we need to unescape it first. For once compgen is doing exactly what we need :)
This commit is contained in:
parent
72b737a42f
commit
d98ff3b93d
@ -281,6 +281,8 @@ _hledger() {
|
|||||||
else
|
else
|
||||||
hledgerFile=${COMP_WORDS[i+1]}
|
hledgerFile=${COMP_WORDS[i+1]}
|
||||||
fi
|
fi
|
||||||
|
# Pass it through compgen to unescape it
|
||||||
|
hledgerFile=$(compgen -W "$hledgerFile")
|
||||||
;;
|
;;
|
||||||
--rules-file)
|
--rules-file)
|
||||||
if [[ ${COMP_WORDS[i+1]} == '=' ]]; then
|
if [[ ${COMP_WORDS[i+1]} == '=' ]]; then
|
||||||
@ -288,6 +290,7 @@ _hledger() {
|
|||||||
else
|
else
|
||||||
hledgerRulesFile=${COMP_WORDS[i+1]}
|
hledgerRulesFile=${COMP_WORDS[i+1]}
|
||||||
fi
|
fi
|
||||||
|
hledgerRulesFile=$(compgen -W "$hledgerRulesFile")
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|||||||
@ -281,6 +281,8 @@ _hledger() {
|
|||||||
else
|
else
|
||||||
hledgerFile=${COMP_WORDS[i+1]}
|
hledgerFile=${COMP_WORDS[i+1]}
|
||||||
fi
|
fi
|
||||||
|
# Pass it through compgen to unescape it
|
||||||
|
hledgerFile=$(compgen -W "$hledgerFile")
|
||||||
;;
|
;;
|
||||||
--rules-file)
|
--rules-file)
|
||||||
if [[ ${COMP_WORDS[i+1]} == '=' ]]; then
|
if [[ ${COMP_WORDS[i+1]} == '=' ]]; then
|
||||||
@ -288,6 +290,7 @@ _hledger() {
|
|||||||
else
|
else
|
||||||
hledgerRulesFile=${COMP_WORDS[i+1]}
|
hledgerRulesFile=${COMP_WORDS[i+1]}
|
||||||
fi
|
fi
|
||||||
|
hledgerRulesFile=$(compgen -W "$hledgerRulesFile")
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user