Commit Graph

110 Commits

Author SHA1 Message Date
Maxime Coste
2747c4dd3e exception::what returns a StringView rather than a const char* 2015-03-13 13:15:51 +00:00
Maxime Coste
3c1a325b6f Refactor String, use a common StringOps interface, hide std::string 2015-03-10 19:50:22 +00:00
Maxime Coste
c0e4268e17 Reactivate direct file change check on entering normal mode 2015-03-04 20:46:26 +00:00
Maxime Coste
224f73d72a Cleanup and refactor externally modified buffer reloading
* Correctly hide the reload dialog in every client.
* Correctly handle buffer being deleted.
2015-02-12 19:18:03 +00:00
Maxime Coste
6658d15741 Allow <ret> and <esc> to reload/keep an externally modified file
Fixes #113
2015-02-11 13:56:45 +00:00
Maxime Coste
955d1dea66 Small formatting fixes 2014-12-29 12:19:16 +00:00
Maxime Coste
5b94b73152 Small code tweak 2014-12-20 18:40:17 +00:00
Maxime Coste
1c8ee78d1a Do not register timers for transient input handlers 2014-12-18 23:12:58 +00:00
Maxime Coste
87d312b6d4 More string cleanups 2014-12-08 13:59:29 +00:00
Maxime Coste
1c5975835e Consolidate constext disablable feature in a 'Disableable' helper 2014-12-05 13:47:09 +00:00
Maxime Coste
a3b3001d8f Rework client pending key handling, fix insert/normal timers 2014-11-29 20:14:52 +00:00
Maxime Coste
75fe9a76db Fix compilation 2014-11-28 13:47:42 +00:00
Maxime Coste
7c87abe856 Process ctrl-c when not in urgent event mode as well 2014-11-28 13:30:58 +00:00
Maxime Coste
49931fbf05 Separate events between normal and urgent ones
Run urgent ones while executing %sh blocks.

Fixes #236
2014-11-25 13:52:06 +00:00
Maxime Coste
0c3acb74c2 Remove unneeded string copies 2014-11-17 19:38:30 +00:00
Maxime Coste
b2407d9dfa Add ui_options option for UserInterface configuration
ui_options is a std::unordered_map<String, String> that gets
forwarded to the user interface. Add support ncurses_status_on_top.
2014-11-10 23:29:16 +00:00
Maxime Coste
88aa707b9c For {Menu,Info}Style::Prompt, choose the anchor directly in ncurses code 2014-11-08 19:08:23 +00:00
Maxime Coste
e1fc2677e3 Add a MenuDoc style for info box, that will place it next to the menu 2014-11-08 18:01:55 +00:00
Maxime Coste
38df876586 Reread file timestamp at the moment the user choose to keep
The previous behaviour ended up asking twice for reloading if the
buffer was modified again after Kakoune had detected the first
change.
2014-10-22 19:24:26 +01:00
Maxime Coste
4c4d3cdd38 Add support for mapping keys in goto/view commands 2014-09-23 13:45:18 +01:00
Maxime Coste
827a77539a Add some color to mode specific mode line info 2014-09-10 19:06:53 +01:00
Maxime Coste
e2b3dd0ca4 Tweak client redraw logic, avoid highlight if only status line changed 2014-08-12 19:19:46 +01:00
Maxime Coste
8d6e8bc06f Display a [no-hooks] tag in the mode line when hooks are disabled 2014-07-25 23:47:47 +01:00
Maxime Coste
a32b49acd1 Rename ColorPair to Face and ColorRegistry to FaceRegistry
Face also stores the attributes
2014-07-11 00:27:43 +01:00
Maxime Coste
55866b51d7 Fix redrawing of windows when only the status line changes 2014-07-07 23:56:17 +01:00
Maxime Coste
90c2647c0b Use colors in status bar for certain flags 2014-07-07 23:56:17 +01:00
Maxime Coste
df4983b6d4 Do not try to reload buffer if the buffer was deleted
Fixes #121
2014-06-22 11:09:44 +01:00
Maxime Coste
ea3e92aa5e SelectionList know its buffer and timestamp 2014-05-13 20:09:06 +01:00
Maxime Coste
8546788b43 Refactor LineAndColumn coordinates
BufferCoord -> ByteCoord
DisplayCoord -> CharCoord

Moved their definition along with LineAndColumn into coord.hh
2014-05-07 19:53:45 +01:00
Maxime Coste
7af9863e51 Add an explicit refresh method to user interface
With this refresh method user interface can defer updating
the display until really needed.
2014-04-15 19:19:44 +01:00
Maxime Coste
203a7732f5 Add support for querying client environement variables
At connection, a remote client sends all its environement to the
server, which then provides access to client env through
kak_client_env_VAR_NAME variables in the shell.
2014-04-07 23:47:51 +01:00
Maxime Coste
e1a9d5f71e Fix clang compilation 2014-04-02 22:33:52 +01:00
Maxime Coste
84c30c4b8a Minor formatting changes 2014-04-01 18:54:46 +01:00
Maxime Coste
248e5ae6c0 fix file reload prompt displaying invalid message 2014-03-26 19:06:16 +00:00
Maxime Coste
a4070d9037 Use an info box to prompt for reloading of modified files 2014-03-24 19:31:40 +00:00
Maxime Coste
19f5eb65e8 Clamp cursor position on buffer reloading 2014-03-07 01:05:51 +00:00
Maxime Coste
2159fc9563 Rename selections first,last to more explicit anchor,cursor 2014-01-28 19:06:52 +00:00
Maxime Coste
e364137196 Fix compilation with clang 3.4 2014-01-27 20:28:38 +00:00
Maxime Coste
c0973075fa Get rid of Editor for good
ClientManager now stores only the free windows, clients take
ownership of its own.
2013-12-20 20:14:57 +00:00
Maxime Coste
d1ac813f61 Pass a Context rather than a Window to highlighters 2013-12-16 23:24:08 +00:00
Maxime Coste
935bc3cec9 Add Context::selections method, and use it in priority to the Editor's one 2013-12-15 14:25:23 +00:00
Maxime Coste
ce0e71aacb Remove Editor::select methods, add a non-const selections getter 2013-12-14 18:38:14 +00:00
Maxime Coste
6afef079b6 Remove Editor::main_selection(|index), directly use the SelectionList method 2013-12-14 14:38:17 +00:00
Maxime Coste
8c25d62056 extract InputHandler to input_handler.{cc,hh} 2013-11-14 21:12:59 +00:00
Maxime Coste
f8cadc0c57 move Client::m_name to context, no more need for DraftUI 2013-11-14 20:51:25 +00:00
Maxime Coste
ad275d1d1c Extract InputHandler from Client 2013-11-14 18:09:15 +00:00
Maxime Coste
67452c3441 Tweak prompt auto show completion
* Auto show completion even before the first key is pressed
* Auto show next completions when validating a single choice completion
2013-11-12 18:56:48 +00:00
Maxime Coste
03a6561f50 use abreviated form for keys in client.cc 2013-11-10 22:48:56 +00:00
Maxime Coste
68a27af56e Use InsertChar hook for char insertion, and InsertKey for key press 2013-11-04 22:02:44 +00:00
Maxime Coste
9521413b62 Tweak insert completion behaviour 2013-11-04 22:02:44 +00:00