Last active
October 12, 2017 12:33
-
-
Save Haruki/11cef803d98e56e0b082b1368d0e901c to your computer and use it in GitHub Desktop.
hyper.js with Msys2 configuration
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module.exports = { | |
config: { | |
// default font size in pixels for all tabs | |
fontSize: 18, | |
// font family with optional fallbacks | |
fontFamily: 'Hack, Consolas, monospace', | |
// terminal cursor background color and opacity (hex, rgb, hsl, hsv, hwb or cmyk) | |
cursorColor: 'rgba(248,28,229,0.8)', | |
// `BEAM` for |, `UNDERLINE` for _, `BLOCK` for █ | |
cursorShape: 'BLOCK', | |
// color of the text | |
foregroundColor: '#fff', | |
// terminal background color | |
backgroundColor: '#000', | |
// border color (window, tabs) | |
borderColor: '#333', | |
// custom css to embed in the main window | |
css: '', | |
// custom css to embed in the terminal window | |
termCSS: '', | |
// set to `true` if you're using a Linux set up | |
// that doesn't shows native menus | |
// default: `false` on Linux, `true` on Windows (ignored on macOS) | |
showHamburgerMenu: '', | |
// set to `false` if you want to hide the minimize, maximize and close buttons | |
// additionally, set to `'left'` if you want them on the left, like in Ubuntu | |
// default: `true` on windows and Linux (ignored on macOS) | |
showWindowControls: '', | |
// custom padding (css format, i.e.: `top right bottom left`) | |
padding: '12px 14px', | |
// the full list. if you're going to provide the full color palette, | |
// including the 6 x 6 color cubes and the grayscale map, just provide | |
// an array here instead of a color map object | |
colors: { | |
black: '#000000', | |
red: '#ff0000', | |
green: '#33ff00', | |
yellow: '#ffff00', | |
blue: '#0066ff', | |
magenta: '#cc00ff', | |
cyan: '#00ffff', | |
white: '#d0d0d0', | |
lightBlack: '#808080', | |
lightRed: '#ff0000', | |
lightGreen: '#33ff00', | |
lightYellow: '#ffff00', | |
lightBlue: '#0066ff', | |
lightMagenta: '#cc00ff', | |
lightCyan: '#00ffff', | |
lightWhite: '#ffffff' | |
}, | |
// the shell to run when spawning a new session (i.e. /usr/local/bin/fish) | |
// if left empty, your system's login shell will be used by default | |
shell: 'C:\\data\\apps\\Msys2\\msys2_shell.cmd', | |
// for setting shell arguments (i.e. for using interactive shellArgs: ['-i']) | |
// by default ['--login'] will be used | |
shellArgs: ['-defterm'], | |
// for environment variables | |
env: { | |
"MSYS2_PATH_TYPE": "inherit", | |
CHERE_INVOKING: 1 // Fix for "Open Hyper Here" with zsh / cygwin / hyper on windows | |
}, | |
// set to false for no bell | |
bell: false, | |
// if true, selected text will automatically be copied to the clipboard | |
copyOnSelect: false | |
// URL to custom bell | |
// bellSoundURL: 'http://example.com/bell.mp3', | |
// for advanced config flags please refer to https://hyper.is/#cfg | |
}, | |
// a list of plugins to fetch and install from npm | |
// format: [@org/]project[#version] | |
// examples: | |
// `hyperpower` | |
// `@company/project` | |
// `project#1.0.1` | |
plugins: [ | |
'hyper-materialshell' | |
], | |
// in development, you can create a directory under | |
// `~/.hyper_plugins/local/` and include it here | |
// to load it and avoid it being `npm install`ed | |
localPlugins: [] | |
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@echo off | |
setlocal | |
set "WD=%__CD__%" | |
if NOT EXIST "%WD%msys-2.0.dll" set "WD=%~dp0usr\bin\" | |
rem To activate windows native symlinks uncomment next line | |
rem set MSYS=winsymlinks:nativestrict | |
rem Set debugging program for errors | |
rem set MSYS=error_start:%WD%../../mingw64/bin/qtcreator.exe^|-debug^|^<process-id^> | |
rem To export full current PATH from environment into MSYS2 use '-use-full-path' parameter | |
rem or uncomment next line | |
set MSYS2_PATH_TYPE=inherit | |
:checkparams | |
rem Help option | |
if "x%~1" == "x-help" ( | |
call :printhelp "%~nx0" | |
exit /b %ERRORLEVEL% | |
) | |
if "x%~1" == "x--help" ( | |
call :printhelp "%~nx0" | |
exit /b %ERRORLEVEL% | |
) | |
if "x%~1" == "x-?" ( | |
call :printhelp "%~nx0" | |
exit /b %ERRORLEVEL% | |
) | |
if "x%~1" == "x/?" ( | |
call :printhelp "%~nx0" | |
exit /b %ERRORLEVEL% | |
) | |
rem Shell types | |
if "x%~1" == "x-msys" shift& set MSYSTEM=MSYS& goto :checkparams | |
if "x%~1" == "x-msys2" shift& set MSYSTEM=MSYS& goto :checkparams | |
if "x%~1" == "x-mingw32" shift& set MSYSTEM=MINGW32& goto :checkparams | |
if "x%~1" == "x-mingw64" shift& set MSYSTEM=MINGW64& goto :checkparams | |
if "x%~1" == "x-mingw" shift& (if exist "%WD%..\..\mingw64" (set MSYSTEM=MINGW64) else (set MSYSTEM=MINGW32))& goto :checkparams | |
rem Console types | |
if "x%~1" == "x-consolez" shift& set MSYSCON=console.exe& goto :checkparams | |
if "x%~1" == "x-mintty" shift& set MSYSCON=mintty.exe& goto :checkparams | |
if "x%~1" == "x-conemu" shift& set MSYSCON=conemu& goto :checkparams | |
if "x%~1" == "x-defterm" shift& set MSYSCON=defterm& goto :checkparams | |
rem Other parameters | |
if "x%~1" == "x-full-path" shift& set MSYS2_PATH_TYPE=inherit& goto :checkparams | |
if "x%~1" == "x-use-full-path" shift& set MSYS2_PATH_TYPE=inherit& goto :checkparams | |
if "x%~1" == "x-here" shift& set CHERE_INVOKING=enabled_from_arguments& goto :checkparams | |
if "x%~1" == "x-where" ( | |
if "x%~2" == "x" ( | |
echo Working directory is not specified for -where parameter. 1>&2 | |
exit /b 2 | |
) | |
cd /d "%~2" || ( | |
echo Cannot set specified working diretory "%~2". 1>&2 | |
exit /b 2 | |
) | |
set CHERE_INVOKING=enabled_from_arguments | |
)& shift& shift& goto :checkparams | |
rem Setup proper title | |
if "%MSYSTEM%" == "MINGW32" ( | |
set "CONTITLE=MinGW x32" | |
) else if "%MSYSTEM%" == "MINGW64" ( | |
set "CONTITLE=MinGW x64" | |
) else ( | |
set "CONTITLE=MSYS2 MSYS" | |
) | |
if "x%MSYSCON%" == "xmintty.exe" goto startmintty | |
if "x%MSYSCON%" == "xconsole.exe" goto startconsolez | |
if "x%MSYSCON%" == "xconemu" goto startconemu | |
if "x%MSYSCON%" == "xdefterm" goto startsh | |
if NOT EXIST "%WD%mintty.exe" goto startsh | |
set MSYSCON=mintty.exe | |
:startmintty | |
start "%CONTITLE%" "%WD%mintty" -i /msys2.ico /usr/bin/zsh --login %1 %2 %3 %4 %5 %6 %7 %8 %9 | |
exit /b %ERRORLEVEL% | |
:startconsolez | |
cd %WD%..\lib\ConsoleZ | |
start "%CONTITLE%" console -t "%CONTITLE%" -r %1 %2 %3 %4 %5 %6 %7 %8 %9 | |
exit /b %ERRORLEVEL% | |
:startconemu | |
call :conemudetect || ( | |
echo ConEmu not found. Exiting. 1>&2 | |
exit /b 1 | |
) | |
start "%CONTITLE%" "%ComEmuCommand%" /Here /Icon "%WD%..\..\msys2.ico" /cmd "%WD%bash" --login %1 %2 %3 %4 %5 %6 %7 %8 %9 | |
exit /b %ERRORLEVEL% | |
:startsh | |
set MSYSCON= | |
REM start "%CONTITLE%" "%WD%zsh" --login %1 %2 %3 %4 %5 %6 %7 %8 %9 | |
"%WD%zsh" --login %1 %2 %3 %4 %5 %6 %7 %8 %9 | |
exit /b %ERRORLEVEL% | |
:EOF | |
exit /b 0 | |
:conemudetect | |
set ComEmuCommand= | |
if defined ConEmuDir ( | |
if exist "%ConEmuDir%\ConEmu64.exe" ( | |
set "ComEmuCommand=%ConEmuDir%\ConEmu64.exe" | |
set MSYSCON=conemu64.exe | |
) else if exist "%ConEmuDir%\ConEmu.exe" ( | |
set "ComEmuCommand=%ConEmuDir%\ConEmu.exe" | |
set MSYSCON=conemu.exe | |
) | |
) | |
if not defined ComEmuCommand ( | |
ConEmu64.exe /Exit 2>nul && ( | |
set ComEmuCommand=ConEmu64.exe | |
set MSYSCON=conemu64.exe | |
) || ( | |
ConEmu.exe /Exit 2>nul && ( | |
set ComEmuCommand=ConEmu.exe | |
set MSYSCON=conemu.exe | |
) | |
) | |
) | |
if not defined ComEmuCommand ( | |
FOR /F "tokens=*" %%A IN ('reg.exe QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\ConEmu64.exe" /ve 2^>nul ^| find "REG_SZ"') DO ( | |
set "ComEmuCommand=%%A" | |
) | |
if defined ComEmuCommand ( | |
call set "ComEmuCommand=%%ComEmuCommand:*REG_SZ =%%" | |
set MSYSCON=conemu64.exe | |
) else ( | |
FOR /F "tokens=*" %%A IN ('reg.exe QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\ConEmu.exe" /ve 2^>nul ^| find "REG_SZ"') DO ( | |
set "ComEmuCommand=%%A" | |
) | |
if defined ComEmuCommand ( | |
call set "ComEmuCommand=%%ComEmuCommand:*REG_SZ =%%" | |
set MSYSCON=conemu.exe | |
) | |
) | |
) | |
if not defined ComEmuCommand exit /b 2 | |
exit /b 0 | |
:printhelp | |
echo Usage: | |
echo %~1 [options] [bash parameters] | |
echo. | |
echo Options: | |
echo -mingw32 ^| -mingw64 ^| -msys[2] Set shell type | |
echo -defterm ^| -mintty ^| -conemu ^| -consolez | |
echo Set terminal type | |
echo -here Use current directory as working | |
echo directory | |
echo -where DIRECTORY Use specified DIRECTORY as working | |
echo directory | |
echo -[use-]full-path Use full currnent PATH variable | |
echo instead of triming to minimal | |
echo -help ^| --help ^| -? ^| /? Display this help and exit | |
echo. | |
echo Any parameter that cannot be treated as valid option and all | |
echo following parameters are passed as bash command parameters. | |
echo. | |
exit /b 0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment