You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
neovide/README.md

247 lines
8.6 KiB
Markdown

# Neovide [![Gitter](https://badges.gitter.im/neovide/community.svg)](https://gitter.im/neovide/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) [![Discussions](https://img.shields.io/badge/GitHub-Discussions-green?logo=github)](https://github.com/Kethku/neovide/discussions)
4 years ago
This is a simple graphical user interface for [Neovim](https://github.com/neovim/neovim) (an aggressively refactored and updated
Opengl (#655) * OpenGL Backend (#486) * opengl renderer sorta working * add x11 build argument * remove x11 * format * remove alternate windowing systems * remove non opengl windowing systems * fix thread spin * add graphics interface debugging expects * update interface build and add conditional compilation * install nightly in actions * add format component to nightly install * remove vulkan from action * working without shaping * Add rustybuzz * applied suggestions from calvinkosmatka * remove husky * update skia-safe * better subpixel font rendering * commit lock file * fix merge error * Bump skia-safe to 0.39.1 (#584) Compiling for apple silicon/m1 only works on 0.39.1 * remove sdl2 file and upgrade skia/swap to egl * Update README.md to reflect changes in the main branch. Fix sequence break in Mac installation guide. (#615) Co-authored-by: Lord Valen <lord_valen@protonmail.com> * OpenGL Backend (#486) * opengl renderer sorta working * add x11 build argument * remove x11 * format * remove alternate windowing systems * remove non opengl windowing systems * fix thread spin * add graphics interface debugging expects * update interface build and add conditional compilation * install nightly in actions * add format component to nightly install * remove vulkan from action * working without shaping * Add rustybuzz * applied suggestions from calvinkosmatka * remove husky * update skia-safe * better subpixel font rendering * commit lock file * fix merge error * Bump skia-safe to 0.39.1 (#584) Compiling for apple silicon/m1 only works on 0.39.1 * remove sdl2 file and upgrade skia/swap to egl * Update README.md to reflect changes in the main branch. Fix sequence break in Mac installation guide. (#615) Co-authored-by: Lord Valen <lord_valen@protonmail.com> * Version check (#631) * add more robust version check * clippy * fix some copy pasta * revert font changes * add lock file back * pull in animation length change from main and adjust default cursor settings * Snap for Ubuntu (#576) * add more robust version check * clippy * fix some copy pasta * revert font changes * snap builds correctly * add snapcraft workflow * clean up workflow * clean up workflow * clean up workflow * check workflow works * build snap * use lxd * add snap push * add step id * use official snapcraft actions * add snap badge * move snap badge * swap from rustybuzz to swash. WAY faster performance * format files * fix command line jump filtering * attempt fix of github action * add comma * add caching to the build dependencies * fix foating window position * Fix 577 (#668) * fix formatting and clippy errors * upstream formatting fix * Added trackpad support to scrolling/smoothscrolling in OpenGL branch (#681) * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Fixed regular scroll * Update mod.rs * Update mod.rs * Reverted previous change, dividing first instead * Update mod.rs * Update mod.rs * I completely forgot about how unsigned integers in rust work * Remove the casting to integer * Forgot function signature requires integer * divide before cast * remove semicolon * Changed function signature to use float instead of integer, using float for PixelDelta * Forgot parenthesis * Change 0 to math float * Do the same for the function itself * Scrolling still too fast * Still way to fast * Still too fast * Still too fast * somehow still too fast * Still too fast * Update mod.rs * testing * still fast * doesn't fit in f32 anymore * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Testing * Testing something new * Update mod.rs * Update mod.rs * Deleted unnecessary code * Implement CLI parsing with clap (#680) * implemented command line parsing with clap * removed println! * fixed file opening * added files parameter to avoid -- [FILES] * use new cmdlinesettings in various places * lets stick to the old cli-api * moved to builder syntax to allow for hypens in args * Fixed merge conflict that was overlooked before * Basic Environment variables * Added alias for MultiGrid environment var * Fix for #566 (#687) * add logging to async channels * use better logging in channels * made float change backwards compatible * fix clippy work * ignore new clippy lint * fix mac clippy lint * adjust actions * use nightly format * install utilities in mac and linux builds * Fix some shift+key mappings (#695) * fix publish test results step * Basic Frameless window support (#694) * Frameless window (not resizeable) * Update * Delete neovide.ico idk how did this get here * add readme tweak to make sure people know what neovim is * add scoop instructions for windows * implement manual font fallback with swash * M1 Runner (#711) * add self-hosted m1 * remove vulkan * cahnge toolchain * fmt * clippy * remove llvm * upload m1 * checkout upstream build.yaml * remove llvm step * remove git caching for self hosted * Add environment variables for window options (#708) * Add Env for window options * Remove PascalCase * Font Fallback (#701) * better font fallback * actually fix font fallback * swap to u64s for most font size solutions * increase line height slightly and attempt stencil buffer fix * fix divider issue * clippy and formatting fixes Co-authored-by: Keith Simmons <keithsim@microsoft.com> * clippy fixes * Fix default font (#719) * size using Z * default font ordering * clippy fixes * interactive wsl path * fix formatting Co-authored-by: Keith Simmons <keithsim@microsoft.com> Co-authored-by: shaunsingh <71196912+shaunsingh@users.noreply.github.com> Co-authored-by: Lord-Valen <46138807+Lord-Valen@users.noreply.github.com> Co-authored-by: Lord Valen <lord_valen@protonmail.com> Co-authored-by: j4qfrost <j4qfrost@gmail.com> Co-authored-by: PyGamer0 <64531844+PyGamer0@users.noreply.github.com> Co-authored-by: Obyoxar <43534802+ErikMayrhofer@users.noreply.github.com> Co-authored-by: Benson Li <bensonbinbinli@gmail.com> Co-authored-by: meluskyc <meluskyc@gmail.com>
3 years ago
Vim editor). Where possible there are some graphical improvements, but functionally it should act like the terminal UI.
4 years ago
![Basic Screen Cap](./assets/BasicScreenCap.png)
I've been using this as my daily driver since November 2019. It should be relatively stable, but I'm still working out some kinks
and ironing out some cross platform issues. In general it should be usable at this point, and if it isn't I consider that a bug and
appreciate a report in the issues! Any help and ideas are also greatly appreciated.
I'm also very interested in suggestions code quality/style wise when it comes to Rust. I'm pretty new to the language and appreciate
any critiques that you might have to offer. I won't take all of them, but I promise to consider anything you might have to offer.
## Features
Opengl (#655) * OpenGL Backend (#486) * opengl renderer sorta working * add x11 build argument * remove x11 * format * remove alternate windowing systems * remove non opengl windowing systems * fix thread spin * add graphics interface debugging expects * update interface build and add conditional compilation * install nightly in actions * add format component to nightly install * remove vulkan from action * working without shaping * Add rustybuzz * applied suggestions from calvinkosmatka * remove husky * update skia-safe * better subpixel font rendering * commit lock file * fix merge error * Bump skia-safe to 0.39.1 (#584) Compiling for apple silicon/m1 only works on 0.39.1 * remove sdl2 file and upgrade skia/swap to egl * Update README.md to reflect changes in the main branch. Fix sequence break in Mac installation guide. (#615) Co-authored-by: Lord Valen <lord_valen@protonmail.com> * OpenGL Backend (#486) * opengl renderer sorta working * add x11 build argument * remove x11 * format * remove alternate windowing systems * remove non opengl windowing systems * fix thread spin * add graphics interface debugging expects * update interface build and add conditional compilation * install nightly in actions * add format component to nightly install * remove vulkan from action * working without shaping * Add rustybuzz * applied suggestions from calvinkosmatka * remove husky * update skia-safe * better subpixel font rendering * commit lock file * fix merge error * Bump skia-safe to 0.39.1 (#584) Compiling for apple silicon/m1 only works on 0.39.1 * remove sdl2 file and upgrade skia/swap to egl * Update README.md to reflect changes in the main branch. Fix sequence break in Mac installation guide. (#615) Co-authored-by: Lord Valen <lord_valen@protonmail.com> * Version check (#631) * add more robust version check * clippy * fix some copy pasta * revert font changes * add lock file back * pull in animation length change from main and adjust default cursor settings * Snap for Ubuntu (#576) * add more robust version check * clippy * fix some copy pasta * revert font changes * snap builds correctly * add snapcraft workflow * clean up workflow * clean up workflow * clean up workflow * check workflow works * build snap * use lxd * add snap push * add step id * use official snapcraft actions * add snap badge * move snap badge * swap from rustybuzz to swash. WAY faster performance * format files * fix command line jump filtering * attempt fix of github action * add comma * add caching to the build dependencies * fix foating window position * Fix 577 (#668) * fix formatting and clippy errors * upstream formatting fix * Added trackpad support to scrolling/smoothscrolling in OpenGL branch (#681) * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Fixed regular scroll * Update mod.rs * Update mod.rs * Reverted previous change, dividing first instead * Update mod.rs * Update mod.rs * I completely forgot about how unsigned integers in rust work * Remove the casting to integer * Forgot function signature requires integer * divide before cast * remove semicolon * Changed function signature to use float instead of integer, using float for PixelDelta * Forgot parenthesis * Change 0 to math float * Do the same for the function itself * Scrolling still too fast * Still way to fast * Still too fast * Still too fast * somehow still too fast * Still too fast * Update mod.rs * testing * still fast * doesn't fit in f32 anymore * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Testing * Testing something new * Update mod.rs * Update mod.rs * Deleted unnecessary code * Implement CLI parsing with clap (#680) * implemented command line parsing with clap * removed println! * fixed file opening * added files parameter to avoid -- [FILES] * use new cmdlinesettings in various places * lets stick to the old cli-api * moved to builder syntax to allow for hypens in args * Fixed merge conflict that was overlooked before * Basic Environment variables * Added alias for MultiGrid environment var * Fix for #566 (#687) * add logging to async channels * use better logging in channels * made float change backwards compatible * fix clippy work * ignore new clippy lint * fix mac clippy lint * adjust actions * use nightly format * install utilities in mac and linux builds * Fix some shift+key mappings (#695) * fix publish test results step * Basic Frameless window support (#694) * Frameless window (not resizeable) * Update * Delete neovide.ico idk how did this get here * add readme tweak to make sure people know what neovim is * add scoop instructions for windows * implement manual font fallback with swash * M1 Runner (#711) * add self-hosted m1 * remove vulkan * cahnge toolchain * fmt * clippy * remove llvm * upload m1 * checkout upstream build.yaml * remove llvm step * remove git caching for self hosted * Add environment variables for window options (#708) * Add Env for window options * Remove PascalCase * Font Fallback (#701) * better font fallback * actually fix font fallback * swap to u64s for most font size solutions * increase line height slightly and attempt stencil buffer fix * fix divider issue * clippy and formatting fixes Co-authored-by: Keith Simmons <keithsim@microsoft.com> * clippy fixes * Fix default font (#719) * size using Z * default font ordering * clippy fixes * interactive wsl path * fix formatting Co-authored-by: Keith Simmons <keithsim@microsoft.com> Co-authored-by: shaunsingh <71196912+shaunsingh@users.noreply.github.com> Co-authored-by: Lord-Valen <46138807+Lord-Valen@users.noreply.github.com> Co-authored-by: Lord Valen <lord_valen@protonmail.com> Co-authored-by: j4qfrost <j4qfrost@gmail.com> Co-authored-by: PyGamer0 <64531844+PyGamer0@users.noreply.github.com> Co-authored-by: Obyoxar <43534802+ErikMayrhofer@users.noreply.github.com> Co-authored-by: Benson Li <bensonbinbinli@gmail.com> Co-authored-by: meluskyc <meluskyc@gmail.com>
3 years ago
Should be a standard fully featured Neovim GUI. Beyond that there are some visual niceties:
4 years ago
### Ligatures
Supports ligatures and font shaping.
4 years ago
![Ligatures](./assets/Ligatures.png)
### Animated Cursor
Cursor animates into position with a smear effect to improve tracking of cursor position.
![Animated Cursor](./assets/AnimatedCursor.gif)
### Smooth Scrolling
Scroll operations on buffers in neovim will be animated smoothly pixel wise rather than line by line at a time. Note, multigrid must be
enabled for this to work.
https://github.com/Kethku/neovide/wiki/Configuration#multigrid
![Smooth Scrolling](./assets/SmoothScrolling.gif)
4 years ago
### Animated Windows
Windows animate into position when they are moved making it easier to see how layout changes happen. Note, multigrid must be enabled for
this to work.
https://github.com/Kethku/neovide/wiki/Configuration#multigrid
4 years ago
![Animated Windows](./assets/AnimatedWindows.gif)
### Blurred Floating Windows
The backgrounds of floating windows are blurred improving the visual separation between foreground and background from
built in window transparency. Note, multigrid must be enabled for this to work.
https://github.com/Kethku/neovide/wiki/Configuration#multigrid
4 years ago
![Blurred Floating Windows](./assets/BlurredFloatingWindows.png)
### Emoji Support
Font fallback supports rendering of emoji not contained in the configured font.
![Emoji](./assets/Emoji.png)
### WSL Support
Neovide supports displaying a full gui window from inside wsl via the `--wsl` command argument. Communication is passed via standard io into the wsl copy of neovim providing identical experience similar to visual studio code's remote editing https://code.visualstudio.com/docs/remote/remote-overview.
### Remote TCP Support
Neovide supports connecting to a remote instance of Neovim over a TCP socket via the `--remote-tcp` command argument. This would allow you to run Neovim on a remote machine and use the GUI on your local machine, connecting over the network.
Launch Neovim as a TCP server (on port 6666) by running:
```sh
nvim --headless --listen localhost:6666
```
And then connect to it using:
```sh
/path/to/neovide --remote-tcp=localhost:6666
```
By specifying to listen on localhost, you only allow connections from your local computer. If you are actually doing this over a network you will want to use SSH port forwarding for security, and then connect as before.
```sh
ssh -L 6666:localhost:6666 ip.of.other.machine nvim --headless --listen localhost:6666
```
Opengl (#655) * OpenGL Backend (#486) * opengl renderer sorta working * add x11 build argument * remove x11 * format * remove alternate windowing systems * remove non opengl windowing systems * fix thread spin * add graphics interface debugging expects * update interface build and add conditional compilation * install nightly in actions * add format component to nightly install * remove vulkan from action * working without shaping * Add rustybuzz * applied suggestions from calvinkosmatka * remove husky * update skia-safe * better subpixel font rendering * commit lock file * fix merge error * Bump skia-safe to 0.39.1 (#584) Compiling for apple silicon/m1 only works on 0.39.1 * remove sdl2 file and upgrade skia/swap to egl * Update README.md to reflect changes in the main branch. Fix sequence break in Mac installation guide. (#615) Co-authored-by: Lord Valen <lord_valen@protonmail.com> * OpenGL Backend (#486) * opengl renderer sorta working * add x11 build argument * remove x11 * format * remove alternate windowing systems * remove non opengl windowing systems * fix thread spin * add graphics interface debugging expects * update interface build and add conditional compilation * install nightly in actions * add format component to nightly install * remove vulkan from action * working without shaping * Add rustybuzz * applied suggestions from calvinkosmatka * remove husky * update skia-safe * better subpixel font rendering * commit lock file * fix merge error * Bump skia-safe to 0.39.1 (#584) Compiling for apple silicon/m1 only works on 0.39.1 * remove sdl2 file and upgrade skia/swap to egl * Update README.md to reflect changes in the main branch. Fix sequence break in Mac installation guide. (#615) Co-authored-by: Lord Valen <lord_valen@protonmail.com> * Version check (#631) * add more robust version check * clippy * fix some copy pasta * revert font changes * add lock file back * pull in animation length change from main and adjust default cursor settings * Snap for Ubuntu (#576) * add more robust version check * clippy * fix some copy pasta * revert font changes * snap builds correctly * add snapcraft workflow * clean up workflow * clean up workflow * clean up workflow * check workflow works * build snap * use lxd * add snap push * add step id * use official snapcraft actions * add snap badge * move snap badge * swap from rustybuzz to swash. WAY faster performance * format files * fix command line jump filtering * attempt fix of github action * add comma * add caching to the build dependencies * fix foating window position * Fix 577 (#668) * fix formatting and clippy errors * upstream formatting fix * Added trackpad support to scrolling/smoothscrolling in OpenGL branch (#681) * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Fixed regular scroll * Update mod.rs * Update mod.rs * Reverted previous change, dividing first instead * Update mod.rs * Update mod.rs * I completely forgot about how unsigned integers in rust work * Remove the casting to integer * Forgot function signature requires integer * divide before cast * remove semicolon * Changed function signature to use float instead of integer, using float for PixelDelta * Forgot parenthesis * Change 0 to math float * Do the same for the function itself * Scrolling still too fast * Still way to fast * Still too fast * Still too fast * somehow still too fast * Still too fast * Update mod.rs * testing * still fast * doesn't fit in f32 anymore * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Testing * Testing something new * Update mod.rs * Update mod.rs * Deleted unnecessary code * Implement CLI parsing with clap (#680) * implemented command line parsing with clap * removed println! * fixed file opening * added files parameter to avoid -- [FILES] * use new cmdlinesettings in various places * lets stick to the old cli-api * moved to builder syntax to allow for hypens in args * Fixed merge conflict that was overlooked before * Basic Environment variables * Added alias for MultiGrid environment var * Fix for #566 (#687) * add logging to async channels * use better logging in channels * made float change backwards compatible * fix clippy work * ignore new clippy lint * fix mac clippy lint * adjust actions * use nightly format * install utilities in mac and linux builds * Fix some shift+key mappings (#695) * fix publish test results step * Basic Frameless window support (#694) * Frameless window (not resizeable) * Update * Delete neovide.ico idk how did this get here * add readme tweak to make sure people know what neovim is * add scoop instructions for windows * implement manual font fallback with swash * M1 Runner (#711) * add self-hosted m1 * remove vulkan * cahnge toolchain * fmt * clippy * remove llvm * upload m1 * checkout upstream build.yaml * remove llvm step * remove git caching for self hosted * Add environment variables for window options (#708) * Add Env for window options * Remove PascalCase * Font Fallback (#701) * better font fallback * actually fix font fallback * swap to u64s for most font size solutions * increase line height slightly and attempt stencil buffer fix * fix divider issue * clippy and formatting fixes Co-authored-by: Keith Simmons <keithsim@microsoft.com> * clippy fixes * Fix default font (#719) * size using Z * default font ordering * clippy fixes * interactive wsl path * fix formatting Co-authored-by: Keith Simmons <keithsim@microsoft.com> Co-authored-by: shaunsingh <71196912+shaunsingh@users.noreply.github.com> Co-authored-by: Lord-Valen <46138807+Lord-Valen@users.noreply.github.com> Co-authored-by: Lord Valen <lord_valen@protonmail.com> Co-authored-by: j4qfrost <j4qfrost@gmail.com> Co-authored-by: PyGamer0 <64531844+PyGamer0@users.noreply.github.com> Co-authored-by: Obyoxar <43534802+ErikMayrhofer@users.noreply.github.com> Co-authored-by: Benson Li <bensonbinbinli@gmail.com> Co-authored-by: meluskyc <meluskyc@gmail.com>
3 years ago
Finally, if you would like to leave the neovim server running, close the neovide application window instead of issuing a `:q` command.
4 years ago
### Some Nonsense ;)
```vim
4 years ago
let g:neovide_cursor_vfx_mode = "railgun"
```
![Railgun](./assets/Railgun.gif)
### More to Come
I've got more ideas for simple unobtrusive improvements. More to come.
## Configuration
Configuration is done almost completely via global neovide variables in your vim config and can be manipulated live at runtime. Details can be found [here](https://github.com/Kethku/neovide/wiki/Configuration).
## Install
**Note**: Building instructions are somewhat limited at the moment. All the libraries I use are cross platform and should have
support for Windows, Mac, and Linux. On Windows this should be enabled by default if you have a relatively recent system.
4 years ago
**Note**: Neovide requires neovim version 0.4 or greater.
4 years ago
### From binary
4 years ago
Opengl (#655) * OpenGL Backend (#486) * opengl renderer sorta working * add x11 build argument * remove x11 * format * remove alternate windowing systems * remove non opengl windowing systems * fix thread spin * add graphics interface debugging expects * update interface build and add conditional compilation * install nightly in actions * add format component to nightly install * remove vulkan from action * working without shaping * Add rustybuzz * applied suggestions from calvinkosmatka * remove husky * update skia-safe * better subpixel font rendering * commit lock file * fix merge error * Bump skia-safe to 0.39.1 (#584) Compiling for apple silicon/m1 only works on 0.39.1 * remove sdl2 file and upgrade skia/swap to egl * Update README.md to reflect changes in the main branch. Fix sequence break in Mac installation guide. (#615) Co-authored-by: Lord Valen <lord_valen@protonmail.com> * OpenGL Backend (#486) * opengl renderer sorta working * add x11 build argument * remove x11 * format * remove alternate windowing systems * remove non opengl windowing systems * fix thread spin * add graphics interface debugging expects * update interface build and add conditional compilation * install nightly in actions * add format component to nightly install * remove vulkan from action * working without shaping * Add rustybuzz * applied suggestions from calvinkosmatka * remove husky * update skia-safe * better subpixel font rendering * commit lock file * fix merge error * Bump skia-safe to 0.39.1 (#584) Compiling for apple silicon/m1 only works on 0.39.1 * remove sdl2 file and upgrade skia/swap to egl * Update README.md to reflect changes in the main branch. Fix sequence break in Mac installation guide. (#615) Co-authored-by: Lord Valen <lord_valen@protonmail.com> * Version check (#631) * add more robust version check * clippy * fix some copy pasta * revert font changes * add lock file back * pull in animation length change from main and adjust default cursor settings * Snap for Ubuntu (#576) * add more robust version check * clippy * fix some copy pasta * revert font changes * snap builds correctly * add snapcraft workflow * clean up workflow * clean up workflow * clean up workflow * check workflow works * build snap * use lxd * add snap push * add step id * use official snapcraft actions * add snap badge * move snap badge * swap from rustybuzz to swash. WAY faster performance * format files * fix command line jump filtering * attempt fix of github action * add comma * add caching to the build dependencies * fix foating window position * Fix 577 (#668) * fix formatting and clippy errors * upstream formatting fix * Added trackpad support to scrolling/smoothscrolling in OpenGL branch (#681) * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Fixed regular scroll * Update mod.rs * Update mod.rs * Reverted previous change, dividing first instead * Update mod.rs * Update mod.rs * I completely forgot about how unsigned integers in rust work * Remove the casting to integer * Forgot function signature requires integer * divide before cast * remove semicolon * Changed function signature to use float instead of integer, using float for PixelDelta * Forgot parenthesis * Change 0 to math float * Do the same for the function itself * Scrolling still too fast * Still way to fast * Still too fast * Still too fast * somehow still too fast * Still too fast * Update mod.rs * testing * still fast * doesn't fit in f32 anymore * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Testing * Testing something new * Update mod.rs * Update mod.rs * Deleted unnecessary code * Implement CLI parsing with clap (#680) * implemented command line parsing with clap * removed println! * fixed file opening * added files parameter to avoid -- [FILES] * use new cmdlinesettings in various places * lets stick to the old cli-api * moved to builder syntax to allow for hypens in args * Fixed merge conflict that was overlooked before * Basic Environment variables * Added alias for MultiGrid environment var * Fix for #566 (#687) * add logging to async channels * use better logging in channels * made float change backwards compatible * fix clippy work * ignore new clippy lint * fix mac clippy lint * adjust actions * use nightly format * install utilities in mac and linux builds * Fix some shift+key mappings (#695) * fix publish test results step * Basic Frameless window support (#694) * Frameless window (not resizeable) * Update * Delete neovide.ico idk how did this get here * add readme tweak to make sure people know what neovim is * add scoop instructions for windows * implement manual font fallback with swash * M1 Runner (#711) * add self-hosted m1 * remove vulkan * cahnge toolchain * fmt * clippy * remove llvm * upload m1 * checkout upstream build.yaml * remove llvm step * remove git caching for self hosted * Add environment variables for window options (#708) * Add Env for window options * Remove PascalCase * Font Fallback (#701) * better font fallback * actually fix font fallback * swap to u64s for most font size solutions * increase line height slightly and attempt stencil buffer fix * fix divider issue * clippy and formatting fixes Co-authored-by: Keith Simmons <keithsim@microsoft.com> * clippy fixes * Fix default font (#719) * size using Z * default font ordering * clippy fixes * interactive wsl path * fix formatting Co-authored-by: Keith Simmons <keithsim@microsoft.com> Co-authored-by: shaunsingh <71196912+shaunsingh@users.noreply.github.com> Co-authored-by: Lord-Valen <46138807+Lord-Valen@users.noreply.github.com> Co-authored-by: Lord Valen <lord_valen@protonmail.com> Co-authored-by: j4qfrost <j4qfrost@gmail.com> Co-authored-by: PyGamer0 <64531844+PyGamer0@users.noreply.github.com> Co-authored-by: Obyoxar <43534802+ErikMayrhofer@users.noreply.github.com> Co-authored-by: Benson Li <bensonbinbinli@gmail.com> Co-authored-by: meluskyc <meluskyc@gmail.com>
3 years ago
Building instructions are somewhat limited at the moment. All the libraries I use are cross platform and should have support for Windows, Mac, and Linux. The rendering is based on opengl, so a good gpu driver will be
necessary. On Windows this should be enabled by default if you have a relatively recent system.
4 years ago
Installing should be as simple as downloading the binary, making sure `nvim.exe` with version 0.4 or greater is on your path, and running it. Everything should be self contained.
4 years ago
Opengl (#655) * OpenGL Backend (#486) * opengl renderer sorta working * add x11 build argument * remove x11 * format * remove alternate windowing systems * remove non opengl windowing systems * fix thread spin * add graphics interface debugging expects * update interface build and add conditional compilation * install nightly in actions * add format component to nightly install * remove vulkan from action * working without shaping * Add rustybuzz * applied suggestions from calvinkosmatka * remove husky * update skia-safe * better subpixel font rendering * commit lock file * fix merge error * Bump skia-safe to 0.39.1 (#584) Compiling for apple silicon/m1 only works on 0.39.1 * remove sdl2 file and upgrade skia/swap to egl * Update README.md to reflect changes in the main branch. Fix sequence break in Mac installation guide. (#615) Co-authored-by: Lord Valen <lord_valen@protonmail.com> * OpenGL Backend (#486) * opengl renderer sorta working * add x11 build argument * remove x11 * format * remove alternate windowing systems * remove non opengl windowing systems * fix thread spin * add graphics interface debugging expects * update interface build and add conditional compilation * install nightly in actions * add format component to nightly install * remove vulkan from action * working without shaping * Add rustybuzz * applied suggestions from calvinkosmatka * remove husky * update skia-safe * better subpixel font rendering * commit lock file * fix merge error * Bump skia-safe to 0.39.1 (#584) Compiling for apple silicon/m1 only works on 0.39.1 * remove sdl2 file and upgrade skia/swap to egl * Update README.md to reflect changes in the main branch. Fix sequence break in Mac installation guide. (#615) Co-authored-by: Lord Valen <lord_valen@protonmail.com> * Version check (#631) * add more robust version check * clippy * fix some copy pasta * revert font changes * add lock file back * pull in animation length change from main and adjust default cursor settings * Snap for Ubuntu (#576) * add more robust version check * clippy * fix some copy pasta * revert font changes * snap builds correctly * add snapcraft workflow * clean up workflow * clean up workflow * clean up workflow * check workflow works * build snap * use lxd * add snap push * add step id * use official snapcraft actions * add snap badge * move snap badge * swap from rustybuzz to swash. WAY faster performance * format files * fix command line jump filtering * attempt fix of github action * add comma * add caching to the build dependencies * fix foating window position * Fix 577 (#668) * fix formatting and clippy errors * upstream formatting fix * Added trackpad support to scrolling/smoothscrolling in OpenGL branch (#681) * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Fixed regular scroll * Update mod.rs * Update mod.rs * Reverted previous change, dividing first instead * Update mod.rs * Update mod.rs * I completely forgot about how unsigned integers in rust work * Remove the casting to integer * Forgot function signature requires integer * divide before cast * remove semicolon * Changed function signature to use float instead of integer, using float for PixelDelta * Forgot parenthesis * Change 0 to math float * Do the same for the function itself * Scrolling still too fast * Still way to fast * Still too fast * Still too fast * somehow still too fast * Still too fast * Update mod.rs * testing * still fast * doesn't fit in f32 anymore * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Testing * Testing something new * Update mod.rs * Update mod.rs * Deleted unnecessary code * Implement CLI parsing with clap (#680) * implemented command line parsing with clap * removed println! * fixed file opening * added files parameter to avoid -- [FILES] * use new cmdlinesettings in various places * lets stick to the old cli-api * moved to builder syntax to allow for hypens in args * Fixed merge conflict that was overlooked before * Basic Environment variables * Added alias for MultiGrid environment var * Fix for #566 (#687) * add logging to async channels * use better logging in channels * made float change backwards compatible * fix clippy work * ignore new clippy lint * fix mac clippy lint * adjust actions * use nightly format * install utilities in mac and linux builds * Fix some shift+key mappings (#695) * fix publish test results step * Basic Frameless window support (#694) * Frameless window (not resizeable) * Update * Delete neovide.ico idk how did this get here * add readme tweak to make sure people know what neovim is * add scoop instructions for windows * implement manual font fallback with swash * M1 Runner (#711) * add self-hosted m1 * remove vulkan * cahnge toolchain * fmt * clippy * remove llvm * upload m1 * checkout upstream build.yaml * remove llvm step * remove git caching for self hosted * Add environment variables for window options (#708) * Add Env for window options * Remove PascalCase * Font Fallback (#701) * better font fallback * actually fix font fallback * swap to u64s for most font size solutions * increase line height slightly and attempt stencil buffer fix * fix divider issue * clippy and formatting fixes Co-authored-by: Keith Simmons <keithsim@microsoft.com> * clippy fixes * Fix default font (#719) * size using Z * default font ordering * clippy fixes * interactive wsl path * fix formatting Co-authored-by: Keith Simmons <keithsim@microsoft.com> Co-authored-by: shaunsingh <71196912+shaunsingh@users.noreply.github.com> Co-authored-by: Lord-Valen <46138807+Lord-Valen@users.noreply.github.com> Co-authored-by: Lord Valen <lord_valen@protonmail.com> Co-authored-by: j4qfrost <j4qfrost@gmail.com> Co-authored-by: PyGamer0 <64531844+PyGamer0@users.noreply.github.com> Co-authored-by: Obyoxar <43534802+ErikMayrhofer@users.noreply.github.com> Co-authored-by: Benson Li <bensonbinbinli@gmail.com> Co-authored-by: meluskyc <meluskyc@gmail.com>
3 years ago
### Windows
#### Package manager
[Scoop](https://scoop.sh/) has Neovide in the `extras` bucket. Ensure you have the `extras` bucket, and install:
```
$ scoop bucket list
main
extras
$ scoop install neovide
```
#### From source
4 years ago
1. Install the latest version of Rust. I recommend <https://rustup.rs/>
2. Install CMake. I use chocolatey: `choco install cmake --installargs '"ADD_CMAKE_TO_PATH=System"' -y`
3. Install LLVM. I use chocolatey: `choco install llvm -y`
4. Ensure graphics libraries are up to date.
5. Build and install Neovide:
```sh
git clone https://github.com/Kethku/neovide
cd neovide
cargo build --release
```
4 years ago
6. Copy `./target/release/neovide.exe` to a known location and enjoy.
### Mac (from source)
4 years ago
1. Install the latest version of Rust. Using homebrew: `brew install rustup`
2. Configure rust by running `rustup-init`
3. Install CMake. Using homebrew: `brew install cmake`
4. `git clone https://github.com/Kethku/neovide`
5. `cd neovide`
6. `cargo build --release`
7. Copy `./target/release/neovide` to a known location and enjoy.
4 years ago
### Linux
#### Arch Linux
There is an [AUR package for neovide](https://aur.archlinux.org/packages/neovide-git/).
##### With Paru (or your preferred AUR helper)
```sh
paru -S neovide-git
```
##### Without helper
4 years ago
```sh
git clone https://aur.archlinux.org/neovide-git.git
cd neovide-git
4 years ago
makepkg -si
```
Opengl (#655) * OpenGL Backend (#486) * opengl renderer sorta working * add x11 build argument * remove x11 * format * remove alternate windowing systems * remove non opengl windowing systems * fix thread spin * add graphics interface debugging expects * update interface build and add conditional compilation * install nightly in actions * add format component to nightly install * remove vulkan from action * working without shaping * Add rustybuzz * applied suggestions from calvinkosmatka * remove husky * update skia-safe * better subpixel font rendering * commit lock file * fix merge error * Bump skia-safe to 0.39.1 (#584) Compiling for apple silicon/m1 only works on 0.39.1 * remove sdl2 file and upgrade skia/swap to egl * Update README.md to reflect changes in the main branch. Fix sequence break in Mac installation guide. (#615) Co-authored-by: Lord Valen <lord_valen@protonmail.com> * OpenGL Backend (#486) * opengl renderer sorta working * add x11 build argument * remove x11 * format * remove alternate windowing systems * remove non opengl windowing systems * fix thread spin * add graphics interface debugging expects * update interface build and add conditional compilation * install nightly in actions * add format component to nightly install * remove vulkan from action * working without shaping * Add rustybuzz * applied suggestions from calvinkosmatka * remove husky * update skia-safe * better subpixel font rendering * commit lock file * fix merge error * Bump skia-safe to 0.39.1 (#584) Compiling for apple silicon/m1 only works on 0.39.1 * remove sdl2 file and upgrade skia/swap to egl * Update README.md to reflect changes in the main branch. Fix sequence break in Mac installation guide. (#615) Co-authored-by: Lord Valen <lord_valen@protonmail.com> * Version check (#631) * add more robust version check * clippy * fix some copy pasta * revert font changes * add lock file back * pull in animation length change from main and adjust default cursor settings * Snap for Ubuntu (#576) * add more robust version check * clippy * fix some copy pasta * revert font changes * snap builds correctly * add snapcraft workflow * clean up workflow * clean up workflow * clean up workflow * check workflow works * build snap * use lxd * add snap push * add step id * use official snapcraft actions * add snap badge * move snap badge * swap from rustybuzz to swash. WAY faster performance * format files * fix command line jump filtering * attempt fix of github action * add comma * add caching to the build dependencies * fix foating window position * Fix 577 (#668) * fix formatting and clippy errors * upstream formatting fix * Added trackpad support to scrolling/smoothscrolling in OpenGL branch (#681) * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Fixed regular scroll * Update mod.rs * Update mod.rs * Reverted previous change, dividing first instead * Update mod.rs * Update mod.rs * I completely forgot about how unsigned integers in rust work * Remove the casting to integer * Forgot function signature requires integer * divide before cast * remove semicolon * Changed function signature to use float instead of integer, using float for PixelDelta * Forgot parenthesis * Change 0 to math float * Do the same for the function itself * Scrolling still too fast * Still way to fast * Still too fast * Still too fast * somehow still too fast * Still too fast * Update mod.rs * testing * still fast * doesn't fit in f32 anymore * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Testing * Testing something new * Update mod.rs * Update mod.rs * Deleted unnecessary code * Implement CLI parsing with clap (#680) * implemented command line parsing with clap * removed println! * fixed file opening * added files parameter to avoid -- [FILES] * use new cmdlinesettings in various places * lets stick to the old cli-api * moved to builder syntax to allow for hypens in args * Fixed merge conflict that was overlooked before * Basic Environment variables * Added alias for MultiGrid environment var * Fix for #566 (#687) * add logging to async channels * use better logging in channels * made float change backwards compatible * fix clippy work * ignore new clippy lint * fix mac clippy lint * adjust actions * use nightly format * install utilities in mac and linux builds * Fix some shift+key mappings (#695) * fix publish test results step * Basic Frameless window support (#694) * Frameless window (not resizeable) * Update * Delete neovide.ico idk how did this get here * add readme tweak to make sure people know what neovim is * add scoop instructions for windows * implement manual font fallback with swash * M1 Runner (#711) * add self-hosted m1 * remove vulkan * cahnge toolchain * fmt * clippy * remove llvm * upload m1 * checkout upstream build.yaml * remove llvm step * remove git caching for self hosted * Add environment variables for window options (#708) * Add Env for window options * Remove PascalCase * Font Fallback (#701) * better font fallback * actually fix font fallback * swap to u64s for most font size solutions * increase line height slightly and attempt stencil buffer fix * fix divider issue * clippy and formatting fixes Co-authored-by: Keith Simmons <keithsim@microsoft.com> * clippy fixes * Fix default font (#719) * size using Z * default font ordering * clippy fixes * interactive wsl path * fix formatting Co-authored-by: Keith Simmons <keithsim@microsoft.com> Co-authored-by: shaunsingh <71196912+shaunsingh@users.noreply.github.com> Co-authored-by: Lord-Valen <46138807+Lord-Valen@users.noreply.github.com> Co-authored-by: Lord Valen <lord_valen@protonmail.com> Co-authored-by: j4qfrost <j4qfrost@gmail.com> Co-authored-by: PyGamer0 <64531844+PyGamer0@users.noreply.github.com> Co-authored-by: Obyoxar <43534802+ErikMayrhofer@users.noreply.github.com> Co-authored-by: Benson Li <bensonbinbinli@gmail.com> Co-authored-by: meluskyc <meluskyc@gmail.com>
3 years ago
To install a non-default branch:
```sh
git clone https://aur.archlinux.org/neovide-git.git
cd neovide-git
nvim PKGBUILD
:%s/l}/l}#branch=branch-name-here/
:wq
makepkg -si
```
Note: Neovide requires that a font be set in `init.vim` otherwise errors might be encountered.
See [#527](https://github.com/Kethku/neovide/issues/527)
##### With non-default branch
```sh
git clone https://aur.archlinux.org/neovide-git.git
cd neovide-git
REGEX=$(printf 's/{url}/&\#branch=%s/g' '<YOUR-BRANCH-HERE>')
sed "$REGEX" PKGBUILD
makepkg -si
```
#### With Snap
Neovide is also available in the Snap Store. You can install it
using the command below.
```
snap install neovide
```
[![Get it from the Snap Store](https://snapcraft.io/static/images/badges/en/snap-store-white.svg)](https://snapcraft.io/neovide)
#### From source
1. Install necessary dependencies (adjust for your preferred package manager)
4 years ago
```sh
sudo apt install -y curl \
4 years ago
gnupg ca-certificates git \
gcc-multilib g++-multilib cmake libssl-dev pkg-config \
libfreetype6-dev libasound2-dev libexpat1-dev libxcb-composite0-dev \
libbz2-dev libsndio-dev freeglut3-dev libxmu-dev libxi-dev libfontconfig1-dev
4 years ago
```
Opengl (#655) * OpenGL Backend (#486) * opengl renderer sorta working * add x11 build argument * remove x11 * format * remove alternate windowing systems * remove non opengl windowing systems * fix thread spin * add graphics interface debugging expects * update interface build and add conditional compilation * install nightly in actions * add format component to nightly install * remove vulkan from action * working without shaping * Add rustybuzz * applied suggestions from calvinkosmatka * remove husky * update skia-safe * better subpixel font rendering * commit lock file * fix merge error * Bump skia-safe to 0.39.1 (#584) Compiling for apple silicon/m1 only works on 0.39.1 * remove sdl2 file and upgrade skia/swap to egl * Update README.md to reflect changes in the main branch. Fix sequence break in Mac installation guide. (#615) Co-authored-by: Lord Valen <lord_valen@protonmail.com> * OpenGL Backend (#486) * opengl renderer sorta working * add x11 build argument * remove x11 * format * remove alternate windowing systems * remove non opengl windowing systems * fix thread spin * add graphics interface debugging expects * update interface build and add conditional compilation * install nightly in actions * add format component to nightly install * remove vulkan from action * working without shaping * Add rustybuzz * applied suggestions from calvinkosmatka * remove husky * update skia-safe * better subpixel font rendering * commit lock file * fix merge error * Bump skia-safe to 0.39.1 (#584) Compiling for apple silicon/m1 only works on 0.39.1 * remove sdl2 file and upgrade skia/swap to egl * Update README.md to reflect changes in the main branch. Fix sequence break in Mac installation guide. (#615) Co-authored-by: Lord Valen <lord_valen@protonmail.com> * Version check (#631) * add more robust version check * clippy * fix some copy pasta * revert font changes * add lock file back * pull in animation length change from main and adjust default cursor settings * Snap for Ubuntu (#576) * add more robust version check * clippy * fix some copy pasta * revert font changes * snap builds correctly * add snapcraft workflow * clean up workflow * clean up workflow * clean up workflow * check workflow works * build snap * use lxd * add snap push * add step id * use official snapcraft actions * add snap badge * move snap badge * swap from rustybuzz to swash. WAY faster performance * format files * fix command line jump filtering * attempt fix of github action * add comma * add caching to the build dependencies * fix foating window position * Fix 577 (#668) * fix formatting and clippy errors * upstream formatting fix * Added trackpad support to scrolling/smoothscrolling in OpenGL branch (#681) * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Fixed regular scroll * Update mod.rs * Update mod.rs * Reverted previous change, dividing first instead * Update mod.rs * Update mod.rs * I completely forgot about how unsigned integers in rust work * Remove the casting to integer * Forgot function signature requires integer * divide before cast * remove semicolon * Changed function signature to use float instead of integer, using float for PixelDelta * Forgot parenthesis * Change 0 to math float * Do the same for the function itself * Scrolling still too fast * Still way to fast * Still too fast * Still too fast * somehow still too fast * Still too fast * Update mod.rs * testing * still fast * doesn't fit in f32 anymore * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Testing * Testing something new * Update mod.rs * Update mod.rs * Deleted unnecessary code * Implement CLI parsing with clap (#680) * implemented command line parsing with clap * removed println! * fixed file opening * added files parameter to avoid -- [FILES] * use new cmdlinesettings in various places * lets stick to the old cli-api * moved to builder syntax to allow for hypens in args * Fixed merge conflict that was overlooked before * Basic Environment variables * Added alias for MultiGrid environment var * Fix for #566 (#687) * add logging to async channels * use better logging in channels * made float change backwards compatible * fix clippy work * ignore new clippy lint * fix mac clippy lint * adjust actions * use nightly format * install utilities in mac and linux builds * Fix some shift+key mappings (#695) * fix publish test results step * Basic Frameless window support (#694) * Frameless window (not resizeable) * Update * Delete neovide.ico idk how did this get here * add readme tweak to make sure people know what neovim is * add scoop instructions for windows * implement manual font fallback with swash * M1 Runner (#711) * add self-hosted m1 * remove vulkan * cahnge toolchain * fmt * clippy * remove llvm * upload m1 * checkout upstream build.yaml * remove llvm step * remove git caching for self hosted * Add environment variables for window options (#708) * Add Env for window options * Remove PascalCase * Font Fallback (#701) * better font fallback * actually fix font fallback * swap to u64s for most font size solutions * increase line height slightly and attempt stencil buffer fix * fix divider issue * clippy and formatting fixes Co-authored-by: Keith Simmons <keithsim@microsoft.com> * clippy fixes * Fix default font (#719) * size using Z * default font ordering * clippy fixes * interactive wsl path * fix formatting Co-authored-by: Keith Simmons <keithsim@microsoft.com> Co-authored-by: shaunsingh <71196912+shaunsingh@users.noreply.github.com> Co-authored-by: Lord-Valen <46138807+Lord-Valen@users.noreply.github.com> Co-authored-by: Lord Valen <lord_valen@protonmail.com> Co-authored-by: j4qfrost <j4qfrost@gmail.com> Co-authored-by: PyGamer0 <64531844+PyGamer0@users.noreply.github.com> Co-authored-by: Obyoxar <43534802+ErikMayrhofer@users.noreply.github.com> Co-authored-by: Benson Li <bensonbinbinli@gmail.com> Co-authored-by: meluskyc <meluskyc@gmail.com>
3 years ago
2. Install Rust
4 years ago
```sh
curl --proto '=https' --tlsv1.2 -sSf "https://sh.rustup.rs" | sh
```
4 years ago
Opengl (#655) * OpenGL Backend (#486) * opengl renderer sorta working * add x11 build argument * remove x11 * format * remove alternate windowing systems * remove non opengl windowing systems * fix thread spin * add graphics interface debugging expects * update interface build and add conditional compilation * install nightly in actions * add format component to nightly install * remove vulkan from action * working without shaping * Add rustybuzz * applied suggestions from calvinkosmatka * remove husky * update skia-safe * better subpixel font rendering * commit lock file * fix merge error * Bump skia-safe to 0.39.1 (#584) Compiling for apple silicon/m1 only works on 0.39.1 * remove sdl2 file and upgrade skia/swap to egl * Update README.md to reflect changes in the main branch. Fix sequence break in Mac installation guide. (#615) Co-authored-by: Lord Valen <lord_valen@protonmail.com> * OpenGL Backend (#486) * opengl renderer sorta working * add x11 build argument * remove x11 * format * remove alternate windowing systems * remove non opengl windowing systems * fix thread spin * add graphics interface debugging expects * update interface build and add conditional compilation * install nightly in actions * add format component to nightly install * remove vulkan from action * working without shaping * Add rustybuzz * applied suggestions from calvinkosmatka * remove husky * update skia-safe * better subpixel font rendering * commit lock file * fix merge error * Bump skia-safe to 0.39.1 (#584) Compiling for apple silicon/m1 only works on 0.39.1 * remove sdl2 file and upgrade skia/swap to egl * Update README.md to reflect changes in the main branch. Fix sequence break in Mac installation guide. (#615) Co-authored-by: Lord Valen <lord_valen@protonmail.com> * Version check (#631) * add more robust version check * clippy * fix some copy pasta * revert font changes * add lock file back * pull in animation length change from main and adjust default cursor settings * Snap for Ubuntu (#576) * add more robust version check * clippy * fix some copy pasta * revert font changes * snap builds correctly * add snapcraft workflow * clean up workflow * clean up workflow * clean up workflow * check workflow works * build snap * use lxd * add snap push * add step id * use official snapcraft actions * add snap badge * move snap badge * swap from rustybuzz to swash. WAY faster performance * format files * fix command line jump filtering * attempt fix of github action * add comma * add caching to the build dependencies * fix foating window position * Fix 577 (#668) * fix formatting and clippy errors * upstream formatting fix * Added trackpad support to scrolling/smoothscrolling in OpenGL branch (#681) * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Fixed regular scroll * Update mod.rs * Update mod.rs * Reverted previous change, dividing first instead * Update mod.rs * Update mod.rs * I completely forgot about how unsigned integers in rust work * Remove the casting to integer * Forgot function signature requires integer * divide before cast * remove semicolon * Changed function signature to use float instead of integer, using float for PixelDelta * Forgot parenthesis * Change 0 to math float * Do the same for the function itself * Scrolling still too fast * Still way to fast * Still too fast * Still too fast * somehow still too fast * Still too fast * Update mod.rs * testing * still fast * doesn't fit in f32 anymore * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Testing * Testing something new * Update mod.rs * Update mod.rs * Deleted unnecessary code * Implement CLI parsing with clap (#680) * implemented command line parsing with clap * removed println! * fixed file opening * added files parameter to avoid -- [FILES] * use new cmdlinesettings in various places * lets stick to the old cli-api * moved to builder syntax to allow for hypens in args * Fixed merge conflict that was overlooked before * Basic Environment variables * Added alias for MultiGrid environment var * Fix for #566 (#687) * add logging to async channels * use better logging in channels * made float change backwards compatible * fix clippy work * ignore new clippy lint * fix mac clippy lint * adjust actions * use nightly format * install utilities in mac and linux builds * Fix some shift+key mappings (#695) * fix publish test results step * Basic Frameless window support (#694) * Frameless window (not resizeable) * Update * Delete neovide.ico idk how did this get here * add readme tweak to make sure people know what neovim is * add scoop instructions for windows * implement manual font fallback with swash * M1 Runner (#711) * add self-hosted m1 * remove vulkan * cahnge toolchain * fmt * clippy * remove llvm * upload m1 * checkout upstream build.yaml * remove llvm step * remove git caching for self hosted * Add environment variables for window options (#708) * Add Env for window options * Remove PascalCase * Font Fallback (#701) * better font fallback * actually fix font fallback * swap to u64s for most font size solutions * increase line height slightly and attempt stencil buffer fix * fix divider issue * clippy and formatting fixes Co-authored-by: Keith Simmons <keithsim@microsoft.com> * clippy fixes * Fix default font (#719) * size using Z * default font ordering * clippy fixes * interactive wsl path * fix formatting Co-authored-by: Keith Simmons <keithsim@microsoft.com> Co-authored-by: shaunsingh <71196912+shaunsingh@users.noreply.github.com> Co-authored-by: Lord-Valen <46138807+Lord-Valen@users.noreply.github.com> Co-authored-by: Lord Valen <lord_valen@protonmail.com> Co-authored-by: j4qfrost <j4qfrost@gmail.com> Co-authored-by: PyGamer0 <64531844+PyGamer0@users.noreply.github.com> Co-authored-by: Obyoxar <43534802+ErikMayrhofer@users.noreply.github.com> Co-authored-by: Benson Li <bensonbinbinli@gmail.com> Co-authored-by: meluskyc <meluskyc@gmail.com>
3 years ago
3. Clone the repository
4 years ago
```sh
git clone "https://github.com/Kethku/neovide"
```
4 years ago
Opengl (#655) * OpenGL Backend (#486) * opengl renderer sorta working * add x11 build argument * remove x11 * format * remove alternate windowing systems * remove non opengl windowing systems * fix thread spin * add graphics interface debugging expects * update interface build and add conditional compilation * install nightly in actions * add format component to nightly install * remove vulkan from action * working without shaping * Add rustybuzz * applied suggestions from calvinkosmatka * remove husky * update skia-safe * better subpixel font rendering * commit lock file * fix merge error * Bump skia-safe to 0.39.1 (#584) Compiling for apple silicon/m1 only works on 0.39.1 * remove sdl2 file and upgrade skia/swap to egl * Update README.md to reflect changes in the main branch. Fix sequence break in Mac installation guide. (#615) Co-authored-by: Lord Valen <lord_valen@protonmail.com> * OpenGL Backend (#486) * opengl renderer sorta working * add x11 build argument * remove x11 * format * remove alternate windowing systems * remove non opengl windowing systems * fix thread spin * add graphics interface debugging expects * update interface build and add conditional compilation * install nightly in actions * add format component to nightly install * remove vulkan from action * working without shaping * Add rustybuzz * applied suggestions from calvinkosmatka * remove husky * update skia-safe * better subpixel font rendering * commit lock file * fix merge error * Bump skia-safe to 0.39.1 (#584) Compiling for apple silicon/m1 only works on 0.39.1 * remove sdl2 file and upgrade skia/swap to egl * Update README.md to reflect changes in the main branch. Fix sequence break in Mac installation guide. (#615) Co-authored-by: Lord Valen <lord_valen@protonmail.com> * Version check (#631) * add more robust version check * clippy * fix some copy pasta * revert font changes * add lock file back * pull in animation length change from main and adjust default cursor settings * Snap for Ubuntu (#576) * add more robust version check * clippy * fix some copy pasta * revert font changes * snap builds correctly * add snapcraft workflow * clean up workflow * clean up workflow * clean up workflow * check workflow works * build snap * use lxd * add snap push * add step id * use official snapcraft actions * add snap badge * move snap badge * swap from rustybuzz to swash. WAY faster performance * format files * fix command line jump filtering * attempt fix of github action * add comma * add caching to the build dependencies * fix foating window position * Fix 577 (#668) * fix formatting and clippy errors * upstream formatting fix * Added trackpad support to scrolling/smoothscrolling in OpenGL branch (#681) * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Fixed regular scroll * Update mod.rs * Update mod.rs * Reverted previous change, dividing first instead * Update mod.rs * Update mod.rs * I completely forgot about how unsigned integers in rust work * Remove the casting to integer * Forgot function signature requires integer * divide before cast * remove semicolon * Changed function signature to use float instead of integer, using float for PixelDelta * Forgot parenthesis * Change 0 to math float * Do the same for the function itself * Scrolling still too fast * Still way to fast * Still too fast * Still too fast * somehow still too fast * Still too fast * Update mod.rs * testing * still fast * doesn't fit in f32 anymore * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Testing * Testing something new * Update mod.rs * Update mod.rs * Deleted unnecessary code * Implement CLI parsing with clap (#680) * implemented command line parsing with clap * removed println! * fixed file opening * added files parameter to avoid -- [FILES] * use new cmdlinesettings in various places * lets stick to the old cli-api * moved to builder syntax to allow for hypens in args * Fixed merge conflict that was overlooked before * Basic Environment variables * Added alias for MultiGrid environment var * Fix for #566 (#687) * add logging to async channels * use better logging in channels * made float change backwards compatible * fix clippy work * ignore new clippy lint * fix mac clippy lint * adjust actions * use nightly format * install utilities in mac and linux builds * Fix some shift+key mappings (#695) * fix publish test results step * Basic Frameless window support (#694) * Frameless window (not resizeable) * Update * Delete neovide.ico idk how did this get here * add readme tweak to make sure people know what neovim is * add scoop instructions for windows * implement manual font fallback with swash * M1 Runner (#711) * add self-hosted m1 * remove vulkan * cahnge toolchain * fmt * clippy * remove llvm * upload m1 * checkout upstream build.yaml * remove llvm step * remove git caching for self hosted * Add environment variables for window options (#708) * Add Env for window options * Remove PascalCase * Font Fallback (#701) * better font fallback * actually fix font fallback * swap to u64s for most font size solutions * increase line height slightly and attempt stencil buffer fix * fix divider issue * clippy and formatting fixes Co-authored-by: Keith Simmons <keithsim@microsoft.com> * clippy fixes * Fix default font (#719) * size using Z * default font ordering * clippy fixes * interactive wsl path * fix formatting Co-authored-by: Keith Simmons <keithsim@microsoft.com> Co-authored-by: shaunsingh <71196912+shaunsingh@users.noreply.github.com> Co-authored-by: Lord-Valen <46138807+Lord-Valen@users.noreply.github.com> Co-authored-by: Lord Valen <lord_valen@protonmail.com> Co-authored-by: j4qfrost <j4qfrost@gmail.com> Co-authored-by: PyGamer0 <64531844+PyGamer0@users.noreply.github.com> Co-authored-by: Obyoxar <43534802+ErikMayrhofer@users.noreply.github.com> Co-authored-by: Benson Li <bensonbinbinli@gmail.com> Co-authored-by: meluskyc <meluskyc@gmail.com>
3 years ago
4. Build
4 years ago
```sh
cd neovide && ~/.cargo/bin/cargo build --release
```
4 years ago
Opengl (#655) * OpenGL Backend (#486) * opengl renderer sorta working * add x11 build argument * remove x11 * format * remove alternate windowing systems * remove non opengl windowing systems * fix thread spin * add graphics interface debugging expects * update interface build and add conditional compilation * install nightly in actions * add format component to nightly install * remove vulkan from action * working without shaping * Add rustybuzz * applied suggestions from calvinkosmatka * remove husky * update skia-safe * better subpixel font rendering * commit lock file * fix merge error * Bump skia-safe to 0.39.1 (#584) Compiling for apple silicon/m1 only works on 0.39.1 * remove sdl2 file and upgrade skia/swap to egl * Update README.md to reflect changes in the main branch. Fix sequence break in Mac installation guide. (#615) Co-authored-by: Lord Valen <lord_valen@protonmail.com> * OpenGL Backend (#486) * opengl renderer sorta working * add x11 build argument * remove x11 * format * remove alternate windowing systems * remove non opengl windowing systems * fix thread spin * add graphics interface debugging expects * update interface build and add conditional compilation * install nightly in actions * add format component to nightly install * remove vulkan from action * working without shaping * Add rustybuzz * applied suggestions from calvinkosmatka * remove husky * update skia-safe * better subpixel font rendering * commit lock file * fix merge error * Bump skia-safe to 0.39.1 (#584) Compiling for apple silicon/m1 only works on 0.39.1 * remove sdl2 file and upgrade skia/swap to egl * Update README.md to reflect changes in the main branch. Fix sequence break in Mac installation guide. (#615) Co-authored-by: Lord Valen <lord_valen@protonmail.com> * Version check (#631) * add more robust version check * clippy * fix some copy pasta * revert font changes * add lock file back * pull in animation length change from main and adjust default cursor settings * Snap for Ubuntu (#576) * add more robust version check * clippy * fix some copy pasta * revert font changes * snap builds correctly * add snapcraft workflow * clean up workflow * clean up workflow * clean up workflow * check workflow works * build snap * use lxd * add snap push * add step id * use official snapcraft actions * add snap badge * move snap badge * swap from rustybuzz to swash. WAY faster performance * format files * fix command line jump filtering * attempt fix of github action * add comma * add caching to the build dependencies * fix foating window position * Fix 577 (#668) * fix formatting and clippy errors * upstream formatting fix * Added trackpad support to scrolling/smoothscrolling in OpenGL branch (#681) * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Fixed regular scroll * Update mod.rs * Update mod.rs * Reverted previous change, dividing first instead * Update mod.rs * Update mod.rs * I completely forgot about how unsigned integers in rust work * Remove the casting to integer * Forgot function signature requires integer * divide before cast * remove semicolon * Changed function signature to use float instead of integer, using float for PixelDelta * Forgot parenthesis * Change 0 to math float * Do the same for the function itself * Scrolling still too fast * Still way to fast * Still too fast * Still too fast * somehow still too fast * Still too fast * Update mod.rs * testing * still fast * doesn't fit in f32 anymore * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Update mod.rs * Testing * Testing something new * Update mod.rs * Update mod.rs * Deleted unnecessary code * Implement CLI parsing with clap (#680) * implemented command line parsing with clap * removed println! * fixed file opening * added files parameter to avoid -- [FILES] * use new cmdlinesettings in various places * lets stick to the old cli-api * moved to builder syntax to allow for hypens in args * Fixed merge conflict that was overlooked before * Basic Environment variables * Added alias for MultiGrid environment var * Fix for #566 (#687) * add logging to async channels * use better logging in channels * made float change backwards compatible * fix clippy work * ignore new clippy lint * fix mac clippy lint * adjust actions * use nightly format * install utilities in mac and linux builds * Fix some shift+key mappings (#695) * fix publish test results step * Basic Frameless window support (#694) * Frameless window (not resizeable) * Update * Delete neovide.ico idk how did this get here * add readme tweak to make sure people know what neovim is * add scoop instructions for windows * implement manual font fallback with swash * M1 Runner (#711) * add self-hosted m1 * remove vulkan * cahnge toolchain * fmt * clippy * remove llvm * upload m1 * checkout upstream build.yaml * remove llvm step * remove git caching for self hosted * Add environment variables for window options (#708) * Add Env for window options * Remove PascalCase * Font Fallback (#701) * better font fallback * actually fix font fallback * swap to u64s for most font size solutions * increase line height slightly and attempt stencil buffer fix * fix divider issue * clippy and formatting fixes Co-authored-by: Keith Simmons <keithsim@microsoft.com> * clippy fixes * Fix default font (#719) * size using Z * default font ordering * clippy fixes * interactive wsl path * fix formatting Co-authored-by: Keith Simmons <keithsim@microsoft.com> Co-authored-by: shaunsingh <71196912+shaunsingh@users.noreply.github.com> Co-authored-by: Lord-Valen <46138807+Lord-Valen@users.noreply.github.com> Co-authored-by: Lord Valen <lord_valen@protonmail.com> Co-authored-by: j4qfrost <j4qfrost@gmail.com> Co-authored-by: PyGamer0 <64531844+PyGamer0@users.noreply.github.com> Co-authored-by: Obyoxar <43534802+ErikMayrhofer@users.noreply.github.com> Co-authored-by: Benson Li <bensonbinbinli@gmail.com> Co-authored-by: meluskyc <meluskyc@gmail.com>
3 years ago
5. Copy `./target/release/neovide` to a known location and enjoy.
4 years ago
## Troubleshooting
- Neovide requires that a font be set in `init.vim` otherwise errors might be encountered. This can be fixed by adding `set guifont=Your\ Font\ Name:h15` in init.vim file. Reference issue [#527](https://github.com/Kethku/neovide/issues/527).
4 years ago
### Linux-specific
- If you recieve errors complaining about DRI3 settings, please reference issue [#44](https://github.com/Kethku/neovide/issues/44#issuecomment-578618052).