Commit Graph

4771 Commits

Author SHA1 Message Date
Frank LENORMAND
8a4596bea9 Implement a readonly mode
This commit introduces the `readonly` variable as well as the `-ro`
command line option which prevent buffers from being overwritten on
disk when the `write` command is used without arguments. Some buffers
can selectively be put in readonly mode by setting the `readonly`
variable on the `buffer` scope, the `global` mode will affect all
buffers (even those who will be open subsequently), using the `window`
scope will have no effect.

Closes #685
2016-07-23 10:03:21 +03:00
Maxime Coste
a95937918d Merge remote-tracking branch 'lenormf/fix-autowrap' 2016-07-19 21:36:05 +01:00
Maxime Coste
bbab4001de Document ranges highlighters
They were not, as pointed out in #736
2016-07-19 10:20:42 +01:00
Kylie McClain
db4d188a42 rc/base/etc: Use a more efficient expression
I was hitting a stack size issue with the previous regular expression used
to match filesystem lines, so I decided to rewrite it. Admittedly I don't
know entirely if this has better performance, but it seems to work well
and additionally isn't too greedy with matching like the previous one.
2016-07-17 16:45:13 -04:00
Maxime Coste
3ddc6eccda Add sanity check 2016-07-15 20:26:58 +01:00
Maxime Coste
1401c55531 Faster implementation of utf8::advance not copying iterators at each step 2016-07-15 20:26:33 +01:00
Maxime Coste
73fdc726fb Avoid postfix increment in utf8::distance 2016-07-15 20:07:47 +01:00
Maxime Coste
4ecdbea5c4 Make buffer iterator iteration/dereference faster 2016-07-15 19:48:13 +01:00
Frank LENORMAND
78c6b7c03d Don't completely remove empty lines when fixing indents 2016-07-15 10:29:19 +03:00
Maxime Coste
b988871df6 Ensure selections are sorted and non overlapping in selections_list_from_string 2016-07-14 21:14:17 +01:00
Frank LENORMAND
843d03f2e7 Disable automatic paragraph formatting by default, work around the lack of string refill in fold 2016-07-14 17:32:56 +03:00
Frank LENORMAND
712c990592 Fix the selection patterns on corner cases 2016-07-14 17:21:35 +03:00
Frank LENORMAND
ba3c7bab06 Fix paragraph wrapping in the autowrap script 2016-07-14 16:40:08 +03:00
Maxime Coste
52d3b60aaa Clamp selection generated in selection_list_from_string
Fixes #733
2016-07-13 19:25:32 +01:00
Frank LENORMAND
4204f6dae6 Create an insert group, fix and improve the existing hooks 2016-07-12 17:23:55 +03:00
Maxime Coste
bbceae97a2 Fix uses of <c-m> in rc files, <ret> should be used now 2016-07-11 19:47:56 +01:00
Maxime Coste
e288d84408 Add a regression test for #704
Fixes #704
2016-07-11 19:46:50 +01:00
Maxime Coste
bb688cf42d Do not throw when recursive hook calls are detected
Running hooks is non critical, and should never `fail` as far as
caller is concerned.
2016-07-11 19:44:29 +01:00
Maxime Coste
530ecf212e Ensure buffer create/close hooks are run at appropriate times
They used to be ran before the buffer was added to the buffer list
we now run them afterwards.
2016-07-10 16:34:16 +01:00
Maxime Coste
6bcfc7268f Merge remote-tracking branch 'lenormf/fix-sh-operators' 2016-07-09 12:48:21 +01:00
Frank LENORMAND
3f71fb9640 Use POSIX fold instead of fmt 2016-07-08 18:02:39 +03:00
Frank LENORMAND
a605497553 Fix the autowrap script, use an external tool to wrap paragraphs 2016-07-08 13:50:47 +03:00
Frank LENORMAND
7419f8241a Fix operators highlighting in shell scripts 2016-07-08 13:13:08 +03:00
Maxime Coste
88a9607552 Keep modified selections in non-draft exec/eval -itersel
Fixes #727
2016-07-08 09:52:10 +01:00
Matteo Bertini
fa9169fe97 Fix typo: make_bash.bash -> make_deb.bash 2016-07-07 13:06:05 +02:00
Maxime Coste
439f168928 Use named keys for Return and Tab instead of <c-m> and <c-i>
Fixes #722
2016-07-05 20:08:13 +01:00
Maxime Coste
7f345db3cc Document that json rpc requests will be written new-line separated
Fixes #717
2016-07-04 19:49:14 +01:00
Maxime Coste
8270f9299f Improve robustness of json parsing and execution
Fixes #720
2016-07-04 19:31:09 +01:00
Maxime Coste
469eb6ec44 Avoid possible access to an invalid, being deleted buffer list. 2016-07-04 19:20:22 +01:00
Maxime Coste
ca7f647562 Refactor Optional::operator== 2016-07-04 19:19:40 +01:00
Maxime Coste
e262dc1257 Support Resize modifiers in key_to_str
As seen in #715, that was not supported correctly
2016-06-30 23:49:21 +01:00
Maxime Coste
c8f5204202 Try to make the json ui more tolerant with the json input
Should improve the issues raised #714
2016-06-29 21:08:16 +01:00
Maxime Coste
511367f977 Change end of line format detection logic to match vims
Only consider a buffer to be Crlf if *all* of its lines use it, else
consider it as Lf with embedded Cr chars.

