aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/main.c
Commit message (Collapse)AuthorAge
...
| * main.c: Change TUI to initialize like GUIerw72019-06-04
| |
| * main.c: fixes #7967erw72019-06-04
|/
* Resolved compile warnings & fixed lot of style related to sign apiAndrej Zieger2019-05-26
|
* vim-patch:8.1.0644: finding next sign ID is inefficientAndrej Zieger2019-05-26
| | | | | | Problem: Finding next sign ID is inefficient. Solution: Add next_sign_id. (Yegappan Lakshmanan, closes vim/vim#3717) https://github.com/vim/vim/commit/6436cd83f90a0efc326798792e49e8ff96a43dce
* vim-patch:8.1.1231: asking about existing swap file unnecessarilyJustin M. Keyes2019-04-29
| | | | | | | | | | | | Problem: Asking about existing swap file unnecessarily. Solution: When it is safe, delete the swap file. Remove HAS_SWAP_EXISTS_ACTION, it is always defined. (closes vim/vim#1237) https://github.com/vim/vim/commit/67cf86bfff5fd5224d557d81cb146f46e33b831c N/A: vim-patch:8.1.1232 vim-patch:8.1.1233 vim-patch:8.1.1236
* vim-patch:8.0.0716: "--clean", 'shadafile' #9907Justin M. Keyes2019-04-15
| | | | | | | | | | | | Nvim notes: - Nvim does not support "-u DEFAULTS", that change is omitted. - Also add 'shadafile' as an alias to 'viminfofile'. - Deprecate 'viminfofile'. Problem: Not easy to start Vim cleanly without changing the viminfo file. Not possible to know whether the -i command line flag was used. Solution: Add the --clean command line argument. Add the 'viminfofile' option. Add "-u DEFAULTS". https://github.com/vim/vim/commit/c4da113ef98dcfd6f2a088b1693c0317dcb5bf42
* startup: -es/-Es (silent/batch mode): skip swapfile #8540Justin M. Keyes2019-04-10
| | | | To use Nvim as a scripting engine the side-effects of swapfiles and user config should be avoided by default.
* keymap, terminal: more keycodes #9810Olivier G-R2019-03-31
| | | | | | | | | - input: recognize <kEqual>, <kComma> - terminal.c: If we need to support function key, a change must be made in libvtermkey. Currently, it emulates strictly VT220 terminal, and returning numeric value in 'normal' mode is the expected behaviour. closes #9810
* vim-patch:8.0.0629: set `starting` earlierRaphaël Colin2019-03-30
| | | | | | | | | | The patch is N/A but we include it for consistency. closes #9814 --- Problem: Checking for ambigous width is not working. (Hirohito Higashi) Solution: Reset "starting" earlier. https://github.com/vim/vim/commit/6b1da3312e15c065b373c9ec2732f31a77cee61f
* floats: implement floating windowsBjörn Linse2019-03-02
| | | | Co-Author: Dongdong Zhou <dzhou121@gmail.com>
* os/env: use libuv v1.12 getenv/setenv APIJustin M. Keyes2019-02-27
| | | | | | | | | | | - Minimum required libuv is now v1.12 - Because `uv_os_getenv` requires allocating, we must manage a map (`envmap` in `env.c`) to maintain the old behavior of `os_getenv` . - free() map-items after removal. khash.h does not make copies of anything, so even its keys must be memory-managed by the caller. closes #8398 closes #9267
* vim-patch:8.1.0932: remove Farsi support (#9622)Justin M. Keyes2019-02-17
| | | | | Problem: Farsi support is outdated and unused. Solution: Delete the Farsi support. https://github.com/vim/vim/commit/14184a3133b9a6ee5f711d493c04e41ba4fa7c2f
* screen: cleanup allocation, clearing and validationBjörn Linse2019-02-07
| | | | | | grid_xx functions shouldn't randomly be called when the screen is not valid. Nvim deterministically initializes a default screen early in main(), so the default grid can be assumed to be allocated.
* build: -Wmissing-prototypesJustin M. Keyes2019-02-04
| | | | | | | ref #343 Though I don't see a strong benefit, it isn't too much of a burden, and maybe avoids confusion in some cases.
* UI: add "compositor" layer to merge grids for TUI use in a correct wayBjörn Linse2019-02-02
| | | | | | | | Initially we will use this for the popupmenu, floating windows will follow soon NB: writedelay + compositor is weird, we need more flexible redraw introspection.
* build: enable -WshadowJustin M. Keyes2019-01-02
| | | | | | | | | | Note about shada.c: - shada_read_next_item_start was intentionally shadowing `unpacked` and `i` because many of the macros (e.g. ADDITIONAL_KEY) implicitly depended on those variable names. - Macros were changed to parameterize `unpacked` (but not `i`). Macros like CLEAR_GA_AND_ERROR_OUT do control-flow (goto), so any other approach is messy.
* startup: Use $XDG_CONFIG_DIRS/nvim/sysinit.vim if it existsJames McCoy2018-12-16
| | | | Closes #8994
* api: implement object namespacesBjörn Linse2018-11-24
| | | | | | | | | Namespaces is a lightweight concept that should be used to group objects for purposes of bulk operations and introspection. This is initially used for highlights and virtual text in buffers, and is planned to also be used for extended marks. There is no plan use them for privileges or isolation, neither to introduce nanespace-level options.
* Merge #9036 'func_attr_printf'Justin M. Keyes2018-10-07
|\
| * src/nvim/eval.cMichaHoffmann2018-10-07
| | | | | | | | | | | | | | | | | | | | src/nvim/eval/typval.c src/nvim/fileio.c src/nvim/main.c src/nvim/regexp_nfa.c src/nvim/spellfile.c changed some EMSG[..] Macros to emsgf
| * add func_attr_printf in :MichaHoffmann2018-09-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | log.c message.c strings.c fixed some printf warnings in: src/nvim/undo.c src/nvim/eval.c src/nvim/eval/encode.c src/nvim/eval/typval.c src/nvim/ex_getln.c src/nvim/fileio.c src/nvim/lua/executor.c src/nvim/main.c src/nvim/regexp_nfa.c src/nvim/shada.c src/nvim/spellfile.c src/nvim/tui/terminfo.c src/nvim/garray.h
* | Fix crash if --embed is used more than onceJames McCoy2018-10-03
| |
* | lintJan Edmund Lazo2018-09-29
| |
* | globals: arg_had_last is boolJan Edmund Lazo2018-09-29
|/
* startup: always wait for UI with --embed, unless --headless also is suppliedBjörn Linse2018-09-22
|
* replace fallthrough comment with macroJan Edmund Lazo2018-09-21
| | | | Follow-up of vim-patch:8.0.1215
* vim-patch:8.0.1215: newer gcc warns for implicit fallthroughJan Edmund Lazo2018-09-20
| | | | | | Problem: Newer gcc warns for implicit fallthrough. Solution: Consistently use a FALLTHROUGH comment. (Christian Brabandt) https://github.com/vim/vim/commit/2f40d129bf45cd35976e4120336ae6d504f5a5dd
* startup: wait for embedder before executing startup commands and filesBjörn Linse2018-09-18
| | | | | | Give embeders a chance to set up nvim, by processing a request before startup. This allows an external UI to show messages and prompts from --cmd and buffer loading (e.g. swap files)
* loop_close: Drain thread_events (#8990)Justin M. Keyes2018-09-16
| | | | | | | | | | | | | | | | | | loop_schedule_deferred may leak its allocated Event if the Event does not get processed (when Nvim exits). It only happens on exit, so we tried to ignore it in .asan-blacklist, but for that isn't working for unknown reasons. = ==22007==ERROR: LeakSanitizer: detected memory leaks = Direct leak of 88 byte(s) in 1 object(s) allocated from: = 0 0x4ef7a3 in malloc /local/mnt/workspace/tmp/ubuntu_rel/llvm/utils/release/final/llvm.src/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:67:3 = 1 0xfcafc1 in try_malloc /home/travis/build/neovim/neovim/build/../src/nvim/memory.c:88:15 = 2 0xfcb1e9 in xmalloc /home/travis/build/neovim/neovim/build/../src/nvim/memory.c:122:15 = 3 0xa6e75f in loop_schedule_deferred /home/travis/build/neovim/neovim/build/../src/nvim/event/loop.c:91:19 = 4 0x18ab048 in tui_main /home/travis/build/neovim/neovim/build/../src/nvim/tui/tui.c:377:5 = 5 0x18fe120 in ui_thread_run /home/travis/build/neovim/neovim/build/../src/nvim/ui_bridge.c:102:3 = 6 0x7f09e5e58183 in start_thread /build/eglibc-ripdx6/eglibc-2.19/nptl/pthread_create.c:312 = SUMMARY: AddressSanitizer: 88 byte(s) leaked in 1 allocation(s).
* lintJan Edmund Lazo2018-09-06
|
* main: advance in edit_buffers() is boolJan Edmund Lazo2018-09-06
|
* window: refactor boolean variables in win_close()Jan Edmund Lazo2018-09-06
| | | | free_buf (param) and help_window (variable) are bool.
* vim-patch:8.0.1792: MS-Windows users expect -? to work like --helpJan Edmund Lazo2018-09-04
| | | | | | | | Problem: MS-Windows users expect -? to work like --help. Solution: Add -?. (Christian Brabandt, closes vim/vim#2867) https://github.com/vim/vim/commit/c3e81694fca484ebabd99f3637bd83b9ee2dd50a Include runtime/ changes from https://github.com/vim/vim/commit/85eee130f44a2201d88ca2aeff0af3b11dd75fa9 to pass 8.1.0231 tests.
* vim-patch:8.0.1404: invalid memory access on exitJan Edmund Lazo2018-08-24
| | | | | | | Problem: Invalid memory access on exit when autocommands wipe out a buffer. (gy741, Dominique Pelle) Solution: Check if the buffer is still valid. (closes vim/vim#2449) https://github.com/vim/vim/commit/606d45ccd8a2ad2956e2729f6135fd79fd2f6d72
* ui: use line-based rather than char-based updates in screen.cBjörn Linse2018-07-21
| | | | | | | | | | | | | Add ext_newgrid and ext_hlstate extensions. These use predefined highlights and line-segment based updates, for efficiency and simplicity.. The ext_hlstate extension in addition allows semantic identification of builtin and syntax highlights. Reimplement the old char-based updates in the remote UI layer, for compatibility. For the moment, this is still the default. The bulitin TUI uses the new line-based protocol. cmdline uses curwin cursor position when ext_cmdline is active.
* highlight: refactor to use stateful representationBjörn Linse2018-07-21
| | | | | This allows us to keep track of the source higlight groups, and not only the final combined highlights.
* highlight: extract low-level highlight logic from syntax, uiBjörn Linse2018-07-21
|
* main: fix FALLTHROUGH hints (#8623)John Dallahan2018-06-22
| | | | GCC (Clang also?) does not recognize FALLTHROUGH comments when the case is wrapped in braces.
* *: Replace b_changedtick with new always-inline functionsZyX2018-06-22
| | | Ref #8474
* startup: delete empty stdin buffer if other files were openedJustin M. Keyes2018-06-18
| | | | | | | | | DWIM: avoid empty buffer 1 when stdin was empty. If other files were specified at startup, we assume that stdin is only accidentally not-a-TTY: user did not intend to send text from it. ref #8560 ref #8561
* startup: go to buffer 2 if stdin is emptyJustin M. Keyes2018-06-18
| | | | | | | | | | | | If stdin is not a TTY we read it into buffer 1, as text. But if the stdin pipe is empty, Nvim was most likely invoked for some other reason. DWIM: select buffer 2 (if it exists). Example: echo file1 | xargs nvim closes #8560 closes #8561 ref https://github.com/equalsraf/neovim-qt/issues/417
* startup: fix -E/-Es without `-u NONE`Justin M. Keyes2018-06-17
| | | | | | | | | | Before this change, -E/-Es without `-u NONE` reads stdin as Ex commands. It should always read stdin as text (into buffer 1), like this: echo foo | nvim -Es +'%p' foo echo foo | nvim -Es -u NORC +'%p' foo
* Ex mode: use getexline() instead of getexmodeline()Justin M. Keyes2018-06-17
| | | | | | | | | | | | | | | | | | | | | This changes Ex mode (Q, -e) to work like Vim's "improved Ex mode" (gQ, -E). That brings some small behavior differences, but should not impact most Ex scripts (unless, for example, they depend on mappings being disabled--but that can be solved for -e by skipping user config). Before this change: * the screen test hangs. After this change: * Q acts like gQ. * -e/-es differs from -E/-Es only in its treatment of stdin. This moves towards potentially removing getexmodeline(). (HINT: That does NOT mean "removing Ex mode", it means removing the Vi-compatible Ex mode, which differs from Vim's "improved Ex mode" only in some minor details (e.g. mappings are disabled).) ref #1089 :-)~
* doc: job/channel, misc #7783Justin M. Keyes2018-06-11
| | | | | | | | | | | doc: termios defaults. ref #6992 doc: :help shell-powershell doc: provider: Python minimum version is 2.7, 3.4 doc: remove :!start special-case. #5844 doc: mention #7917 change which accepts empty Array for Dictionary parameter doc: <Cmd> pseudokey doc: lmap change #5658 doc: -s, -es
* cleanup, test interactive -EJustin M. Keyes2018-06-04
|
* win/startup: remove --literalJustin M. Keyes2018-06-04
| | | | | | | | | | | | | | | Fixes 2 failing tests in startup_spec.lua. The Windows-only `--literal` option complicates support of "stdin-as-text + file-args" (#7679). Could work around it, but it's not worth the trouble: - users have a reasonable (and englightening) alternative: nvim +"n *" - "always literal" is more consistent/predictable - avoids platform-specific special-case Unrelated changes: - Replace fileno(stdxx) with STDXX_FILENO for consistency (not motivated by any observed technical reason).
* startup: allow explicit "-" file arg with --headlessJustin M. Keyes2018-06-04
|
* startup: fix -es/-Es so they are actually silentJustin M. Keyes2018-06-04
| | | | | | silent-mode (-es/-Es) has been broken for years. The workaround up to now was to include --headless. But --headless is not equivalent because it prints all messages, not the limited subset defined by silent-mode.
* startup: silent-mode is not `full_screen`Justin M. Keyes2018-06-04
| | | | | | | | | silent-mode (AKA batch-mode, -es/-Es) by definition should not behave like a UI. There are still some places that check `full_screen` to decide behavior, e.g. msg_start(). Future: maybe eliminate `full_screen`, check `ui_active()` instead?
* lintJustin M. Keyes2018-06-04
|