Maxime Coste
3e797a3d15
centralize bit operation support for enum used as flags
2014-10-23 19:02:39 +01:00
Maxime Coste
fa85f0fc32
Refactor regex uses, do not reference boost except in regex.hh
2014-10-13 13:14:23 +01:00
Maxime Coste
bea53d09b2
Remove option checkers, handle that through the type system
...
Use a specific type for InsertCompleterDesc with checks in
the option_{from,to}_string functions
2014-08-19 18:56:11 +01:00
Maxime Coste
fe70add4b7
Disable 'interactive' options in :exec/:eval
...
Incremental search, automatic info and completion are
not needed in non interactive context.
2014-05-25 17:36:12 +01:00
Maxime Coste
dfb1246697
Complete option values with the current value of the option
...
Fixes #32
2014-05-05 12:55:04 +01:00
Maxime Coste
3efeb67861
Fix Option destructor that was not virtual
2014-04-30 19:40:23 +01:00
Maxime Coste
adde2fef75
Use StringView for completion functions
2014-04-18 14:02:14 +01:00
Maxime Coste
9ff356cb2b
Extract option descriptions in an shared OptionDesc class
2014-04-12 20:03:26 +01:00
Maxime Coste
e9276a0a85
Add a docstring to options
2014-04-11 18:43:25 +01:00
Maxime Coste
19868f01c8
return a const String& in Option::name()
2014-04-09 19:33:37 +01:00
Maxime Coste
e12bf4978c
Try prefix completion and then subsequence completion for option names
...
fixes #4
2014-01-03 19:00:05 +00:00
Maxime Coste
5a4650aecc
Add support for hidden options, not showed by completion
...
the decl command can take a -hidden parameter to hide an option
2013-11-12 19:21:07 +00:00
Maxime Coste
3a49e05832
Option can be declared with a checker function.
...
The checker function may throw if to be set option value is invalid.
Implemented with the completers option.
2013-05-06 13:52:41 +02:00
Maxime Coste
42d7fcacd8
add a completers option for specifying which completer to use for BufferCompleter
2013-05-03 18:44:27 +02:00
Maxime Coste
11bc24f992
FlagLines: use a shared updaters for options
...
previously, having two windows showing the same buffer with
the same line flags would have updated the options twice, resulting
in wrong lines in option. Now line flags options are updated only
once by a shared object along all FlagLines highlighter using the
same option.
2013-04-29 14:20:42 +02:00
Maxime Coste
021756dfd4
redeclaring an option with the same type is not an error
2013-04-17 19:10:51 +02:00
Maxime Coste
270e950cf1
sort includes directives
2013-04-09 20:05:40 +02:00
Maxime Coste
b9f5dbd3b5
add an OptionManagerWatcher_AutoRegister class
2013-04-02 13:57:04 +02:00
Maxime Coste
f09e24607a
add support for adding to options instead of replacing
2013-03-31 14:53:32 +02:00
Maxime Coste
4ec9c4c32a
Make TypedOption templates public
2013-03-26 13:47:14 +01:00
Maxime Coste
fac222a427
Strongly typed options support
...
* non builtins options require declaration using the decl command
* At the moment, only int and string options are supported, however
the goal of this change is to provide a consistent way to support
more complex options, namely lists and booleans
2013-03-05 18:49:26 +01:00
Maxime Coste
7acd4e3e6a
minor code cleanup
2013-01-06 21:58:02 +01:00
Maxime Coste
3b5530ac09
rename (hook|option)_manager to (hook|option)s.
...
And Global(Hook|Option)Manager to Global(Hook|Option)s
2012-11-22 13:50:29 +01:00
Maxime Coste
0ce6bd9bf5
use ByteCount instead of CharCount when we are really counting bytes
...
(that is most of the time when we are not concerned with displaying)
2012-10-11 00:41:48 +02:00
Maxime Coste
e4fd839dda
use a strongly typed int CharCount for character counts
2012-08-23 23:56:35 +02:00
Maxime Coste
ecb3a737a9
Tweak String class, and cleanup usages
...
remove String::clear, add operator=(String&&) add str_to_int(const String&)
to replace atoi.
2012-06-27 14:26:29 +02:00
Maxime Coste
a943e08dc7
Refactor OptionManager, add OptionManagerWatcher
...
- use set_option to set an option, instead of operator[] (no-const)
- keeps a list of OptionManagerWatcher to notify when an option change
it also notifies when an option changes in his parent and the option
is not overridden.
2012-06-14 13:16:44 +00:00
Maxime Coste
20315eac85
replace Option::operator {String,int} with Option::as_{string,int}
2012-06-12 18:26:20 +00:00
Maxime Coste
9337938403
replace std::string references with String
2012-04-14 01:17:09 +00:00
Maxime Coste
46c65fea10
Option name completion support
2012-04-03 18:25:27 +00:00
Maxime Coste
f3dd65fbf1
add an OptionManager class and use it to manage tabstops
...
OptionManager map names to options, and may delegate option resolution
to it's parent if it does not contains the asked for option. That way
Buffers can override global options, and Windows can override Buffer
options.
2012-04-03 13:39:20 +00:00