Skip to content

Instantly share code, notes, and snippets.

@equalsraf equalsraf

Block or report user

Report or block equalsraf

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
equalsraf /
Last active Feb 6, 2019
Why cant I use clipboard with remote nvim or why is 298 still open?

So we still have some issues with the GUI clipboard.

My hypothesis is that because nvim is caching the has_clipboard static variable then the clipboard will always be considered as invalid and can NEVER be enabled.

Test setup

First I'm going to start nvim in a way that prevents any clipboard for working by changing the PATH.

equalsraf /
Last active Oct 2, 2019
Its 2018 lets build neovim from source in windows

It's been a while since I did this, so .... lets see what happens.

For starters we have this setup

  • Windows 10 64 bit
  • using VS code (with some cmake and C++/C extensions installed)
  • installed cmake manually
  • I'm doing this off two different computers, so these notes will not have output :S

Just to establish that we have everything we need to build neovim, I'm going to take the long route using cmake

equalsraf /
Last active Oct 27, 2017
some issues building neovim in openbsd 6.2

cmake fails to find a usable lua

... even if packages for lua and all deps(mpack, bitop, lpeg) are installed. This seems to be a problem with the lua binary name in OpenBSD its called lua51, lua52, luajit51 - instead of the expected lua5.1 or just lua.

The workaround for this is to specify the binary

equalsraf /
Last active Oct 8, 2017
Try to build neovim in haiku

TLDR; it did not work, apparently the major blocker is libuv support

1. dependencies (i.e. nvim's third-party/)

Haiku already has some deps, lets use its packages. But for libvterm, etc we need to use third-party

mkdir .deps
cd .deps
equalsraf /
Last active Dec 6, 2018
New instructions for building nvim in Windows



In Windows we build using the toolchain provided by MSYS2 - the resulting binaries DO NOT link against the MSYS2 runtime.

Start by installing the necessary dependencies

equalsraf /
Last active Aug 13, 2017
cmd.exe vs msys2 shell

CMake Generators

CMake has two generatores using Make for windows.

  • MinGW Makefiles expects to run from the cmd shell (uses mingw32-make)
equalsraf /
Last active Nov 18, 2018
Notes on neovim system('...') in Windows for #6359

Vim's system('string') interface is not always straightforward in Windows, its behaviour can be downright unexpected involves an intricate set of options. Its primary purpose its to execute a command in the shell (see &shell) in simple terms we can think that calling system('some command') is equivalent to spawning a process with the following arguments

[&shell, &shellcmdflag, 'some command']

and sometimes this might be true but it also might not. Consider the following examples (I'm running in gVim 7.4/Windows 8)

equalsraf /
Last active Oct 16, 2017
Figuring out neovim windows escaping issues

The problem

I thought this was fixed earlier, but the following fails to execute if shell=cmd.exe

:echo system('cd /d "c:\Windows"')

Take the following script



os_can_exe() used by executable() actually checks PATHEXT. Behaviour in Vim is:

executable('no_such_file') returns 0
executable('file') returns 1 if file.bat,file.exe,etc exist ($PATHEXT)
executable('file.bat')returns 1
executable('file.exe')returns 1

This could lead to the misconception that, for example, executable("file.bat") being 1 implies that system(["file.bat"]) is expected to succeed, which is not true. But this is an issue with system([]) in windows and not with executable(). The notion of executable in Windows is fundamentaly a shell concept, because unlike UNIX there no notion of shebang and permission bits, that allows execution of non binary files.

# Little script to check if Appveyor is stuck
# The return code is (2) if the build is considered stuck, (0) if not
# stuck, and (1) for other errors
import json
import sys
import requests
You can’t perform that action at this time.