%bcond_without tests # Enable LTO. Profit ~8% %global optflags %{optflags} -flto %global build_ldflags %{build_ldflags} -flto Name: kakoune Version: 2020.09.01 Release: 2.20210409002547728559.master.423.gdbd301d1%{?dist} Summary: Code editor heavily inspired by Vim License: Unlicense URL: https://kakoune.org/ Source0: kakoune-2020.09.01.tar.gz BuildRequires: asciidoc BuildRequires: gcc-c++ >= 7 BuildRequires: glibc-langpack-en BuildRequires: pkgconfig(ncurses) >= 5.3 %description - Modal editor - Faster as in fewer keystrokes  - Multiple selections - Orthogonal design Kakoune is a code editor that implements Vi’s "keystrokes as a text editing language" model. As it’s also a modal editor, it is somewhat similar to the Vim editor (after which Kakoune was originally inspired). Kakoune can operate in two modes, normal and insertion. In insertion mode, keys are directly inserted into the current buffer. In normal mode, keys are used to manipulate the current selection and to enter insertion mode. Kakoune has a strong focus on interactivity, most commands provide immediate and incremental results, while still being competitive (as in keystroke count) with Vim. Kakoune works on selections, which are oriented, inclusive ranges of characters. Selections have an anchor and a cursor. Most commands move both of them except when extending selections, where the anchor character stays fixed and the cursor moves around. %prep %autosetup -p1 -n kakoune-2020.09.01 # Use default Fedora build flags sed -i '/CXXFLAGS += -O3/d' src/Makefile # Install doc files in proper location sed -i 's|$(PREFIX)/share/doc/kak|$(PREFIX)/share/doc/%{name}|' src/Makefile %build %set_build_flags pushd src %make_build popd %install pushd src %make_install PREFIX=%{_prefix} popd %if %{with tests} %check %set_build_flags pushd src LANG=en_US.utf8 %make_build test popd %endif %files %license UNLICENSE %doc README.asciidoc CONTRIBUTING VIMTOKAK %{_bindir}/kak %{_datadir}/kak/ %{_mandir}/man1/* %{_libexecdir}/kak/ %changelog * Fri Apr 09 2021 Packit Service - 2020.09.01-2.20210409002547728559.master.423.gdbd301d1 - Add support for automatic downstream releases (Jiri Konecny) - Add new libexec dir to packit SPEC file (Jiri Konecny) - Add packit configuration file with COPR builds support (Jiri Konecny) - Add copy of a spec file to be able to adjust spec file as needed (Jiri Konecny) - Add fetch of the remote (Jiri Konecny) - We want also tags pushed (Jiri Konecny) - Fix update_fork GH action (Jiri Konecny) - Fix GH action name (Jiri Konecny) - Create GH action to update fork (Jiri Konecny) - Fix invalid insertion of ; after } closing some functions (Maxime Coste) - d.kak: highlight nested block comments recursively (Cormac Stephenson) - c7s Copyright Waiver (Cormac Stephenson) - rc markdown: Fix code fence regex (SeerLite) - rc markdown: Fix trailing whitespace removal (SeerLite) - rc markdown: Add -insert hook (SeerLite) - Johann Dreo Copyright Waiver (nojhan) - fix show-whitespace: add missing NNBSP character (nojhan) - Slight cleanup of the c-family highlighters (Maxime Coste) - Parse more data at each fifo buffer read (Maxime Coste) - Profile individual command runtime (Maxime Coste) - Tweak completion quoting behaviour once again (Maxime Coste) - Improves Lua auto indent and end insertion (cipharius) - Rename separator-cursor to cursor-separator (hss) - Don't use optionals for storing active separator string (hss) - Permit usage on wayland environments. (Reed Wade) - Stacy Harper Copyright Waiver (Stacy Harper) - rc markdown: Fix HTML highlighting in inline code (Lennard Hofmann) - Only use separator-cursor for the first line number in a wrapped line (hss) - Compare column_length of line-number separators (hss) - Use optionals more wisely in line-numbers (hss) - line-number: Add option to use a different separator on the current line (hss) - js: Highlight special variables at start of file (SeerLite) - Edit high-level design doc for ease of reading (Kevin Conner) - Edit Vim to Kakoune guide for ease of reading (Kevin Conner) - cirrus-ci: Update FreeBSD release (Tim Allen) - Kevin Conner Copyright Waiver (Kevin Conner) - Fix typo in file.cc (Maxime Coste) - Do not use replace write method when writing to a non-regular file (Maxime Coste) - make kitty repl command consistent with other kitty commands (basbebe) - use kitty launch command, make commands consistent (basbebe) - Bastian Beuttel Copyright Waiver (basbebe) - Always redraw after getting some user input (Maxime Coste) - Do not select on non-urgent fd when handling only urgent events (Maxime Coste) - Use inplace_merge() for ranges (Jason Felice) - Binary search for first range to change (Jason Felice) - Hristo Staykov Copyright Waiver (hss) - rc swift: highlight multiline strings (hss) - Support rust visibility for enum and others (Ivan Tham) - Support dedent with rust fn qualifiers (Ivan Tham) - Refactor pipe reader/writer (Maxime Coste) - Raise ThreadedVM initial thread capacity to 16 (Maxime Coste) - Re-use the Regex VM when completing filenames to reduce allocations (Maxime Coste) - Re-tweak command name completion behaviour (Maxime Coste) - add fennel filetype (Andrey Listopadov) - Match on kitty window id when available (Maxime Coste) - Fix usages of ModeChange hook (Isa Cichon) - Isa Cichon Copyright Waiver (Isa Cichon) - Add comment highlighter for troff files. (Michał Kruszewski) - Add test for selecting horizontal whitespace (Jacob Collins) - Follow ECMA specification for regex whitespace (Jacob Collins) - Jacob Collins Copyright Waiver (Jacob Collins) - Tweak requoting behaviour (Maxime Coste) - rc julia: add multiline comments (Bob Peterson) - Bob Peterson Copyright Waiver (Bob Peterson) - Calum Irwin Copyright Waiver (Calum) - use lisp comments for scheme (Calum) - Dedent rust await function with ? (Ivan Tham) - Dedent rust empty match (Ivan Tham) - Fix splitting display line in front of a replaced range (Maxime Coste) - Add + key to duplicate selections and to merge overlapping ones (Maxime Coste) - Fix CSI u support for escape key (Maxime Coste) - rc java: highlight byte/short/long primitive types (Johannes Altmanninger) - rc yaml: "#" inside a word is not a comment (Johannes Altmanninger) - rc restructuredtext: don't highlight first character of next line as code (Johannes Altmanninger) - rc repl x11: do not send new line (Matthew Forrester) - Fix editorconfig incorrectly matching properties with prefixes (Samadi van Koten) - readme: Add MacPorts installation instructions (Herby Gillot) - Fix resizing strings to -1 length (Maxime Coste) - Check XDG_RUNTIME_DIR owner before creating session directory (Maxime Coste) - Fix man for systems lacking the col command (Maxime Coste) - Write to stderr if execve fails (Maxime Coste) - Support a DEBUGGER env-var to run tests (Maxime Coste) - Fix performance issue in show-matching highlighter on big buffers (Maxime Coste) - Slight code cleanup in generate_env (Maxime Coste) - Support KITTY_LISTEN_ON on kitty-terminal-tab and kitty-focus (Hideaki Kawai) - Update rc/windowing/kitty.kak (Hideaki Kawai) - Add comment symbols for r filetypes, remove rmd for now (Mathieu Laparie) - Add R and Rmd options for comment.kak (Mathieu Laparie) - Respect KITTY_LISTEN_ON when launching terminal (Hideaki Kawai) - rc markdown: Highlight HTML tags (Lennard Hofmann) - rc spell: Remove `:spell-replace` default value (Frank LENORMAND) - zig.kak: fix highlighting of empty doc comment (Isaac Freund) - rc repl x11: allow arg for repl send & refocus kak (Matthew Forrester) - Matt Forrester Copyright Waiver (Matthew Forrester) - Distinguish and Backspace on terminals where that is possible. (Tim Allen) - chore(rc): support nested field strings in graphql (Gianni Chiappetta) - chore(rc): change graphql block delimiters to support better regexs (Gianni Chiappetta) - feat(rc): improve graphql field arguments highlighter (Gianni Chiappetta) - feat(rc): match `.graphqls` file extension as graphql filetype (Gianni Chiappetta) - feat(rc): improve graphql syntax highlighters (Gianni Chiappetta) - Gianni Chiappetta Copyright Waiver (Gianni Chiappetta) - meson: improve highlighting, add static words (Isaac Freund) - editorconfig: fix trim_trailing_whitespace (jhalmen) - rc js: Correctly highlight multiline division. (SeerLite) - doc: Document the -menu switch for define-command. (Tim Allen) - doc: Sort define-command's switches to match its docstring. (Tim Allen) - Adjust markdown code fences filetype regex (Gregory Chamberlain) - rc markdown: Prevent underscores in URLs cause italic highlighting (Lennard Hofmann) - Add a changelog entry for shell expansion trailing newline change (Maxime Coste) - command_manager: only remove last eol in %sh{} expansions (Cole Helbling) - Add missing limits includes (Maxime Coste) - Add new libexec directory to SPEC file packaging (Jiri Konecny) - Fix message typo (Jim Tittsler) - Jim Tittsler Copyright Waiver (Jim Tittsler) - Update tmux.kak (Hao Deng) - Update TRAMPOLINE (C.D. MacEachern) - Add Pascal/Delphi language support (Lennard Hofmann) - Fix typos in changelog (Dan Rosén) - tmux-focus: Add support for focusing a client on another window. (harryoooooooooo) - Hsin-chen Chuang Copyright Waiver (harryoooooooooo) - Fix typo: requiered -> required (Cycatz) - Fan Chung Copyright Waiver (Cycatz) - Avoid non-POSIX ln -r switch (Maxime Coste) - commands: add "registers" subcommand to :debug (Cole Helbling) - file.kak: Acknowledge mime type application/x-shellscript (codesoap) - Fix typos (Todd Yamakawa) - Todd Yamakawa Copyright Waiver (Todd Yamakawa) - Cole Helbling Copyright Waiver (Cole Helbling) - remove unused variable changes_tracker (Jean Abed) - Add Timer::disable() to be more explicit than set_next_date(TimePoint::max()) (Maxime Coste) - Use stderr/fail to return errors in modeline.kak (Maxime Coste) - feat(comment.kak): add OCaml and Coq cases (antab) - TRAMPOLINE: fix typo (Arjun P) - rc doc: Hide private commands (Frank LENORMAND) - Rust test rename deindent to dedent (Ivan Tham) - Rust dedent after .await (Ivan Tham) - Rust handle [ indent like { and ( (Ivan Tham) - Fix source tree libexec/kak/kak symlink location (Maxime Coste) - Add a libexec/ directory and use it to find the kak command (Maxime Coste) - Throw no_selections_remaining when using (Olivier Perret) - Avoid potential use after free of the mode name (Maxime Coste) - Ensure InputModes are kept alive during their idle logic (Maxime Coste) - rc: Consistently use a dot as template separator (Frank LENORMAND) - rc lint: Avoid stray processes and temporary directory (Frank LENORMAND) - zig: highlight escapes in strings, update to 0.7.0 (Isaac Freund) - Python: change face for documentation to documentation. (Michał Kruszewski) - Fix test and re-add triple_string support in python highlighting (Maxime Coste) - test: Update the README to describe the current test API. (Tim Allen) - Ignore indent when completing lines (Andrew Vos) - Python: Highlight docstrings with documentation face, not string. (Michał Kruszewski) - Avoid recognizing remainder division as a percent string (connor) - Connor McKay Copyright Waiver (connor) - Restore auto-select on return, add a flag to disable that for commands (Maxime Coste) - Andrew Vos Copyright Waiver (Andrew Vos) - doc commands: Align mis-indented command flags (Frank LENORMAND) - rc kakrc: Add the `rename-buffer` keyword (Frank LENORMAND) - doc commands: Fix spelling mistake (Frank LENORMAND) - rc kakrc: Add the `arrange-buffers` keyword (Frank LENORMAND) - rc kakrc: Sort the keywords (Frank LENORMAND) - Revert "Auto-insert prompt menu completions on if any text was entered" (Maxime Coste) - sh.kak: Highlight special parameters, e.g. $@, in double quotes (Lennard Hofmann) - sh.kak: Do not treat bitwise operator << as here-document start (Lennard Hofmann) - Improve svelte highlighter (Jan-Jaap Korpershoek) - rc: add graphql filetype (Jason Felice) - Add installation command for Gentoo. (Claes) - Cedric Sodhi Copyright Waiver (Cedric Sodhi) - rc markdown: Fix bullet highlighting (Frank LENORMAND) - Don't use hook_param_capture_1 (Jan-Jaap Korpershoek) - refactor(ninjafile): simplify ninja.kak and fix few things (antab) - rc perl.kak: highlight substitution with empty replacement, like `s{foo}{}` (Johannes Altmanninger) - rc perl.kak: highlight multiple regex modifiers (Johannes Altmanninger) - Fix regex error in perl highlighting (Maxime Coste) - Fix performance issue with word completion (Maxime Coste) - Fix performance issue when pasting many selection (Maxime Coste) - [-] spell.kak: undocumented aspell buggy-behavior avoided. (Patsakula Nikita) - Nikita Patsakula Copyright Waiver (Patsakula Nikita) - c-family: allow specifying absolute alt directory paths (Olivier Perret) - Check for division before we check for regexes (Carson Riker) - VHDL filetype: fix auto inserting when indentation is mixed. (Michał Kruszewski) - Handle reading from stdin returning 0 (Maxime Coste) - doc.kak: Render links and other elements with a single ranges highlighter (Maxime Coste) - Highlight ~/.profile too (Ivan Tham) - Update Tupfile to get it building (Ivan Tham) - Auto-insert prompt menu completions on if any text was entered (Maxime Coste) - Add very basic svelte support (Jan-Jaap Korpershoek) - src/ncurses_ui.cc: Teach Kakoune about ctrl-symbol keys. (Tim Allen) - if the $WINDOWID is not set, use xdotool to get the window id (Tilman List) - simplify x11-repl by using x11-terminal (Tilman List) - fix comment highlighting (tgirod) - doc options: Clarify how to empty lists/maps (SeerLite) - changed scope of `tmux_repl_id` from `global` to `current` (Tilman List) - listentolist Copyright Waiver (Tilman List) - changed the way the x11 REPL interaction works (Tilman List) - Disabled backtick escaping (Cedric Sodhi) - Replace `write -atomic` with `write -method ` (Maxime Coste) - rc markdown: Highlight inline code blocks properly (Frank LENORMAND) - rc kakrc: Highlight numbers (Frank LENORMAND) - rc kakrc: Highlight `str-to-str-map` types (Frank LENORMAND) - remove extra double quotes in expansion documentation (YI) - rc git: indented # is not a comment in commit message (Johannes Altmanninger) - Support explicit register for :, |, ! and $ commands (Maxime Coste) - Disable auto-insertion of menu completion when no text was entered (Maxime Coste) - Notify prompt completion changes in startup message (Maxime Coste) - rc fish.kak: split fish-insert hook out from fish-indent (Johannes Altmanninger) - Fix overzealous closing of ruby heredocs (Johannes Altmanninger) - rc perl: quoted heredocs can be empty (Johannes Altmanninger) - rc nix: dash in extra_word_chars (Jason Felice) - Fix wcwidth() compile error with MSYS2 (Nicolas Ouellet-payeur) - Auto-insert best completion on space for menu completions (Maxime Coste) - Allow quiting last client with unsaved buffer in daemon mode (Maxime Coste) - Remove the rename-client's nc alias (Maxime Coste) - Add support for explicit completion in prompt mode (Maxime Coste) - gopls.kak: use nop for removing temp dir (voroskoi) - gopls: Fix format/imports error reporting (VÖRÖSKŐI András) - Add support for VHDL filetype. (Michał Kruszewski) - Fix function highlighting by adding lazy instead of greedy regexp quantifier (John Isom) - rc nix: handle dashes embedded in identifiers (Jason Felice) - Fix rust highlighting after regions highlighter behaviour change (Maxime Coste) - Code cleanup in insert completer (Maxime Coste) - Fix region regexes incorrectly matching ^$ at end of line (Maxime Coste) - markdown.kak: Support pandoc's raw_attribute (SeerLite) - Fixed ending of region, as per @krobelus (Carson Riker) - Added highlighted for curly-brace based sregexes (Carson Riker) - Carson Riker Copyright Waiver (Carson Riker) - Rust always indent after { (Ivan Tham) - doc: mention comma key for entering user-mode (Delapouite) - Add missing rust indent after function { (Ivan Tham) - lua.kak: Correct -trim-indent hook and fix indent (SeerLite) - SeerLite Copyright Waiver (SeerLite) - Yaml indent after - (Ivan Tham) - Rust not to indent on hash (Ivan Tham) - Rust indent keyword check boundary (Ivan Tham) - Rust reindent where to match block (Ivan Tham) - Add rust test for empty line indent (Ivan Tham) - Rust improve align after partial statement (Ivan Tham) - Rust align open paren for if and for (Ivan Tham) - Improve shell indentation implementation. (Simon Fowler) - fix: improve regex for build region (antab) - Ensure that the capture group actually matched in select_matches (Maxime Coste) - just: highlight function expressions (David Arnold) - spell.kak: Replace "kak -f" with "sed" for efficiency. (Tim Allen) - fix: add subninja and include to static_words (antab) - fix(ninja filetype): add subninja and include declarations and fix builddir highlights (antab) - spell.kak: Present spelling suggestions with :prompt (Tim Allen) - doc: Document the form of next-key sub-modes in the ModeChange hook. (Tim Allen) - Improve '}' auto inserting for go language. (Michał Kruszewski) - *sh.kak: do not highlight expansions if their $ is escaped (Johannes Altmanninger) - Highlight more Perl quoting syntaxes (Johannes Altmanninger) - rc modeline: Print the final command directly (Frank LENORMAND) - rc modeline: Factorise the use of `kakquote` (Frank LENORMAND) - rc modeline: Error out on unsupported formats (Frank LENORMAND) - rc modeline: Use more idiomatic shell (Frank LENORMAND) - Add illumos/Solaris support (luka null) - rc modeline: Print error messages correctly (Frank LENORMAND) - test: Implement a regression test for #3735 (Frank LENORMAND) - rc modeline: Prevent command execution (Frank LENORMAND) - gopls: fixes based on krobelus@ review (VÖRÖSKŐI András) - fix: variables adjacent to `=` and in build declaration (antab) - test: Implement a regression test for #3733 (Frank LENORMAND) - rc modeline: Don't select more lines than configured (Frank LENORMAND) - feat: add basic ninjafile support (antab) - just: re-implment bash/sh interpreter (David Arnold) - just-highlighter: pre call out to shebang regions (David Arnold) - fix justfile highlighter (David Arnold) - tototest99 Copyright Waiver (antab) - Fix python docstring highlighter (Piotr Chrominski) - Piotr Chrominski Copyright Waiver (Piotr Chrominski) - rc/go-tools.kak: remove (VÖRÖSKŐI András) - rc gopls.kak: initial import (VÖRÖSKŐI András) - Fix grammar in manual entry (samueldple) - VÖRÖSKŐI András Copyright Waiver (VÖRÖSKŐI András) - Add :alt command for go files (V) - samueldple Copyright Waiver (samueldple) - Add support for removing from options (Maxime Coste) - Update commands.asciidoc (Qi Xiao) - Provide better support for Go language. (Michał Kruszewski) - V Copyright Waiver (V) - Michał Kruszewski Copyright Waiver (Michał Kruszewski) - Apply suggestions from code review (Maxime Coste) - Improve latex support. (Michał Kruszewski) - Reference content goes in docstrings, explanations go in prose docs. (Tim Allen) - Create purescript filetype (Hideaki Kawai) - Hideaki Kawai Copyright Waiver (Hideaki Kawai) - Update plugin docs to not duplicate docstring information. (Tim Allen) - Add more user-oriented documentation for the documentation system. (Tim Allen) - Address code-review comments (Tim Allen) - rc: Add some documentation for existing plugins.. (Tim Allen) - doc.kak: Also search through plugins (stdlib and per-user) for docs. (Tim Allen) - Update spec file to newer version (Jiri Konecny) - rc clang grep: Make docstrings more readable (Frank LENORMAND) - Clear unwanted environment variable (Johannes Altmanninger) - python.kak: Do not indent after comments ending in : (Johannes Altmanninger) - rc repl: Normalise REPL commands (Frank LENORMAND) - Mercury-lang filetype support (Ludvig Böklin) - Ludvig Böklin Copyright Waiver (Ludvig Böklin) * Fri Jan 1 2021 Jiri Konecny - 2020.09.01-2 - Add new libexec dir dependency * Wed Sep 2 2020 Jiri Konecny - 2020.09.01-1 - Update to 2020.09.01 * Tue Aug 4 2020 Jiri Konecny - 2020.08.04-1 - Update to 2020.08.04 * Thu Jan 16 2020 Artem Polishchuk - 2020.01.16-1 - Update to 2020.01.16 * Tue Dec 10 2019 Artem Polishchuk - 2019.12.10-1 - Update to 2019.12.10 * Tue Nov 26 2019 Artem Polishchuk - 2019.07.01-4 - Add patch to pass tests with default Fedora build flags * Fri Nov 22 2019 Artem Polishchuk - 2019.07.01-2 - Packaging fixes * Wed Apr 24 2019 Jiri Konecny - v2019.01.20-1 - Add a new build dependency (glibc-langpack-en) required for Fedora 30 and later - Update version * Fri Oct 12 2018 Jiri Konecny - v2018.09.04-1 - Update spec file to a new release * Sat May 5 2018 Łukasz Jendrysik - v2018.04.13 - Use tagged release * Wed May 11 2016 jkonecny - 0-208.20160511git84f62e6f - Add LANG=en_US.UTF-8 to fix tests - Update to git: 84f62e6f * Thu Feb 11 2016 jkonecny - 0-158.20160210git050484eb - Add new build requires asciidoc - Use new man pages * Sat Mar 28 2015 jkonecny - 0-5.20150328gitd1b81c8f - Automated git update by dgroc script new hash: d1b81c8f * Tue Mar 24 2015 Jiri Konecny 0-1.7eaa697git - Add tests * Tue Mar 17 2015 Jiri Konecny 0-1.12a732dgit - Create first rpm for kakoune