| Commit message (Collapse) | Author | Age |
... | |
| |
|
| |
|
|
|
|
| |
They are now implemented on top of the buffer_{get,set}_slice functions
|
| |
|
| |
|
|
|
|
|
| |
Also moved `find_buffer` to 'api/helpers.c' and removed unnecessary declaration
in 'window.h'
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Some functions from upstream VIM were reintegrated for this:
- get_option_value_strict
- set_option_value_err
- set_option_value_for
- unset_global_local_option
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
The vimscript object conversion function was adapted from the version found in
'if_py_both.h' in the upstream source. It was also required to re-add the
`dict_lookup` function that was lost during the initial import.
|
| |
|
|
|
|
| |
Reported by valgrind
|
|
|
|
|
|
|
| |
The `NEOVIM_LISTEN_ADDRESS` environment variable can be set to customize the
address where Neovim will listen for connections. If it's not set, a random
socket/pipe will be created, and the `NEOVIM_LISTEN_ADDRESS` will be updated
accordingly.
|
|
|
|
|
|
| |
- Add channel module that exposes the API over arbitrary streams
- Add `xmemdup` for duplicating memory chunks
- Make job exit callback optional
|
|
|
|
|
|
|
|
| |
- Split functions with multiple files in the 'api' subdirectory
- Move/Add more types in the 'api/defs.h' header
- Add more prototypes
- Refactor scripts/msgpack-gen.lua
- Move msgpack modules to 'os' subdirectory
|
| |
|
|
|
|
| |
Also move the `job_teardown` call from os_unix.c to the event module
|
|
|
|
| |
The job, rstream and wstream modules now use handle data accessors
|
|
|
|
|
|
|
| |
Libuv handles have a single generic pointer for storing user data, this adds
some functions for adding/retrieving pointers to "slots" in the new `HandleData`
structure, which increase flexibility when using shared handles(job streams for
example)
|
|
|
|
|
|
| |
Implement a generic string->pointer associative array on top of the khash macro
library, providing a nice API for simple hash table requirements. (khash gives
lot of control with a not-so-friendly API, which is unnecessary on most cases)
|
|
|
|
|
| |
Style changes in the two new function:
cpy_hotkeys_and_msg() & console_dialog_alloc()
|
|
|
|
|
|
|
| |
From msg_show_console_dialog(), a new function was created
for memory allocation for hotkeys & dialog string.
Similarly, another function created for copying hotkeys
& dialog string.
|
|
|
|
|
| |
Simply spliting the 2-iter loop into code for computing
size of memory & for copying to allocated memory
|
| |
|
| |
|
|
|
|
| |
files: memline.c and fileio.c
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
This struct is a wrapper around `uv_stat_t` to hide the stat information
inside `src/os/`.
The stat file attribute will be private after all refactorings concerning
file informations are done.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
Macro-based log utility for Neovim
|
| |
| |
| |
| | |
Replace localtime() with os_localtime_r() in `eval.c` and `undo.c`.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This commit introduces 4 macros (for different log levels) that can be used
to log messages to $HOME/.nvimlog:
- DLOG: log a debug message (e.g. `DLOG("sum(%d, %d): %d", x, y, sum(x, y));`)
- ILOG: log some useful information (e.g. `ILOG("Main loop started")`)
- WLOG: log a warning (e.g. `WLOG("Command not found: %s", command)`)
- ELOG: log an error (e.g. `ELOG("Out of memory. Exiting.")`)
All these macros are disabled if `NDEBUG` or `DISABLE_LOG` is defined. This
guarantees that a `Release` build won't log anything.
`MIN_LOG_LEVEL` can be defined to reduce the verbosity of the log. The log
levels are:
```
DEBUG_LOG_LEVEL 0
INFO_LOG_LEVEL 1
WARNING_LOG_LEVEL 2
ERROR_LOG_LEVEL 3
```
`MIN_LOG_LEVEL` is 0 by default enabling all levels. If `MIN_LOG_LEVEL` is set
to 2, for example, only warnings and errors will be logged.
That's how the log looks like:
```
DATETIME LOG_LEVEL FUNCTION LINE PID FORMATTED MESSAGE
2014/05/01 23:46:14 [info @ main_loop:582] 44376 - Starting Neovim main loop.
2014/05/01 23:46:31 [info @ main_loop:582] 44400 - Starting Neovim main loop.
```
|