diff options
| author | Delapouite <delapouite@gmail.com> | 2017-10-02 18:45:11 +0200 |
|---|---|---|
| committer | Delapouite <delapouite@gmail.com> | 2017-10-02 18:45:11 +0200 |
| commit | 6bfc99bf08e3165c65ba6b2ad9e90dd708e27a36 (patch) | |
| tree | 308b594fc389e3d07124201bc61cf7eb775f8e28 /src | |
| parent | 2f251c9861dfdc4c07a60295b6cdfe093dbd7b59 (diff) | |
Add 'line' in completers option as a way to force explicit <c-x>f
Diffstat (limited to 'src')
| -rw-r--r-- | src/insert_completer.cc | 11 | ||||
| -rw-r--r-- | src/insert_completer.hh | 3 |
2 files changed, 13 insertions, 1 deletions
diff --git a/src/insert_completer.cc b/src/insert_completer.cc index 087dd00a..61670c5c 100644 --- a/src/insert_completer.cc +++ b/src/insert_completer.cc @@ -32,6 +32,8 @@ String option_to_string(const InsertCompleterDesc& opt) return "filename"; case InsertCompleterDesc::Option: return "option=" + (opt.param ? *opt.param : ""); + case InsertCompleterDesc::Line: + return "line"; } kak_assert(false); return ""; @@ -61,6 +63,12 @@ void option_from_string(StringView str, InsertCompleterDesc& opt) opt.param = Optional<String>{}; return; } + else if (str == "line") + { + opt.mode = InsertCompleterDesc::Line; + opt.param = Optional<String>{}; + return; + } throw runtime_error(format("invalid completer description: '{}'", str)); } @@ -467,6 +475,9 @@ bool InsertCompleter::setup_ifn() *completer.param == "all" and try_complete(complete_word<true>)) return true; + if (completer.mode == InsertCompleterDesc::Line and + try_complete(complete_line)) + return true; } return false; } diff --git a/src/insert_completer.hh b/src/insert_completer.hh index be65cc0b..ca04e3de 100644 --- a/src/insert_completer.hh +++ b/src/insert_completer.hh @@ -20,7 +20,8 @@ struct InsertCompleterDesc { Word, Option, - Filename + Filename, + Line }; bool operator==(const InsertCompleterDesc& other) const |