Fixes #686
2016-06-28 20:46:20 +01:00
Maxime Coste
0c825af771 Merge remote-tracking branch 'lenormf/fix-kakrc-highlight' 2016-06-27 21:00:22 +01:00
Frank LENORMAND
eca7850203 Fix a warning about the forward declaration of SelectionList 2016-06-27 20:59:46 +01:00
Maxime Coste
e07ff0c669 Use tparm instead of tiparm as built in OSX ncurses does not support it 2016-06-27 20:59:02 +01:00
Maxime Coste
df38d1539b Change ctags autoinfo to run on {Normal,Insert}Idle 2016-06-27 20:55:49 +01:00
Maxime Coste
089eaa52e0 Detect recursive hook run and abort in that case
Fixes #709
2016-06-27 20:55:07 +01:00
Frank LENORMAND
b8c83a914a Update the keywords highlighted in kak files 2016-06-26 16:59:48 +03:00
Maxime Coste
014cd50883 Merge remote-tracking branch 'lenormf/fix-tmux-send-text' 2016-06-25 00:06:02 +01:00
Frank LENORMAND
3a4e258fde Print an error message when unsupported tmux functions are called
Closes #615
2016-06-23 20:07:51 +03:00
Maxime Coste
fcf73c2293 Refactor context_wrap to share more code between draft/non draft case
Fixes #706
2016-06-22 22:27:43 +01:00
Maxime Coste
a8cf2a84c4 Add an Optional::emplace method 2016-06-22 22:17:13 +01:00
Maxime Coste
a2d76e27b0 Use a draft context for *.h c/cpp filetype decision 2016-06-22 20:49:58 +01:00
Maxime Coste
5cb9cf4cc3 Go back to saving built-in registers by default in non draft :exec/:eval 2016-06-22 19:57:21 +01:00
Maxime Coste
532ae5a1a6 Do not go backward to when selecting to end of line from the end of line
Fixes #699
2016-06-22 19:56:40 +01:00
Maxime Coste
c032306e04 Merge remote-tracking branch 'doppioandante/fix-json' 2016-06-21 23:51:15 +01:00
Maxime Coste
796a2ad63d Remove useless and non posix -e switch to awk invocations in rc scripts
Fixes #705
2016-06-21 19:00:41 +01:00
Maxime Coste
b77eff1b72 Fix parameter order in fputs 2016-06-21 00:47:46 +01:00
Maxime Coste
2edea2e0f6 Use fputs and fflush in ncurses_ui direct stdout access to respect buffering
Ncurses will write using the FILE* interface, using the fd based one is error
prone.

Fixes #703
2016-06-20 23:43:21 +01:00