579 Commits (f7845c779266ea36df7f58e91af3a0caaf9ce768)

Author SHA1 Message Date
Keith Simmons 6e2f9551eb remove vulkan call branch 4 years ago
Benjamin Davies 5d98148b03
Don't call `.vulkan()` when building the SDL window on macOS (#541)
This appears to fix some (not all) of the problems that are mentioned in #466
4 years ago
Chinmay Dalal 54b967f41a
Fix `log::error` import (#522) 4 years ago
Chinmay Dalal d14802cb43
Fix clippy, fix font load test (#517)
* Fix warnings

* Fix clippy, ignore font_load test

* Changes requested in PR review

* Fix unused variable and function using #cfg
4 years ago
Chinmay Dalal cc50ff262e
Set termguicolors to true 4 years ago
Keith Simmons 5c6d84a4f1 switch to prefering the discrete gpu 4 years ago
Keith Simmons 9f1be63ce6 format code 4 years ago
Jade 6d5d632c96
Add an icon to the SDL2 window (#462)
* Add an icon to the SDL2 window

* Use the native endian RGBA32 so we don't have wrong icons on BE
4 years ago
ref209 008528d272
Add vim setting for iso layout compatibility (#463) 4 years ago
Lachlan Easton 80f5dcee42
Round up font size to account for draw_image_rect not doing subpixel copying (#454) 4 years ago
Jade 68582e0551
Disable the default-on SDL hint to disable compositing on X11 (#464)
SDL tells the window manager to disable compositing for its windows by
default in order to somewhat improve rendering performance.  This is
unfortunate for a text editor one would be using concurrently with other
programs, because KDE misbehaves with its global taskbar if this is
done, and it also may freeze or otherwise break the display of running
Firefox windows. This misbehaviour affects all SDL windows including
e.g. games such as Factorio.

There is a global switch to ignore all applications making this request
in the KDE compositor settings called "Allow applications to block
compositing", as well as an option in the window rules dialog to do it
for individual windows by class, but we should try to do the right thing
by default. The user can decide to block compositing per-window with
these rules if they wish to preserve the previous behaviour.

Fixes #370.
4 years ago
Keith Simmons b0bf7c2e75 fix winit build 4 years ago
Keith Simmons 9b26d4b4d5 add back mac os exit when running from bundle 4 years ago
Keith Simmons fed63a9507 separate font types into files in their own folder 4 years ago
Keith Simmons 86c241ee55 I hate everything 4 years ago
Keith Simmons 3aceaaaa62 fix formatting 4 years ago
Keith Simmons 4d4e97b519 fix usings issue on mac 4 years ago
Keith Simmons e6b52f8127 fix linux and mac builds 4 years ago
Keith Simmons 546937501b
Add version and help command line arguments (#443)
* add maximized command line argument

* fix println when in release mode on windows
4 years ago
Keith Simmons 5b29700513
add maximized command line argument (#442) 4 years ago
Keith Simmons ec06247ad2 fix floating window foreground 4 years ago
Keith Simmons af93c54f3e
Settings derive macro (#439)
* Added procedural macro crate

* Initial derive macro implementation

* Compiles for cursor settings

* Derive macro working correctly

* Derive macro working for all settings structs

* Cleanup

* Moved the binary back to the project root

* remove unused utils file

Co-authored-by: Tim Harding <Tim@TimHarding.co>
4 years ago
Keith Simmons 33f6a4b914
Fix dpi scaling (#438)
* fixing dpi

* refactor rendered window for better dpi scaling

* prevent cursor from animating out of the window bounds

Co-authored-by: Gabby Grinslade <grinsladeg@gmail.com>
4 years ago
Keith Simmons 1d981f3c2c
Smooth scrolling (#423)
* parse viewport events

* progress toward pixel scrolling

* ITS WORKING

* fix basic scrolling gaps

* add limit to number of old surfaces to store

* set cursor destination based on rendered location not global grid
4 years ago
Gabby Grinslade 38c5538186 fix winit build 4 years ago
Tim Harding c63b054521
Keyboard refactor (#418)
* Moved refactoring to the new program structure

* Imported enum variants to qwerty layout files

* Changed keyboard impl from From to Into

* Simplified imports

* Implement From rather than Into
4 years ago
Calvin Kosmatka 9f26e50f06
Fix --wsl option (#404)
* use wsl nvim

* use piped stderr for release build
4 years ago
Keith Simmons 62d2ca407d updated readme 4 years ago
Keith Simmons 5da81b4f26 port commits since fork 4 years ago
Keith Simmons b29dff8db7 winit working 4 years ago
Keith Simmons 451ff87272 in progress adding back winit 4 years ago
Keith Simmons a490e5992a fix tests and warnings 4 years ago
Keith Simmons ff1954f9a9 allow font changing 4 years ago
Keith Simmons f4eff0e5c4 swapped back to nvim-rs 4 years ago
Keith Simmons 1b6d562307 add configuration for the window transparency 4 years ago
Keith Simmons dc65548c01 fix window position flickering 4 years ago
Keith Simmons 9a9c5aeeba fix command line issues 4 years ago
keith 3d1f797688 minor refactoring 4 years ago
keith 4643a24da1 warning fx 4 years ago
keith 8b87f92f5f mostly working 4 years ago
keith 15d02a0417 slightly better rendering 4 years ago
keith a7d82fb7a1 progress toward fixing render bug 4 years ago
keith 5e32a7ad7b resize on start and work toward more efficient rendering 4 years ago
keith 668f3f9aaf more stable with 3 threads 4 years ago
keith f198f23551 no longer dropping draw commands. Wonky background, and font changes don't work 4 years ago
keith 197c68f4b2 switch to synchronous neovim library 4 years ago
keith 4fd863ca2c progress toward refactor 4 years ago
keith 494f9a395c limit ligature backtracking 4 years ago
keith 811c8ea2d1 minor changes 4 years ago
keith 965f06a361 remove old test 4 years ago
keith a85c7dda3e more efficient rendering 4 years ago
keith ee2ee53614 better mouse management with multigrid 4 years ago
keith f14a7f7dc6 animate window positions (doesn't take framerate into account) 4 years ago
keith 5349f60e12 its working! 4 years ago
keith ce66c5ed88 missed minor fix 4 years ago
keith d2665c2471 new rendering working without multigrid enabled. Making progress 4 years ago
keith 4ef6adcfef part way to multi grid rendering 4 years ago
keith 655339bbf8 fix build for mac and linux 4 years ago
keith baaf6dd090 better parsing of client info 4 years ago
keith c63dcbdf04 change register command to be UiCommand rather than direct handler 4 years ago
keith d85fc62c4d conditionally compile register and unregister of context menu options 4 years ago
keith aeda4ad2df format files 4 years ago
Nguyễn Anh Khoa edd082d7af
Windows right click menu #94 (#311)
Add system right click menu integration for windows
4 years ago
j4qfrost a871f92005
Font fallback (#334)
* thanks nganhkhoa; should solve issue-327

* save work

* intended to address issue-332 among other font problems; added some tests for caching_shaper; clippy

* remove nightly feature

* choose random font instead

* add droid font to workflow linux

* switch to sans mono

* switch font

* cleaner random font implementation
4 years ago
j4qfrost d406cf6c31
Build without embed fonts (#312)
* get_or_load works now without embedFont

* default to using assets

* fmt

* Refactored get_or_load back into one function

* refactor remove asset flag

* fmt

* prevent cache garbage

* fmting and stuff

* better naming

Co-authored-by: Raffael Zica <raffael@pixeltastic.de>
4 years ago
Oliver Breitwieser 4b58dfcc3f
Fix underscores not displayed on every line (#316)
With certain font-configurations, underscores are not drawn on every
line.

Locally, setting `set guifont=Deja\ for\ Powerline\ Medium:h11` caused
underscores to be hidden on two lines and then displayed on the
following three.

Fixing the line height to the nearest integer seems to alleviate the
issue.
4 years ago
j4qfrost 4643464571
Solved the pathing issue with a bit less hacking [OSX] (#309)
* solved the pathing issue with a bit less hacking

* only source paths if not using terminal
5 years ago
j4qfrost b4abe370b2
Issue 301 (#307)
* fix macos pathing nvim

* fmting target os

* return windows fix

* use Path
5 years ago
j4qfrost 8d27c61234
fix macos pathing nvim (#302)
* fix macos pathing nvim

* fmting target os

* return windows fix
5 years ago
Jimmy Brisson c94bec658a Allow font fallback 5 years ago
j4qfrost 1892073c8a
Husky (#277)
* add husky dev dep

* clippy suggestions

* bump version

* save cargo lock

* fix epsilon issue for linux

* forgot to save

* my mistake
5 years ago
j4qfrost b7b4e95ca9
Add search for nvim in PATH (#279)
* add search for nvim

* need suggestions for error message
5 years ago
James Robert Rooke dc399c3c49
Animation test (#278)
* animation test

* fix formatting error
5 years ago
Vivian Lim b39e4edfab Disable vulkan debug layer 5 years ago
j4qfrost 738dce79e8
Update github actions config (#265)
* add tests to editor style; simplify character grid code

* destructure size

* test all editor helpers

* simpler

* setup deps for coverage; setup tarpaulin coverage

* add rustup install

* update github actions config

forgot windows

use scoop

choco install neovim

* add coverage generation

* remove coverage

* set more path vars

try uninstall brew llvm

add neovim test dep

add coverage build

remove patching

new lock file

update cargo file

* font fallback guifont extension

* formatting

* freetype conflict

* update github actions config

forgot windows

use scoop

choco install neovim

add coverage generation

remove coverage

* Better symbol font for linux (#262)

* patch freetype

* move font-kit to deps

* patch font-kit in skribo

* new lock file

* revert cargo file

* checkout cargo and build file

* temporary fix to bypass skia build

* remove sdl patch

* add sdl sys build back

Co-authored-by: keith <keith@the-simmons.net>
Co-authored-by: James Robert Rooke <thepoltergeist23@gmail.com>
5 years ago
James Robert Rooke 253f983194
Better symbol font for linux (#262) 5 years ago
Keith Simmons c3fc923b46
Merge pull request #261 from j4qfrost/testing
Settings tests
5 years ago
keith e9715535f8 formatting 5 years ago
keith e8263f1f19 font fallback guifont extension 5 years ago
AnhQuan Nguyen 606606ad6a fix literal max 5 years ago
AnhQuan Nguyen 2e01d49b53 fmt 5 years ago
AnhQuan Nguyen 2428225fbe settings tests 5 years ago
keith 2c196f84f1 format 5 years ago
Keith Simmons 8c89ffb92b
Merge pull request #258 from exoticus/master
Neovide can now open files... with drag/drop
5 years ago
AnhQuan Nguyen 37f55f4962 Merge branch 'master' into HEAD 5 years ago
exoticus b80bad8e6d can now drop files to open them
in order to open a file if there’s changes in current buffer, a user should have `set hidden` in his/her vimrc
5 years ago
Keith Simmons ce63064b38
Merge pull request #256 from Kethku/macos-fullscreen-fix
better fullscreen toggle and minor cleanup
5 years ago
Keith Simmons f77da92f5f ft 5 years ago
Keith Simmons 1c06f61408 more tweeks to get fullscreen working 5 years ago
Keith Simmons 65ab4987d7 remove unwrap 5 years ago
Keith Simmons 91c29c5898 better fullscreen toggle and minor cleanup 5 years ago
exoticus 423ecedc1a address pr concerns, values are no longer hard coded 5 years ago
exoticus 494853331d cursor no longer responsible for editor mode stuff 5 years ago
exoticus 46cd882891 added EditorMode to the editor 5 years ago
keith f70956866a fix mouse scaling 5 years ago
keith 242b541ed3 fix formatting 5 years ago
keith 6c3d286869 fixed patch issue 5 years ago
keith e3ad491a3a hack to get the cargo patch working... not great 5 years ago
keith 7b9963652e progress toward switching to upstream skulpin 5 years ago
exoticus a5abe769a6 Fixes a bug where values over 1 breaks
trails size values over one totally broke the cursor, this ensures only 0-1 values are used for lerp
5 years ago
exoticus 020f44abc6 just some whitespace for more clarity 5 years ago
exoticus cc783adeb4 added disable cursor animation in insert mode
current approach to disable cursor animation during typing relied on a hack, now it’s an option <animate_in_insert_mode> (default to true) whether to use cursor animations in insert mode
5 years ago
Keith Simmons 3da11e09d8 update skribo, fontkit, and format 5 years ago
Keith Simmons bea55d321f
Merge pull request #238 from exoticusd/master
Shrink Binary Size
5 years ago
exoticus df229c602c more house keeping 🧹 5 years ago
exoticus a42c7a3b4e cleaner, more consistent 5 years ago
exoticus 3037f2b984 some formatting 5 years ago
exoticus 261a27091b not disgusting any more, should also patch variants 5 years ago
exoticus a6710a5518 disgusting duplication but works 5 years ago
Rasmus Michelsen 7d74833529 Reinserted call to position_centered() 5 years ago
Rasmus Michelsen fefce19262 Integrated the toggle with the existing vim settings variable 5 years ago
Rasmus Michelsen 5286df954d Reverted keybind changes for this branch 5 years ago
Rasmus Michelsen 18b8c65835 Return after toggle fullscreen (avoids extraneous enter processed by vim) 5 years ago
Rasmus Michelsen 628c06077c Fixed display relative top-left coordinates 5 years ago
Rasmus Michelsen db3d8ef179 Made fullscreen toggleable with Alt+Enter 5 years ago
Rasmus Michelsen 09b25bd636 Fixed win32 input for Danish keyboard layout 5 years ago
exoticus 187ead2e1f don't return None unless there's no variants 5 years ago
exoticus ca7f984d30 typo 5 years ago
exoticus f0cc8cd696 better than repetitive if statements 5 years ago
exoticus 2975d599bd instead of unknown panic, we get a useful message 5 years ago
exoticus 7c9924ba57 RustFmt 5 years ago
exoticus 90d5329b88 more neat 5 years ago
exoticus 6b26808148 hmmm 🤔 5 years ago
Keith Simmons 52e0fcd54a cargo format 5 years ago
Keith Simmons a146c1aaa3 mouse configuration via mouseon mouseoff 5 years ago
exoticus ed917b2c50 fluff 5 years ago
exoticus 9af54bf225 fluff 5 years ago
exoticus ca9829f5d3 FontLoader loads and caches fonts 5 years ago
exoticus fb9c877afc i wish rust had block conditional compilation 5 years ago
exoticus 9e6c41ac65 wip 5 years ago
Keith Simmons 18d37134c5 formatting 5 years ago
Keith Simmons cebcaa86bc better handling of quit 5 years ago
exoticus 942724ec91 fixes #226, and temporarly #221 based on j4qfrost 5 years ago
keith c78fb4a679 fix error handling on startup 5 years ago
Keith Simmons 07ba8574f9
Merge pull request #220 from j4qfrost/macos-app-crash
Fix MacOS crash launching from Finder
5 years ago
AnhQuan Nguyen 88a4dff67f cargo fmt 5 years ago
AnhQuan Nguyen a6ee9c4b48 add full path 5 years ago
AnhQuan Nguyen 3d40e0c78a signal bridge shutdown 5 years ago
Nicholas Jarretta 703b7bbe5b Add WSL arg and code to use the Windows WSL 5 years ago
Keith Simmons cd0954d332 add cursor antialiasing setting 5 years ago
Aamr El Kazdadi 89e8a839b4 Allow user provided geometry 5 years ago
AnhQuan Nguyen a530171aea rust fmt 5 years ago
keith b36581b25b more keyboard testing 5 years ago
keith c972a3eacf enable italic bold 5 years ago
keith 257a8ad32a ignore text events on frame when focus is regained 5 years ago
keith a16584c919 add focus lost and gained events 5 years ago
keith dcd33bda1a more principled keybindings 5 years ago
keith 04773807cb add back D- modifier but disable it for windows. 5 years ago
Keith Simmons 3cfab0b4b5 remove windows binding as it doesn't help anything 5 years ago
keith 31f9211b68 slightly better key handling. Still can't handle modified shift keys 5 years ago
Keith Simmons 18775f5d67 fix ginit error 5 years ago
keith 5237a11cae actually fix skia font loading error 5 years ago
keith c9b9b3eee8 add back dpi fix 5 years ago
keith 7c8e21c504 add fullscreen support 5 years ago
keith 310a383dd0 window transparency 5 years ago
keith d20027a490 allow disabling of embedded fonts 5 years ago
keith 33feb45696 Merge branch 'master' of https://github.com/Kethku/neovide 5 years ago
keith 56cc29d47c update skulpin 5 years ago
keith 9a9051f044 add tests to ci build 5 years ago
mewhhaha 82dd785a26 Make changes based on https://github.com/Kethku/neovide/pull/183#discussion_r389208255 5 years ago
mewhhaha f3f441bb86 Add workaround for Nordic keyboard 5 years ago
keith afce3a7f87 fix some font fallback bugs 5 years ago
keith a011628cda load ginit.vim 5 years ago
keith f25d317b1b minor refactoring 5 years ago
Jon Valdés 6f418d6c65 Added particle curl option 5 years ago
Jon Valdés b82db76553 Expose speed and phase parameters for particles 5 years ago
Jon Valdés 78e74a7984 Fixed small typo 5 years ago
Jon Valdés 2dc28c633e
Merge branch 'master' into framerate-independent-cursor 5 years ago
Jon Valdés 1b2a2552c3 Make particle effects based on font size. Spawn particles at text baseline 5 years ago
Jon Valdés b11642c6b0 Fix railgun effect particle spawning 5 years ago
Jon Valdés 0fc2680098 Made the rng persist from frame to frame, so particles don't spawn in the same place every time 5 years ago
Jon Valdés b29a83214a Fix issue that was creating particles with NaN lifetimes, causing the update loop to never kill them 5 years ago
Jon Valdés cef497d0a0 Random number generation was completely wrong. Fixed 5 years ago
Jon Valdés 7fd6df50ce Exposed setting for particle density 5 years ago
Jon Valdés 885aca19da Exposing cursor vfx parameters as settings 5 years ago
Jon Valdés 1eadd7fad6 More lenient type checking for setting parsing 5 years ago
Jon Valdés 6d2d398c23 Fix cursor animation being stuck for 1 frame after animation reset 5 years ago
Jon Valdés 6939a8186b Made trail animation slightly longer to match old behavior better 5 years ago
Jon Valdés 5c8b1de97a Switched to an exponential function for cursor trail animation 5 years ago
Jon Valdés 4ea5e31f13 Added "PixieDust" effect 5 years ago
Jon Valdés 8c410cef6e Added "torpedo" mode to cursor effects 5 years ago
Jon Valdés 47eaf0c418 Implemented settings-based control for cursor animations 5 years ago
Jon Valdés c517f00033 Fixing after rebasing on top of structured settings work 5 years ago
Jon Valdés 2ad315a507 Kept antialiasing enabled only for the cursor rendering 5 years ago
Jon Valdés 218f9adb6a Railgun cursor tweaking 5 years ago
Jon Valdés 6fcd50289a Added particle trail effect 5 years ago
Jon Valdés 5c6d1ffa42 Easing point highlight alpha 5 years ago
Jon Valdés 028c36d32a Renamed CursorVFX to PointHighlight. Implemented Ripple and Wireframe modes 5 years ago
Jon Valdés 7c3585e9a6 Make CursorVFX a trait, tweak cursor trail with cubic easing function 5 years ago
Jon Valdés e56bddf6b6 Splitting CursorVFX into its own module 5 years ago
Jon Valdés d967666222 Making cursor_renderer its own nested module 5 years ago
Jon Valdés a4c9dd442a Tweaking and cleaning cursor trail math code 5 years ago
Jon Valdés 8295f835b5 Fixed a few bugs, implemented cursor VFX on state change 5 years ago
Jon Valdés 1b9f4b4f7c Fix cursor shape changes
Also, make cursor movements while typing be immediate
5 years ago
Jon Valdés 169a04079d Better idle detection for cursor animation 5 years ago
Jon Valdés 945ef975f6 Work on framerate-independent cursor animation
Has several different easing methods, but defaults to linear for now.
ease_out_quad was also pretty good, but which specific method we choose
will be more a personal preference than an objective thing
5 years ago
Raffael Zica 0b301cb690 Shaper includes system symbol fonts into cache
This should fix #153 on Windows but needs testing on Linux and macOS.
5 years ago
Keith Simmons 6451f7e736 remove unnecessary using statement 5 years ago
Keith Simmons 8d412c2a84 remove test log 5 years ago
Keith Simmons 3f2642a306 fix window disconnect bug, and make logging more consistent 5 years ago
Keith Simmons c4d524287e more fault tollerant dpi handling 5 years ago
Jon Valdés 9066802fbe Documentation, a bit of code cleaning 5 years ago
Jon Valdés 6f4692db1b Added a warning I forgot to change on last commit 5 years ago
Jon Valdés 28128b56b2 Fixed command line parsing. Added error reporting on wrong setting data type 5 years ago
Jon Valdés 0a726c2f77 Different, cleaner implementation of structured settings 5 years ago
Jon Valdés 40dd9404ec Code formatting 5 years ago
Jon Valdés e296e2a4ce WIP for structured settings system 5 years ago
keith ff67afaa46 refactor window event handling to be more organized 5 years ago
Tristan C b25e86aebe Modified 'setup_changed_listeners' for compatibility with neovim versions < 0.4.3 5 years ago
Keith Simmons b337d83548 keybinding logging 5 years ago
Jon Valdés f31f96e0bc Adding a setting to change the refresh rate 5 years ago
Keith Simmons 8c19cdd275 fixed mouse dpi mapping 5 years ago
keith 8448d1b5a9 fix key binding issue, text scaling, and maybe render bug 5 years ago
keith 0f10f186e8 fix setting loading 5 years ago
keith 813f00fb85 enable mouse clickthrough 5 years ago
keith d0f0477435 queue redraw on window event 5 years ago
keith 08da104680 better linux and mac fix 5 years ago
keith 1fa9127ef7 fix mac and linux builds 5 years ago
keith 56386d0e7f mouse movement 5 years ago
keith 16a076a082 minor fixes 5 years ago
keith b7d8333e9a use public skulpin 5 years ago
keith 3df33a963e ITS WORKING!!! 5 years ago
Keith Simmons b758f01b62 working keybindings 5 years ago
Keith Simmons f25381530f rendering, but wrong dpi and no input support/resizing 5 years ago
keith 215b98d971 keybinding progress 5 years ago
Keith Simmons fef5d56106 progress 5 years ago
Keith Simmons 04b0b795f3
Merge pull request #135 from jonvaldes/mutex-settings
Settings behind a Mutex, instead of using atomics
5 years ago
Jon Valdés 254426218c Settings behind a Mutex, instead of using atomics 5 years ago
Vivian Lim f167bbe410 Write nvim version requirement messages directly to stderr 5 years ago
Jon Valdés 4169ad2170 Fix less than key on linux 5 years ago
Keith Simmons 67468b20dd settings system 5 years ago
Keith Simmons 86073351d0 remove extra clones 5 years ago
Keith Simmons 2f67645390 fix init error freeze 5 years ago
Keith Simmons 1b677f3d1b make settings less complicated 5 years ago
Keith Simmons 971bb3d2ff remove all hints of integer scaling 5 years ago
Keith Simmons 850b23933b fix command line cursor bug 5 years ago
Jon Valdés e1b423ce86 Add all missing VirtualKeycodes to the translation function 5 years ago
Keith Simmons 829d2b3073 revert font change 5 years ago
Keith Simmons 33c68d38b9 support undercurl 5 years ago
Keith Simmons 703087fd88 set buffer frames to 1 and add extra buffer startup command. Fix bug where mouse position is improperly scaled 5 years ago
Jon Valdés a9acc532aa Fix a bunch of small issues reported by clippy 5 years ago
Jon Valdés f273833f96 Added comment explaining Linux input hack 5 years ago
Jon Valdés 7cfe625777 Improved hack. By ignoring the shift modifier, it works even better 5 years ago
Jon Valdés c6d2a9a0f5 Hack to interpret more keyboard events on Linux 5 years ago
Keith Simmons 850cf3c6db temp fix for scrolling problem 5 years ago
Jon Valdés f9c7e2500c Switch to parking_lot::Mutex. It is faster and has a better API than the std one
Also, no possibility of poisoning, so it removes a bunch of unwraps
5 years ago
Keith Simmons 6db3f31c74
Merge pull request #102 from jonvaldes/linearize-grid-storage
Idea for linearization of the Editor grid storage
5 years ago
Jon Valdés 1750ac8e76 Fix scrolling issue introduced when extracting the grid 5 years ago
Jon Valdés ddad13be2d Iterate over rows without generating a temporary Vec 5 years ago
Jon Valdés 9450ea62d8 Better external API for EditorGrid, returning Option<&mut GridCell> for external code to modify the cells 5 years ago