summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2018-07-13Fix description of ui_optionsMaxim Baz
2018-07-10The info command only takes one content string, not one-or-more.Tim Allen
2018-07-09Add BufReload hook which is triggered on buffer reloadChristopher Fredén
2018-07-08Rename highlighters that used an underscore to use a dashMaxime Coste
For example `show_matching` is now `show-matching`.
2018-07-08Refactor WrapHighlighter::next_split_pos to avoid non-linear complexityMaxime Coste
Previous Implementation was constantly computing byte/column count from the begining of the line, leading to a non-linear complexity with respect to the length of a line. Fixes #2146
2018-07-08Use a memory mapped file for sourcingMaxime Coste
2018-07-08Tweak comment to make it less ambiguousMaxime Coste
2018-07-08Fix infinite loop on SIGHUP with the NCursesUIMaxime Coste
Fixes #2126
2018-07-05Fix asserts with -sync flag handling and slight code cleanupMaxime Coste
2018-07-05Change `a` on end of line behaviour to be consistentMaxime Coste
`a` will just jump on next line, `a` on last end of line opens a new line beneath it. Fixes #1164
2018-07-05Tweak how highlighter names are auto-generatedMaxime Coste
2018-07-05Make recurse regex opt-in with a -recurse switch instead of opt-outMaxime Coste
2018-07-05Fix add-highlighter docstringMaxime Coste
2018-07-05Fix bug in recursive region highlightingMaxime Coste
2018-07-05Fix region highlighters validation that the delegate type existsMaxime Coste
2018-07-05Parse unknown switches as positional for region highlightersMaxime Coste
2018-07-05Prevent adding region/default-region highlighters to non-regions parentsMaxime Coste
2018-07-05Allow removing region from regions highlighterMaxime Coste
2018-07-05Invalidate cache when RegionsHighlighter subregions are modifiedMaxime Coste
2018-07-05Auto-generate highlighter name if only path is givenMaxime Coste
2018-07-05Refactor RegionsHighlighters to define each region as a separate commandMaxime Coste
2018-07-05Add HashMap::items to access item listMaxime Coste
2018-07-05Fix ParameterParser::position_from with arbitrary indicesMaxime Coste
2018-07-05Refactor add-highlighter to make naming explicitMaxime Coste
The highlighter name must be given as part of the path of the highlighter, as the last element. Fixes #1712
2018-07-05Introduce a "double_up" function for doubling up escapingMaxime Coste
2018-07-05Fix auto escaping of command argument completionMaxime Coste
2018-07-05Improve highlighting of Kakrc string regionsMaxime Coste
Unfortunately Strings that start with a quoted quote (like '''str') are still incorrectly highlighted, a deeper refactoring of the regions highlighter will be necessary.
2018-07-05Refactor handling of startup info to make it configurableMaxime Coste
A new `status_info_version` option allows user to disable info message regarding changes that happened at that version or earlier.
2018-07-05Expand %reg{} inside double quotes only to the main selection valueMaxime Coste
2018-07-05Tolerate restoring invalid coordinates from registerMaxime Coste
Clamp those selection after updating them to the current timestamp Fixes #2078
2018-07-05Reference the big breaking refactoring in the startup messageMaxime Coste
2018-07-05Make register expansions expand to the full register contentMaxime Coste
Now that we have a nice standard way to express lists of strings, registers can be fully exposed. An new $kak_main_reg_... env var was added to provide the previous behaviour which is relied on by doc.kak.
2018-07-05Store each selection as a separate element in a registerMaxime Coste
It makes more sense to use the list nature of the register to store the selections instead of storing them as a single string separated by spaces.
2018-07-05Change set-register command to take a list of valuesMaxime Coste
Registers are lists of strings, so this make it possible to set the whole list instead of forcing registers to a single element when going through the set-register command.
2018-07-05Fix selection save/restore from registers post selection list syntax changeMaxime Coste
2018-07-05Add 'skip(size_t)' range utility to skip a number of elementsMaxime Coste
2018-07-05Change env vars that are lists to use the general list syntaxMaxime Coste
2018-07-05Make selection lists use the option list syntaxMaxime Coste
2018-07-05Change option lists to be specified as separate arguments on commands lineMaxime Coste
Option lists and maps are specified using separate arguments, avoiding the need for additional escaping of their separator and reusing the existing command line spliting logic instead. As discussed on #2087, this should make it much easier to work with list options, and make the general option system feel cleaner.
2018-07-05Make expansion of strings support quoting of % by doubling upMaxime Coste
2018-07-05Refactor command line parsingMaxime Coste
Command line parsing now works as follow: * Quoted strings ('...', "..." and %~...~ with '~' non nestable) use 'doubling-up' for escaping their delimiter, if the delimiter appears twice in a row, it is considered as part of the string and represent one delimiter character. So 'abc''def' == "abc'def". No other escaping takes place in those strings. * Balanced strings (%{...}) do not support any kind of escaping, but finds the matching closing delimiter by taking nesting into account. So %{abc{def}} == "abc{def}". * Non quoted words support escaping of `;` and whitespaces with `\`, `%`, `'` and '"` can be escaped with `\` at the start of the word, they do not need escaping (and will not be escaped) else where in a word where they are treated literally. Any other use of '\' is a literal '\'. So \%abc%\;\ def == "%abc%; def" As discussed in #2046 this should make our command line syntax more robust, provide a simple programmatic way to escape a string content (s/<delim>/<delim><delim>/g), be well defined instead of ad-hoc undocumented behaviour, and interact nicely with other common escaping by avoiding escaping hell (:grep <regex> can in most case be written with the regex unquoted).
2018-07-05Add -with-hooks to execute-keys and make -no-hooks evaluate-commands specificMaxime Coste
2018-07-05Make -with-maps only available for execute-keys commandMaxime Coste
It does not make a lot of sense to have this switch for evaluate-commands.
2018-07-05Do not save any registers by default in evaluate-commandsMaxime Coste
2018-07-05Do not reparse %sh{...} stringsMaxime Coste
Automatic reparsing of %sh{...}, while convenient in many cases, can be surprising as well, and can lead to security problems: 'echo %sh{ printf "foo\necho bar" }' runs 'echo foo', then 'echo bar'. we make this danger explicit, and we fix the 'nop %sh{...}' pattern. To reparse %sh{...} strings, they can be passed to evaluate-commands, which has been fixed to work in every cases where %sh{...} reparsing was used..
2018-07-04Merge remote-tracking branch 'lenormf/edit-readonly-flag'Maxime Coste
2018-07-04Merge remote-tracking branch 'lenormf/synchronized-write'Maxime Coste
2018-07-04src: Add a `-sync` flag to the write commandsFrank LENORMAND
2018-07-03src: Allow the `edit` command to create readonly buffersFrank LENORMAND
2018-07-02Mark unused variables with the [[gnu::unused]] attributedahlbaek