dundargoc
3269902a13
refactor: fix IWYU mapping file and use IWYU ( #21802 )
...
Also add the EXITFREE definition to main_lib rather than the nvim target, as the header generation needs the EXITFREE flag to work properly.
2023-01-15 14:16:33 +01:00
bfredl
1d16bba4d8
fix(embed): handle stdio in server properly
...
Rename stdin/stdout in the server, so that RPC data won't get corrupted.
This also restores the use of stderr to write directly to the terminal.
2023-01-09 11:17:11 +01:00
bfredl
47ba78f89a
refactor(ui): devirtualize the ui layer
...
- The defined interface for the UI is only the RPC protocol. The original
UI interface as an array of function pointers fill no function.
- On the server, all the UI:s are all RPC channels.
- ui.c is only used on the server.
- The compositor is a preprocessing step for single-grid UI:s
- on the client, ui_client and tui talk directly to each other
- we still do module separation, as ui_client.c could form the basis
of a libnvim client module later.
Items for later PR:s
- vim.ui_attach is still an unhappy child, reconsider based on plugin experience.
- the flags in ui_events.in.h are still a mess. Can be simplified now.
- UX for remote attachment needs more work.
- startup for client can be simplified further (think of the millisecs we can save)
2023-01-05 09:48:26 +01:00
bfredl
b2295ac4ec
refactor(api): do not allocate temporaries for internal events
2023-01-03 17:31:54 +01:00
bfredl
43e8ec92de
fix(tui): more work in the TUI
2022-12-31 13:25:26 +01:00
hlpr98
2448816956
feat(tui): run TUI as external process
2022-12-31 10:43:28 +01:00
dundargoc
66360675cf
build: allow IWYU to fix includes for all .c files
...
Allow Include What You Use to remove unnecessary includes and only
include what is necessary. This helps with reducing compilation times
and makes it easier to visualise which dependencies are actually
required.
Work on https://github.com/neovim/neovim/issues/549 , but doesn't close
it since this only works fully for .c files and not headers.
2022-11-15 10:30:03 +01:00
bfredl
c0d6052654
perf(api): allow to use an arena for return values
2022-08-23 18:34:24 +02:00
dundargoc
b8dcbcc732
docs: fix typos ( #19588 )
...
Co-authored-by: zeertzjq <zeertzjq@outlook.com >
Co-authored-by: notomo <notomo.motono@gmail.com >
2022-08-03 09:47:16 +08:00
bfredl
0b63f5afad
perf(ui): unpack grid_line (screen contents) directly
2022-07-19 12:38:37 +02:00
bfredl
67a04fe6cb
perf(ui): unpack a single ui event at a time, instead of a "redraw" batch
...
This reduces the memory overhead for large redraw batches, as a much smaller
prefix of the api object buffer is used and needs to be hot in cache.
2022-07-18 14:08:44 +02:00
bfredl
1f63052b68
refactor(api): use hashy hash for looking up api method and event names
...
This avoids generating khash tables at runtime, and is consistent with
how evalfuncs lookup work.
2022-05-30 14:11:01 +02:00
Dundar Goc
0b3ae64480
refactor(uncrustify): format all c code under /src/nvim/
2022-04-29 13:52:43 +02:00
dundargoc
876d22fca9
fix(clang/'Dead store'): do not assign endcol ( #17788 )
2022-03-25 18:02:42 -06:00
dundargoc
61205c1def
chore: fix typos ( #17755 )
...
Co-authored-by: Jordan Haine <jhaine@securitycompass.com >
2022-03-25 19:57:59 +01:00
Lewis Russell
fcd57980f9
chore: add additional compiler flags ( #17815 )
...
Added:
- -Wdouble-promotion
- -Wmissing-noreturn
- -Wmissing-format-attribute
- -Wsuggest-attribute={pure,const,malloc,cold}
Resolves : #343
2022-03-24 12:14:04 +01:00
bfredl
55b6ade7fe
feat(ui_client): implement async paste handling
2022-03-17 19:39:06 +01:00
hlpr98
c6640d0d70
feat(ui_client): handle resize events
2022-03-17 19:20:20 +01:00
dundargoc
d238b8f600
chore: fix typos ( #17670 )
...
Co-authored-by: zeertzjq <zeertzjq@outlook.com >
2022-03-17 13:21:24 +08:00
bfredl
f01d203b70
refactor(ui): make auto-generated ui client handlers typesafe
2022-03-15 19:55:34 +01:00
bfredl
c0b4d931e1
refactor(ui): make ui_client_event_grid_line typesafe
2022-03-15 19:55:34 +01:00
bfredl
ca23f2ed30
refactor(ui): use "ui_client" instead of "redraw" as general prefix
2022-03-15 19:55:34 +01:00
bfredl
534edce3c4
feat(ui): invoke ui client handlers
2022-03-15 19:55:34 +01:00
hlpr98
794d2744f3
feat(ui): implement ui_client event handlers
2022-03-15 19:55:34 +01:00
bfredl
a4400bf8cd
feat(ui): connect to remote ui (only debug messages for now)
...
co-authored-by: hlpr98 <hlpr98@gmail.com >
2022-03-12 19:24:46 +01:00