Commit Graph

1456 Commits

Author SHA1 Message Date
Maxime Coste
6b66a3dfe5 Add support for filename insert mode completion 2013-08-02 17:58:37 +01:00
Maxime Coste
af17010524 contains: do not check if container is empty 2013-08-01 18:35:13 +01:00
Maxime Coste
a2577b4180 buffer: move Buffer::Flags operator as friends defined inside Buffer 2013-08-01 00:28:01 +02:00
Maxime Coste
c6f08f6c34 fix c++11 union use in remote.cc 2013-07-31 00:32:51 +02:00
Maxime Coste
3c8df764be fix insert mode erase utf-8 handling, add unit test 2013-07-30 19:18:01 +01:00
Maxime Coste
c84b861d2f remove useless SelectionList copy in keep 2013-07-29 13:51:07 +01:00
Maxime Coste
4f452474c8 non-regex based implementation of split_lines 2013-07-29 13:50:31 +01:00
Maxime Coste
af8e8d27d4 Minor code cleanups 2013-07-28 16:40:02 +02:00
Maxime Coste
5dfd4a9869 more auto info for normal commands waiting for a key press 2013-07-27 15:58:06 +02:00
Maxime Coste
0267540985 Do not select the first line indent in inner indent select 2013-07-27 15:37:28 +02:00
Maxime Coste
740a6562d9 enable autoinfo by default 2013-07-26 18:52:25 +01:00
Maxime Coste
c3359f7edc fix some auto info boxes text 2013-07-26 18:52:05 +01:00
Maxime Coste
8281d8c626 git-tools: use : as list separator, escape it correctly 2013-07-26 02:01:01 +02:00
Maxime Coste
233cb530fc read<T>(int socket): type aliasing compliance 2013-07-26 01:50:36 +02:00
Maxime Coste
a4138201b0 Key: always pass by value 2013-07-26 01:50:36 +02:00
Maxime Coste
eedd37c09a memoryview: always pass by value 2013-07-26 01:50:36 +02:00
Maxime Coste
3862b5cbb8 LineAndColumns: always pass by value 2013-07-26 01:50:09 +02:00
Maxime Coste
5d681f9efe StronglyTypedNumber: take parameters by value 2013-07-26 01:49:57 +02:00
Maxime Coste
d5453152b3 Color,ColorPair: always pass by copy 2013-07-26 00:54:58 +02:00
Maxime Coste
8f73d3c173 fix last eol matching in regex highlighters 2013-07-25 00:18:50 +02:00
Maxime Coste
3da97c4269 decl command support bool type options 2013-07-24 22:56:21 +02:00
Maxime Coste
38c7197770 go back to : as set/list separator in options 2013-07-24 22:41:41 +02:00
Maxime Coste
d29fb6f2c4 list,set and tuple options support escaping the separator 2013-07-24 22:41:13 +02:00
Maxime Coste
b5db256384 string escaping support functions
the split function now takes an additional escape parameter and
does not split on separators that have the escaper before it.

An utility escape function that adds escape before separators
is also added.
2013-07-24 22:37:17 +02:00
Maxime Coste
d6425f1d50 merge AtomContent into DisplayAtom 2013-07-24 13:55:57 +01:00
Maxime Coste
f6308409a1 pipe: auto insert and end of line if needed 2013-07-24 13:38:26 +01:00
Maxime Coste
62fdacb757 Add scroll left/right support 2013-07-24 01:38:30 +02:00
Maxime Coste
8633a37dad Try to keep the selection start visible if possible 2013-07-24 01:34:00 +02:00
Maxime Coste
c7e52a650d DisplayLine no longer map to a single buffer line, but to a buffer range 2013-07-24 01:33:12 +02:00
Maxime Coste
486ebed098 try to preserve display column rather than buffer column when moving line 2013-07-23 20:46:15 +02:00
Maxime Coste
5a6922a045 expand_unprintable: use iscntrl rather than isprint which does not work as expected 2013-07-23 20:42:35 +02:00
Maxime Coste
c58bab0f66 Add indent object type (bound to i) 2013-07-23 19:12:53 +01:00
Maxime Coste
8ab7496058 use C isalnum instead of C++ std::isalnum 2013-07-15 13:49:50 +01:00
Maxime Coste
ee2d18df04 fix selection to search pattern word begin detection 2013-07-15 13:49:04 +01:00
Maxime Coste
90b92aed3c add support for tolower (), toupper (~), and swap case become alt- 2013-07-12 13:55:48 +01:00
Maxime Coste
81b5c477f6 Compile with gnu++11 so that cygwin is happy, and remove unneeded -lmenu 2013-07-12 13:17:12 +01:00
Maxime Coste
fcb3594e4a NCursesUI::draw_menu: be tolerant when the menu_win was not created 2013-07-12 13:15:56 +01:00
Maxime Coste
1388c0d540 Editor: clamp coordinates in select(BufferCoord) 2013-07-12 13:15:31 +01:00
Maxime Coste
0ba1ab04f0 cpp.kak: wrap trailing whitespace cleanup hook in a try catch 2013-07-12 13:13:54 +01:00
Maxime Coste
37807ba19b Add support for arrow keys in normal mode
use a Direction enum instead of a bool forward parameter
2013-07-02 19:48:05 +01:00
Maxime Coste
6484fead0c replace with char only replaces when entered character is printable 2013-07-02 19:48:04 +01:00
Maxime Coste
c1b2f7ef6a use C locale function instead of C++ ones 2013-07-02 19:48:04 +01:00
Maxime Coste
2dcdc0cf4b more horizontal scrolling fixes 2013-06-29 16:50:51 +02:00
Maxime Coste
e510bf8b96 Fix horizontal scrolling support with replaced buffer ranges
tab character were not properly handled when scrolling horizontally
2013-06-28 00:03:11 +02:00
Maxime Coste
5b4ef23b9d more tolerant Buffer::string 2013-06-27 23:49:34 +02:00
Maxime Coste
b1f31d2e12 change string parsing behaviour in command manager
* single and doubly quoted strings correctly remove the \ when their
delimiter is quoted ('\'' is interpreted as ', not \')

* %{} strings do not support quoting when using matching pairs, so
  %{\} is interpreted as \, however when using same ending character
  as delimiter quoting still works: %~\~~ is interpreted as ~.
2013-06-27 19:07:26 +01:00
Maxime Coste
56bb0f9f2c clang.kak: use socat in unidirectional mode 2013-06-21 18:51:18 +01:00
Maxime Coste
60dfeb2821 fix highlighting bug with inserting at eol on lines with tabs 2013-06-21 18:50:45 +01:00
Maxime Coste
c6bf0b4cc3 add missing errno include to file.cc 2013-06-19 19:29:05 +01:00
Maxime Coste
a3e032abd6 enable /proc/ method for runtime_directory with cygwin 2013-06-19 19:29:05 +01:00
Maxime Coste
6d125e6c36 do not use std::{to_string,stoi} as they cause problems with cygwin 2013-06-19 19:29:05 +01:00
Maxime Coste
a642026e7c more portable use of ncurses 2013-06-19 19:29:04 +01:00
Maxime Coste
3e9439ac9f restore compilation with gcc 4.7 2013-06-18 21:44:00 +02:00
Maxime Coste
ea9414fa21 Fix input completion on multiple selection 2013-06-12 00:43:11 +02:00
Maxime Coste
bd8daac3a1 Fix UndoGroupOptimizer 2013-06-12 00:14:05 +02:00
Maxime Coste
7306f6b33b Buffer: always use {line_count(), 0} as end in Modifications 2013-06-06 20:02:20 +02:00
Maxime Coste
59b996be75 add an UndoGroupOptimizer test 2013-06-06 19:54:13 +02:00
Maxime Coste
2a74b0e9e2 Buffer: insert and erase go back to taking iterators, and return iterators 2013-06-06 19:44:08 +02:00
Maxime Coste
cf454ef904 UndoGroupOptimizer: fix count_byte_to 2013-06-06 19:44:08 +02:00
Maxime Coste
357799c966 replace remaining plain assert with kak_assert 2013-06-06 19:44:08 +02:00
Maxime Coste
3d8eecbbb6 minor cleanups Editor 2013-06-06 19:44:08 +02:00
Maxime Coste
bd504058d9 remove unused Buffer::char_at 2013-06-06 19:44:07 +02:00
Maxime Coste
12d3b64a1b avoid_eol: use direct line access 2013-06-06 19:44:07 +02:00
Maxime Coste
58ff97d51d use_selection_as_search_pattern: use iterators instead of coords 2013-06-06 19:44:07 +02:00
Maxime Coste
43ff1909fb add utf8::make_iterator helper function 2013-06-06 19:44:07 +02:00
Maxime Coste
245e68e26e utf8_iterators: rename underlying_iterator to base 2013-06-06 19:44:07 +02:00
Maxime Coste
70bf71e51f remove Buffer:char_{distance,advance} use line access instead 2013-06-06 19:44:07 +02:00
Maxime Coste
580749a91d Buffer: remove line_length and replace line_content with operator[] 2013-06-06 19:44:07 +02:00
Maxime Coste
6b667bc803 remove BufferIterator conversion to/from BufferCoord 2013-06-06 19:44:07 +02:00
Maxime Coste
777158e86d remove BufferIterator::is_valid() 2013-06-04 18:56:28 +02:00
Maxime Coste
a23aa10797 remove BufferIterator::buffer() 2013-06-04 18:55:06 +02:00
Maxime Coste
9fb4d42408 remove BufferIterator::is_{begin,end} 2013-06-04 18:53:56 +02:00
Maxime Coste
51acd456cc remove BufferIterator::{line,column}() 2013-06-04 18:53:28 +02:00
Maxime Coste
ee22596d61 tweak Buffer::{,char_}prev 2013-06-04 18:53:28 +02:00
Maxime Coste
cf1f26ac91 fix Editor::move_selections(LineCount...) on buffer bounds 2013-06-04 18:53:13 +02:00
Maxime Coste
cc70e3ed70 selectors.cc: avoid dereferencing buffer end 2013-06-04 14:21:07 +02:00
Maxime Coste
5c2e3b25fa Window: use AtomContent::length in scroll_to_keep_cursor_visible_ifn 2013-06-04 14:21:07 +02:00
Maxime Coste
76f55f5256 remove useless iterator_at calls 2013-06-04 14:21:07 +02:00
Maxime Coste
c4f9253634 Remove Buffer::iterator_at_line_{begin,end}, use iterator_at(line{,+1}) 2013-06-04 14:21:07 +02:00
Maxime Coste
503f0cce25 IncrementalInserter: use coords instead of iterators 2013-06-04 14:21:07 +02:00
Maxime Coste
fb41e1fdf9 tweak Buffer::do_insert 2013-06-04 14:21:07 +02:00
Maxime Coste
4ef1bfa4db Use coord instead of iterators for selections 2013-06-04 14:21:07 +02:00
Maxime Coste
02b33c7d8f Buffer: add methods for char access instead of byte access 2013-06-03 18:56:48 +02:00
Maxime Coste
b198f6a5fb Fix select_whole_paragraph so that buffer end is not selected 2013-06-03 14:27:51 +02:00
Maxime Coste
24ffd6abae DynamicSelectionList check that buffer end is not selected 2013-06-03 14:26:05 +02:00
Maxime Coste
b51799a2b2 Explicitly pass buffer to selectors 2013-06-01 14:22:57 +02:00
Maxime Coste
3453ebbd52 BufferChangeListener: pass buffer to on_{inser,erase} 2013-06-01 00:48:46 +02:00
Maxime Coste
8ddeb141c8 Fix insert completion at beginning of buffer 2013-05-30 18:52:03 +02:00
Maxime Coste
2d96f853f8 Add utf8::codepoint_size function 2013-05-30 18:49:50 +02:00
Maxime Coste
28e127a48a remove avoid_eol parameter from Buffer::{iterator_at,clamp} 2013-05-30 14:23:25 +02:00
Maxime Coste
07c8379313 BufferIterator are Random Access iterators 2013-05-30 14:05:05 +02:00
Maxime Coste
d2df6a9f15 remove BufferIterator::clamp 2013-05-30 14:00:41 +02:00
Maxime Coste
5e64f6d1ec remove Selection::buffer 2013-05-30 13:59:38 +02:00
Maxime Coste
5b0087b545 InputHandler: pass buffer and BufferCoord to completers 2013-05-30 13:59:38 +02:00
Maxime Coste
ae947b456d remove BufferIterator::offset 2013-05-30 13:59:38 +02:00
Maxime Coste
dbb1c57ec9 minor code cleanups in filters.cc 2013-05-30 13:59:38 +02:00
Maxime Coste
557acc5068 reorganize check_invariant in SelectionList 2013-05-30 13:59:38 +02:00
Maxime Coste
7f8d5c1fd0 Remove Range::content 2013-05-30 13:59:38 +02:00
Maxime Coste
93dd1ff3c7 Remove begin/end from Ranges, replace with min/max
Ranges should not be utf8 aware (needed for end), and a lot of
uses for end() were in fact looking for max.
2013-05-30 13:59:38 +02:00
Maxime Coste
a07fde181a Add Buffer::{next,prev,at}(BufferCoord) methods and use them in iterators 2013-05-30 13:59:38 +02:00