mirror of
https://github.com/cmderdev/cmder.git
synced 2024-11-10 17:59:11 +08:00
Merge branch 'development'
This commit is contained in:
commit
3966ed9433
9
.gitignore
vendored
9
.gitignore
vendored
@ -1,13 +1,12 @@
|
|||||||
|
|
||||||
## Those files should be taken from their repositary
|
## Those files should be taken from their repositary
|
||||||
|
|
||||||
vendor/*
|
vendor/*/*
|
||||||
!vendor/*.md
|
!vendor/*
|
||||||
!vendor/*.bat
|
!vendor/psmodules/PsGet
|
||||||
!vendor/*.json
|
|
||||||
|
|
||||||
config/.history
|
config/.history
|
||||||
Thumbs.db
|
Thumbs.db
|
||||||
*.exe
|
*.exe
|
||||||
build/
|
build/
|
||||||
Version v*
|
Version v*
|
||||||
|
10
README.md
10
README.md
@ -14,7 +14,7 @@ The main advantage of Cmder is portability. It is designed to be totally self-co
|
|||||||
|
|
||||||
1. Download the latest release
|
1. Download the latest release
|
||||||
1. Extract
|
1. Extract
|
||||||
1. (optional) Place files into `bin` folder, it will be injected into your PATH.
|
1. (optional) Place your own executable files into the `bin` folder to be injected into your PATH.
|
||||||
1. Run cmder
|
1. Run cmder
|
||||||
|
|
||||||
*(There will be a version with installer)*
|
*(There will be a version with installer)*
|
||||||
@ -60,6 +60,12 @@ For example there is one defined for you `alias e.=explorer .`
|
|||||||
|
|
||||||
All aliases will be saved in `/config/aliases` file
|
All aliases will be saved in `/config/aliases` file
|
||||||
|
|
||||||
|
### SSH Agent
|
||||||
|
|
||||||
|
To start SSH agent simply call `agent`, which is in the `bin` folder.
|
||||||
|
|
||||||
|
If you want to run SSH agent on startup, uncomment the line in `/vendor/init.bat`so it says `@call "%CMDER_ROOT%/bin/agent.cmd"`.
|
||||||
|
|
||||||
## Todo
|
## Todo
|
||||||
|
|
||||||
1. Complete PowerShell compatibility.
|
1. Complete PowerShell compatibility.
|
||||||
@ -74,7 +80,7 @@ All software included is bundled with own license
|
|||||||
|
|
||||||
The MIT License (MIT)
|
The MIT License (MIT)
|
||||||
|
|
||||||
Copyright (c) 2013 Samuel Vasko
|
Copyright (c) 2015 Samuel Vasko
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
46
bin/agent.cmd
Normal file
46
bin/agent.cmd
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
@ECHO OFF
|
||||||
|
|
||||||
|
REM Set default sock file
|
||||||
|
SET SSH_AUTH_SOCK=/tmp/ssh-agent.sock
|
||||||
|
|
||||||
|
REM Check socket is available
|
||||||
|
IF NOT EXIST "%TMP%\ssh-agent.sock" GOTO:RUNAGENT
|
||||||
|
|
||||||
|
REM Check if an ssh-agent is running
|
||||||
|
FOR /f "tokens=*" %%I IN ('ps ^| grep ssh-agent ^| sed "s/^ *\([0-9]\+\) .*/\1/"') DO SET VAR=%%I
|
||||||
|
IF "%VAR%" == "" GOTO:RUNAGENT
|
||||||
|
|
||||||
|
REM Check if socket file is valid
|
||||||
|
ssh-add -l 1> NUL 2>&1
|
||||||
|
IF ERRORLEVEL 1 GOTO:RUNAGENT
|
||||||
|
GOTO:ADDKEYS
|
||||||
|
|
||||||
|
:RUNAGENT
|
||||||
|
REM Remove old socket file
|
||||||
|
rm -f /tmp/ssh-agent.sock
|
||||||
|
|
||||||
|
REM Run ssh-agent and save (last) PID in VAR
|
||||||
|
SET VAR=
|
||||||
|
FOR /f "tokens=*" %%J IN ('ssh-agent -a /tmp/ssh-agent.sock') DO FOR /f "tokens=*" %%K IN ('echo %%J ^| grep "SSH_AGENT_PID" ^| sed "s/^SSH_AGENT_PID=\([0-9]\+\); .*/\1/"') DO SET VAR=%%K
|
||||||
|
|
||||||
|
:ADDKEYS
|
||||||
|
SET SSH_AUTH_PID=%VAR%
|
||||||
|
|
||||||
|
REM Check if ssh keys are known
|
||||||
|
SET KEYS=
|
||||||
|
FOR /f "tokens=*" %%I IN ('DIR /B "%HOME%\.ssh\*_rsa"') DO CALL:CHECKKEY %%I
|
||||||
|
|
||||||
|
REM Add missing ssh keys at once
|
||||||
|
IF NOT "%KEYS%" == "" ssh-add %KEYS%
|
||||||
|
GOTO:END
|
||||||
|
|
||||||
|
REM Functions
|
||||||
|
REM Check if ssh key has to be added
|
||||||
|
:CHECKKEY
|
||||||
|
SET VAR=
|
||||||
|
FOR /f "tokens=*" %%J IN ('ssh-add -l ^| grep "%1"') DO SET VAR=%%J
|
||||||
|
IF "%VAR%" == "" SET KEYS='%HOME%\.ssh\%1' %KEYS%
|
||||||
|
GOTO:EOF
|
||||||
|
|
||||||
|
:END
|
||||||
|
@ECHO ON
|
@ -1,6 +1,18 @@
|
|||||||
@echo off
|
@echo off
|
||||||
|
|
||||||
|
set ALIASES=%CMDER_ROOT%\config\aliases
|
||||||
|
|
||||||
|
if ["%*"] == [""] echo Use /? for help & echo. & goto :p_show
|
||||||
if ["%1"] == ["/?"] goto:p_help
|
if ["%1"] == ["/?"] goto:p_help
|
||||||
if ["%2"] == [""] echo Insufficient parameters. & goto:p_help
|
if ["%1"] == ["/reload"] goto:p_reload
|
||||||
|
:: /d flag for delete existing alias
|
||||||
|
if ["%1"] == ["/d"] goto:p_del %*
|
||||||
|
:: if arg is an existing alias, display it
|
||||||
|
if ["%2"] == [""] (
|
||||||
|
doskey /macros | findstr /b %1= && goto:eof
|
||||||
|
echo Insufficient parameters. & goto:p_help
|
||||||
|
)
|
||||||
|
|
||||||
::validate alias
|
::validate alias
|
||||||
setlocal
|
setlocal
|
||||||
for /f "delims== tokens=1" %%G in ("%*") do set _temp2=%%G
|
for /f "delims== tokens=1" %%G in ("%*") do set _temp2=%%G
|
||||||
@ -13,15 +25,36 @@ if not ["%_temp%"] == ["%_temp2%"] (
|
|||||||
goto:eof
|
goto:eof
|
||||||
)
|
)
|
||||||
|
|
||||||
echo %* >> "%CMDER_ROOT%\config\aliases"
|
:: replace already defined alias
|
||||||
doskey /macrofile="%CMDER_ROOT%\config\aliases"
|
findstr /b /v /i "%_temp%=" "%ALIASES%" >> "%ALIASES%.tmp"
|
||||||
echo Alias created
|
echo %* >> "%ALIASES%.tmp" && type "%ALIASES%.tmp" > "%ALIASES%" & @del /f /q "%ALIASES%.tmp"
|
||||||
|
doskey /macrofile="%ALIASES%"
|
||||||
endlocal
|
endlocal
|
||||||
goto:eof
|
goto:eof
|
||||||
|
|
||||||
|
:p_del
|
||||||
|
findstr /b /v /i "%2=" "%ALIASES%" >> "%ALIASES%.tmp"
|
||||||
|
type "%ALIASES%".tmp > "%ALIASES%" & @del /f /q "%ALIASES%.tmp"
|
||||||
|
doskey /macrofile=%ALIASES%
|
||||||
|
goto:eof
|
||||||
|
|
||||||
|
:p_reload
|
||||||
|
doskey /macrofile="%ALIASES%"
|
||||||
|
echo Aliases reloaded
|
||||||
|
goto:eof
|
||||||
|
|
||||||
|
:p_show
|
||||||
|
type "%ALIASES%" || echo No aliases found at "%ALIASES%"
|
||||||
|
goto :eof
|
||||||
|
|
||||||
:p_help
|
:p_help
|
||||||
echo.Usage:
|
echo.Usage:
|
||||||
echo. alias name=full command
|
echo. alias [/reload] [/d] [name=full command]
|
||||||
|
echo. /reload Reload the aliases file
|
||||||
|
echo. /d Delete an alias (must be followed by the alias name)
|
||||||
|
echo.
|
||||||
|
echo. If alias is called with any parameters, it will display the list of existing aliases.
|
||||||
|
echo. In the command, you can use the following notations:
|
||||||
echo. $* allows the alias to assume all the parameters of the supplied command.
|
echo. $* allows the alias to assume all the parameters of the supplied command.
|
||||||
echo. $1-$9 Allows you to seperate parameter by number, much like %%1 in batch.
|
echo. $1-$9 Allows you to seperate parameter by number, much like %%1 in batch.
|
||||||
echo. $T is the command seperator, allowing you to string several commands together into one alias.
|
echo. $T is the command seperator, allowing you to string several commands together into one alias.
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<key name="Software">
|
<key name="Software">
|
||||||
<key name="ConEmu">
|
<key name="ConEmu">
|
||||||
<key name=".Vanilla" modified="2014-01-21 18:36:36" build="131215">
|
<key name=".Vanilla" modified="2015-05-17 22:10:27" build="150513">
|
||||||
<value name="ColorTable00" type="dword" data="00222827"/>
|
<value name="ColorTable00" type="dword" data="00222827"/>
|
||||||
<value name="ColorTable01" type="dword" data="009e5401"/>
|
<value name="ColorTable01" type="dword" data="009e5401"/>
|
||||||
<value name="ColorTable02" type="dword" data="0004aa74"/>
|
<value name="ColorTable02" type="dword" data="0004aa74"/>
|
||||||
@ -72,7 +72,7 @@
|
|||||||
<value name="StartType" type="hex" data="02"/>
|
<value name="StartType" type="hex" data="02"/>
|
||||||
<value name="CmdLine" type="string" data=""/>
|
<value name="CmdLine" type="string" data=""/>
|
||||||
<value name="StartTasksFile" type="string" data=""/>
|
<value name="StartTasksFile" type="string" data=""/>
|
||||||
<value name="StartTasksName" type="string" data="{cmd}"/>
|
<value name="StartTasksName" type="string" data="{PowerShell}"/>
|
||||||
<value name="StartFarFolders" type="hex" data="00"/>
|
<value name="StartFarFolders" type="hex" data="00"/>
|
||||||
<value name="StartFarEditors" type="hex" data="00"/>
|
<value name="StartFarEditors" type="hex" data="00"/>
|
||||||
<value name="StoreTaskbarkTasks" type="hex" data="00"/>
|
<value name="StoreTaskbarkTasks" type="hex" data="00"/>
|
||||||
@ -127,8 +127,8 @@
|
|||||||
<value name="ConWnd Width" type="dword" data="0000006f"/>
|
<value name="ConWnd Width" type="dword" data="0000006f"/>
|
||||||
<value name="ConWnd Height" type="dword" data="0000001a"/>
|
<value name="ConWnd Height" type="dword" data="0000001a"/>
|
||||||
<value name="Cascaded" type="hex" data="01"/>
|
<value name="Cascaded" type="hex" data="01"/>
|
||||||
<value name="ConWnd X" type="dword" data="000000bc"/>
|
<value name="ConWnd X" type="dword" data="000003f8"/>
|
||||||
<value name="ConWnd Y" type="dword" data="00000065"/>
|
<value name="ConWnd Y" type="dword" data="00000143"/>
|
||||||
<value name="16bit Height" type="dword" data="00000000"/>
|
<value name="16bit Height" type="dword" data="00000000"/>
|
||||||
<value name="AutoSaveSizePos" type="hex" data="00"/>
|
<value name="AutoSaveSizePos" type="hex" data="00"/>
|
||||||
<value name="IntegralSize" type="hex" data="00"/>
|
<value name="IntegralSize" type="hex" data="00"/>
|
||||||
@ -138,7 +138,7 @@
|
|||||||
<value name="HideChildCaption" type="hex" data="01"/>
|
<value name="HideChildCaption" type="hex" data="01"/>
|
||||||
<value name="FocusInChildWindows" type="hex" data="01"/>
|
<value name="FocusInChildWindows" type="hex" data="01"/>
|
||||||
<value name="HideCaptionAlways" type="hex" data="00"/>
|
<value name="HideCaptionAlways" type="hex" data="00"/>
|
||||||
<value name="HideCaptionAlwaysFrame" type="hex" data="ff"/>
|
<value name="HideCaptionAlwaysFrame" type="hex" data="00"/>
|
||||||
<value name="HideCaptionAlwaysDelay" type="dword" data="000007d0"/>
|
<value name="HideCaptionAlwaysDelay" type="dword" data="000007d0"/>
|
||||||
<value name="HideCaptionAlwaysDisappear" type="dword" data="000007d0"/>
|
<value name="HideCaptionAlwaysDisappear" type="dword" data="000007d0"/>
|
||||||
<value name="DownShowHiddenMessage" type="hex" data="00"/>
|
<value name="DownShowHiddenMessage" type="hex" data="00"/>
|
||||||
@ -349,7 +349,7 @@
|
|||||||
<value name="SwitchGuiFocus" type="dword" data="00000000"/>
|
<value name="SwitchGuiFocus" type="dword" data="00000000"/>
|
||||||
<value name="SetFocusGui" type="dword" data="00000000"/>
|
<value name="SetFocusGui" type="dword" data="00000000"/>
|
||||||
<value name="SetFocusChild" type="dword" data="00000000"/>
|
<value name="SetFocusChild" type="dword" data="00000000"/>
|
||||||
<value name="ChildSystemMenu" type="dword" data="006b2d288000000"/>
|
<value name="ChildSystemMenu" type="dword" data="ffffffff"/>
|
||||||
<value name="Multi.NewConsole" type="dword" data="80808000"/>
|
<value name="Multi.NewConsole" type="dword" data="80808000"/>
|
||||||
<value name="Multi.NewConsoleShift" type="dword" data="00001154"/>
|
<value name="Multi.NewConsoleShift" type="dword" data="00001154"/>
|
||||||
<value name="Multi.NewConsolePopup" type="dword" data="80808000"/>
|
<value name="Multi.NewConsolePopup" type="dword" data="80808000"/>
|
||||||
@ -419,8 +419,8 @@
|
|||||||
<value name="KeyMacro03.Text" type="string" data="FontSetSize(1,2)"/>
|
<value name="KeyMacro03.Text" type="string" data="FontSetSize(1,2)"/>
|
||||||
<value name="KeyMacro04" type="dword" data="000011d1"/>
|
<value name="KeyMacro04" type="dword" data="000011d1"/>
|
||||||
<value name="KeyMacro04.Text" type="string" data="FontSetSize(1,-2)"/>
|
<value name="KeyMacro04.Text" type="string" data="FontSetSize(1,-2)"/>
|
||||||
<value name="KeyMacro05" type="dword" data="00000000"/>
|
<value name="KeyMacro05" type="dword" data="0012a033"/>
|
||||||
<value name="KeyMacro05.Text" type="string" data=""/>
|
<value name="KeyMacro05.Text" type="string" data="Task("PowerShell as Admin")"/>
|
||||||
<value name="KeyMacro06" type="dword" data="00000000"/>
|
<value name="KeyMacro06" type="dword" data="00000000"/>
|
||||||
<value name="KeyMacro06.Text" type="string" data=""/>
|
<value name="KeyMacro06.Text" type="string" data=""/>
|
||||||
<value name="KeyMacro07" type="dword" data="00000000"/>
|
<value name="KeyMacro07" type="dword" data="00000000"/>
|
||||||
@ -483,30 +483,51 @@
|
|||||||
<value name="DndLKey" type="hex" data="00"/>
|
<value name="DndLKey" type="hex" data="00"/>
|
||||||
<value name="DndRKey" type="hex" data="a2"/>
|
<value name="DndRKey" type="hex" data="a2"/>
|
||||||
<value name="WndDragKey" type="dword" data="00121101"/>
|
<value name="WndDragKey" type="dword" data="00121101"/>
|
||||||
<key name="Tasks" modified="2014-01-21 18:36:36" build="131215">
|
<key name="Tasks" modified="2015-05-17 22:10:27" build="150513">
|
||||||
<value name="Count" type="dword" data="00000002"/>
|
<value name="Count" type="dword" data="00000003"/>
|
||||||
<key name="Task1" modified="2014-01-21 18:36:36" build="131215">
|
<key name="Task1" modified="2015-05-17 22:10:27" build="150513">
|
||||||
<value name="Name" type="string" data="{cmd}"/>
|
<value name="Name" type="string" data="{cmd}"/>
|
||||||
<value name="GuiArgs" type="string" data=" /icon "%CMDER_ROOT%\cmder.exe""/>
|
<value name="GuiArgs" type="string" data="/icon "%CMDER_ROOT%\cmder.exe""/>
|
||||||
<value name="Cmd1" type="string" data="cmd /k "%ConEmuDir%\..\init.bat" -new_console:d:%USERPROFILE%"/>
|
<value name="Cmd1" type="string" data="cmd /k "%ConEmuDir%\..\init.bat" -new_console:d:%USERPROFILE%"/>
|
||||||
<value name="Active" type="dword" data="00000000"/>
|
<value name="Active" type="dword" data="00000000"/>
|
||||||
<value name="Count" type="dword" data="00000001"/>
|
<value name="Count" type="dword" data="00000001"/>
|
||||||
<value name="Hotkey" type="dword" data="00000000"/>
|
<value name="Hotkey" type="dword" data="00000000"/>
|
||||||
|
<value name="Flags" type="dword" data="00000000"/>
|
||||||
</key>
|
</key>
|
||||||
<key name="Task2" modified="2014-01-21 18:36:36" build="131215">
|
<key name="Task2" modified="2015-05-17 22:10:27" build="150513">
|
||||||
<value name="Name" type="string" data="{PowerShell}"/>
|
<value name="Name" type="string" data="{PowerShell}"/>
|
||||||
<value name="GuiArgs" type="string" data="/dir "%userprofile%""/>
|
<value name="GuiArgs" type="string" data="/icon "%CMDER_ROOT%\cmder.exe""/>
|
||||||
<value name="Cmd1" type="string" data="powershell"/>
|
<value name="Cmd1" type="string" data="PowerShell -NoLogo -NoProfile -NoExit -Command "Invoke-Expression '. ''%ConEmuDir%\..\profile.ps1'''" -new_console:d:"%USERPROFILE%""/>
|
||||||
<value name="Active" type="dword" data="00000000"/>
|
<value name="Active" type="dword" data="00000000"/>
|
||||||
<value name="Count" type="dword" data="00000001"/>
|
<value name="Count" type="dword" data="00000001"/>
|
||||||
<value name="Hotkey" type="dword" data="00000000"/>
|
<value name="Hotkey" type="dword" data="00000000"/>
|
||||||
|
<value name="Flags" type="dword" data="00000000"/>
|
||||||
|
</key>
|
||||||
|
<key name="Task3" modified="2015-05-17 22:10:27" build="150513">
|
||||||
|
<value name="Name" type="string" data="{PowerShell as Admin}"/>
|
||||||
|
<value name="Hotkey" type="dword" data="00000000"/>
|
||||||
|
<value name="GuiArgs" type="string" data="/icon "%CMDER_ROOT%\cmder.exe""/>
|
||||||
|
<value name="Cmd1" type="string" data="*PowerShell -NoLogo -NoProfile -NoExit -Command "Invoke-Expression '. ''%ConEmuDir%\..\profile.ps1'''" -new_console:d:"%USERPROFILE%""/>
|
||||||
|
<value name="Active" type="dword" data="00000000"/>
|
||||||
|
<value name="Count" type="dword" data="00000001"/>
|
||||||
|
<value name="Flags" type="dword" data="00000000"/>
|
||||||
|
</key>
|
||||||
|
<key name="Task4" modified="2015-02-24 18:49:50" build="140707">
|
||||||
|
<value name="Name" type="string" data="{git sh}"/>
|
||||||
|
<value name="Hotkey" type="dword" data="00000000"/>
|
||||||
|
<value name="GuiArgs" type="string" data=" /icon "%CMDER_ROOT%\cmder.exe""/>
|
||||||
|
<value name="Cmd1" type="string" data="cmd /k "%ConEmuDir%\..\init.bat & %CMDER_ROOT%\vendor\msysgit\bin\bash --login -i" -new_console:d:%USERPROFILE%"/>
|
||||||
|
<value name="Cmd2" type="string" data="%CMDER_ROOT%\vendor\msysgit\git-bash.bat"/>
|
||||||
|
<value name="Active" type="dword" data="00000000"/>
|
||||||
|
<value name="Count" type="dword" data="00000001"/>
|
||||||
</key>
|
</key>
|
||||||
</key>
|
</key>
|
||||||
<key name="Apps" modified="2014-01-21 18:36:36" build="131215">
|
|
||||||
|
<key name="Apps" modified="2015-05-17 22:10:27" build="150513">
|
||||||
<value name="Count" type="dword" data="00000000"/>
|
<value name="Count" type="dword" data="00000000"/>
|
||||||
</key>
|
</key>
|
||||||
<key name="Colors" modified="2014-01-21 18:36:36" build="131215">
|
<key name="Colors" modified="2015-05-17 22:10:27" build="150513">
|
||||||
<key name="Palette1" modified="2014-01-21 18:36:36" build="131215">
|
<key name="Palette1" modified="2015-05-17 22:10:27" build="150513">
|
||||||
<value name="Name" type="string" data="Monokai"/>
|
<value name="Name" type="string" data="Monokai"/>
|
||||||
<value name="ExtendColors" type="hex" data="00"/>
|
<value name="ExtendColors" type="hex" data="00"/>
|
||||||
<value name="ExtendColorIdx" type="hex" data="0e"/>
|
<value name="ExtendColorIdx" type="hex" data="0e"/>
|
||||||
@ -581,6 +602,210 @@
|
|||||||
<value name="TransparencyDec" type="dword" data="00000000"/>
|
<value name="TransparencyDec" type="dword" data="00000000"/>
|
||||||
<value name="Key.MaximizeWidth" type="dword" data="00000000"/>
|
<value name="Key.MaximizeWidth" type="dword" data="00000000"/>
|
||||||
<value name="Key.MaximizeHeight" type="dword" data="00000000"/>
|
<value name="Key.MaximizeHeight" type="dword" data="00000000"/>
|
||||||
|
<value name="DefaultTerminalAgressive" type="hex" data="01"/>
|
||||||
|
<value name="DefaultTerminalNewWindow" type="hex" data="00"/>
|
||||||
|
<value name="AnsiLog" type="hex" data="00"/>
|
||||||
|
<value name="AnsiLogPath" type="string" data="%ConEmuDir%\Logs\"/>
|
||||||
|
<value name="Multi.DupConfirm" type="hex" data="01"/>
|
||||||
|
<value name="Multi.DetachConfirm" type="hex" data="01"/>
|
||||||
|
<value name="CTS.Intelligent" type="hex" data="01"/>
|
||||||
|
<value name="CTS.IntelligentExceptions" type="string" data="far|vim.exe"/>
|
||||||
|
<value name="StatusBar.Hide.Time" type="hex" data="01"/>
|
||||||
|
<value name="TaskbarProgress" type="hex" data="01"/>
|
||||||
|
<value name="RetardInactivePanes" type="hex" data="00"/>
|
||||||
|
<value name="ProcessCmdStart" type="hex" data="01"/>
|
||||||
|
<value name="Multi.ShowSearch" type="hex" data="01"/>
|
||||||
|
<value name="Multi.CloseConfirmFlags" type="hex" data="04"/>
|
||||||
|
<value name="FontUseDpi" type="hex" data="01"/>
|
||||||
|
<value name="FontUseUnits" type="hex" data="00"/>
|
||||||
|
<value name="UseScrollLock" type="hex" data="01"/>
|
||||||
|
<value name="CTS.ForceLocale" type="dword" data="00000000"/>
|
||||||
|
<value name="StatusBar.Hide.VisL" type="hex" data="01"/>
|
||||||
|
<value name="StatusBar.Hide.KeyHooks" type="hex" data="01"/>
|
||||||
|
<value name="StatusBar.Hide.WVBack" type="hex" data="01"/>
|
||||||
|
<value name="StatusBar.Hide.WVDC" type="hex" data="01"/>
|
||||||
|
<value name="StatusBar.Hide.Zoom" type="hex" data="01"/>
|
||||||
|
<value name="StatusBar.Hide.Dpi" type="hex" data="01"/>
|
||||||
|
<value name="TabFlashChanged" type="dword" data="00000008"/>
|
||||||
|
<value name="TabModifiedSuffix" type="string" data="[*]"/>
|
||||||
|
<key name="HotKeys" modified="2015-05-17 22:10:27" build="150513">
|
||||||
|
<value name="KeyMacroVersion" type="hex" data="02"/>
|
||||||
|
<value name="Multi.Modifier" type="dword" data="00000011"/>
|
||||||
|
<value name="Multi.ArrowsModifier" type="dword" data="0000005b"/>
|
||||||
|
<value name="MinimizeRestore" type="dword" data="000011c0"/>
|
||||||
|
<value name="MinimizeRestore2" type="dword" data="00000000"/>
|
||||||
|
<value name="GlobalRestore" type="dword" data="00000000"/>
|
||||||
|
<value name="CdExplorerPath" type="dword" data="00000000"/>
|
||||||
|
<value name="ForcedFullScreen" type="dword" data="12115b0d"/>
|
||||||
|
<value name="SwitchGuiFocus" type="dword" data="00000000"/>
|
||||||
|
<value name="SetFocusGui" type="dword" data="00000000"/>
|
||||||
|
<value name="SetFocusChild" type="dword" data="00000000"/>
|
||||||
|
<value name="ChildSystemMenu" type="dword" data="000011ff"/>
|
||||||
|
<value name="Multi.NewConsole" type="dword" data="00000000"/>
|
||||||
|
<value name="Multi.NewConsoleShift" type="dword" data="00001154"/>
|
||||||
|
<value name="Multi.CmdKey" type="dword" data="00000000"/>
|
||||||
|
<value name="Multi.NewWindow" type="dword" data="00000000"/>
|
||||||
|
<value name="Multi.NewConsolePopup" type="dword" data="00000000"/>
|
||||||
|
<value name="Multi.NewConsolePopup2" type="dword" data="00000000"/>
|
||||||
|
<value name="Multi.NewAttach" type="dword" data="00000000"/>
|
||||||
|
<value name="Multi.NewSplitV" type="dword" data="00000000"/>
|
||||||
|
<value name="Multi.NewSplitH" type="dword" data="00000000"/>
|
||||||
|
<value name="Multi.SplitMaximize" type="dword" data="00005d0d"/>
|
||||||
|
<value name="Multi.SplitSizeVU" type="dword" data="00105d26"/>
|
||||||
|
<value name="Multi.SplitSizeVD" type="dword" data="00105d28"/>
|
||||||
|
<value name="Multi.SplitSizeHL" type="dword" data="00105d25"/>
|
||||||
|
<value name="Multi.SplitSizeHR" type="dword" data="00105d27"/>
|
||||||
|
<value name="Key.TabPane1" type="dword" data="00000000"/>
|
||||||
|
<value name="Key.TabPane2" type="dword" data="00000000"/>
|
||||||
|
<value name="Multi.SplitFocusU" type="dword" data="00005d26"/>
|
||||||
|
<value name="Multi.SplitFocusD" type="dword" data="00005d28"/>
|
||||||
|
<value name="Multi.SplitFocusL" type="dword" data="00005d25"/>
|
||||||
|
<value name="Multi.SplitFocusR" type="dword" data="00005d27"/>
|
||||||
|
<value name="Multi.Next" type="dword" data="00000000"/>
|
||||||
|
<value name="Multi.NextShift" type="dword" data="00000000"/>
|
||||||
|
<value name="Multi.Recreate" type="dword" data="00000000"/>
|
||||||
|
<value name="Multi.AltCon" type="dword" data="00000000"/>
|
||||||
|
<value name="Multi.Pause" type="dword" data="80808013"/>
|
||||||
|
<value name="Multi.Scroll" type="dword" data="00000000"/>
|
||||||
|
<value name="Multi.GroupInput" type="dword" data="00005d47"/>
|
||||||
|
<value name="Multi.Detach" type="dword" data="00000000"/>
|
||||||
|
<value name="Multi.Close" type="dword" data="00001157"/>
|
||||||
|
<value name="CloseTabKey" type="dword" data="00000000"/>
|
||||||
|
<value name="CloseGroupKey" type="dword" data="00000000"/>
|
||||||
|
<value name="CloseGroupPrcKey" type="dword" data="00000000"/>
|
||||||
|
<value name="CloseAllConKey" type="dword" data="00000000"/>
|
||||||
|
<value name="CloseZombiesKey" type="dword" data="00000000"/>
|
||||||
|
<value name="CloseExceptConKey" type="dword" data="00000000"/>
|
||||||
|
<value name="KillProcessKey" type="dword" data="00000000"/>
|
||||||
|
<value name="KillAllButShellKey" type="dword" data="00105b2e"/>
|
||||||
|
<value name="DuplicateRootKey" type="dword" data="00000000"/>
|
||||||
|
<value name="CloseConEmuKey" type="dword" data="00001273"/>
|
||||||
|
<value name="Multi.Rename" type="dword" data="00000000"/>
|
||||||
|
<value name="AffinityPriorityKey" type="dword" data="00005d41"/>
|
||||||
|
<value name="Multi.MoveLeft" type="dword" data="00125b25"/>
|
||||||
|
<value name="Multi.MoveRight" type="dword" data="00125b27"/>
|
||||||
|
<value name="CTS.VkBlockStart" type="dword" data="00000000"/>
|
||||||
|
<value name="CTS.VkTextStart" type="dword" data="00000000"/>
|
||||||
|
<value name="CTS.VkCopyFmt0" type="dword" data="00001143"/>
|
||||||
|
<value name="CTS.VkCopyFmt1" type="dword" data="00101143"/>
|
||||||
|
<value name="CTS.VkCopyFmt2" type="dword" data="00000000"/>
|
||||||
|
<value name="CTS.VkCopyAll" type="dword" data="00000000"/>
|
||||||
|
<value name="HighlightMouseSwitch" type="dword" data="00005d4c"/>
|
||||||
|
<value name="HighlightMouseSwitchX" type="dword" data="00005d58"/>
|
||||||
|
<value name="Multi.ShowTabsList" type="dword" data="00000000"/>
|
||||||
|
<value name="Multi.ShowTabsList2" type="dword" data="00000000"/>
|
||||||
|
<value name="ClipboardVkAllLines" type="dword" data="0000102d"/>
|
||||||
|
<value name="ClipboardVkFirstLine" type="dword" data="00001156"/>
|
||||||
|
<value name="DeleteWordToLeft" type="dword" data="00001108"/>
|
||||||
|
<value name="FindTextKey" type="dword" data="00005d46"/>
|
||||||
|
<value name="ScreenshotKey" type="dword" data="00000000"/>
|
||||||
|
<value name="ScreenshotFullKey" type="dword" data="00000000"/>
|
||||||
|
<value name="ShowStatusBarKey" type="dword" data="00000000"/>
|
||||||
|
<value name="ShowTabBarKey" type="dword" data="00000000"/>
|
||||||
|
<value name="ShowCaptionKey" type="dword" data="00000000"/>
|
||||||
|
<value name="AlwaysOnTopKey" type="dword" data="00000000"/>
|
||||||
|
<value name="TransparencyInc" type="dword" data="00000000"/>
|
||||||
|
<value name="TransparencyDec" type="dword" data="00000000"/>
|
||||||
|
<value name="Key.TabMenu" type="dword" data="00000000"/>
|
||||||
|
<value name="Key.TabMenu2" type="dword" data="00000000"/>
|
||||||
|
<value name="Key.Maximize" type="dword" data="00000000"/>
|
||||||
|
<value name="Key.MaximizeWidth" type="dword" data="00000000"/>
|
||||||
|
<value name="Key.MaximizeHeight" type="dword" data="00000000"/>
|
||||||
|
<value name="Key.TileToLeft" type="dword" data="00000000"/>
|
||||||
|
<value name="Key.TileToRight" type="dword" data="00000000"/>
|
||||||
|
<value name="Key.JumpPrevMonitor" type="dword" data="00000000"/>
|
||||||
|
<value name="Key.JumpNextMonitor" type="dword" data="00000000"/>
|
||||||
|
<value name="Key.FullScreen" type="dword" data="0000120d"/>
|
||||||
|
<value name="Key.SysMenu" type="dword" data="00000000"/>
|
||||||
|
<value name="Key.SysMenu2" type="dword" data="00001102"/>
|
||||||
|
<value name="Key.BufUp" type="dword" data="00001126"/>
|
||||||
|
<value name="Key.BufDn" type="dword" data="00001128"/>
|
||||||
|
<value name="Key.BufPgUp" type="dword" data="00001121"/>
|
||||||
|
<value name="Key.BufPgDn" type="dword" data="00001122"/>
|
||||||
|
<value name="Key.BufHfPgUp" type="dword" data="00005d21"/>
|
||||||
|
<value name="Key.BufHfPgDn" type="dword" data="00005d22"/>
|
||||||
|
<value name="Key.BufTop" type="dword" data="00005d24"/>
|
||||||
|
<value name="Key.BufBottom" type="dword" data="00005d23"/>
|
||||||
|
<value name="Key.BufCursor" type="dword" data="00005d08"/>
|
||||||
|
<value name="FontLargerKey" type="dword" data="00000000"/>
|
||||||
|
<value name="FontSmallerKey" type="dword" data="00000000"/>
|
||||||
|
<value name="FontOriginalKey" type="dword" data="00001104"/>
|
||||||
|
<value name="PasteFileKey" type="dword" data="00101146"/>
|
||||||
|
<value name="PastePathKey" type="dword" data="00101144"/>
|
||||||
|
<value name="PasteCygwinKey" type="dword" data="00005d2d"/>
|
||||||
|
<value name="KeyMacro01" type="dword" data="00a01231"/>
|
||||||
|
<value name="KeyMacro01.Text" type="string" data="Task("cmd")"/>
|
||||||
|
<value name="KeyMacro02" type="dword" data="00a01232"/>
|
||||||
|
<value name="KeyMacro02.Text" type="string" data="Task("PowerShell")"/>
|
||||||
|
<value name="KeyMacro03" type="dword" data="000011d0"/>
|
||||||
|
<value name="KeyMacro03.Text" type="string" data="FontSetSize(1,2)"/>
|
||||||
|
<value name="KeyMacro04" type="dword" data="000011d1"/>
|
||||||
|
<value name="KeyMacro04.Text" type="string" data="FontSetSize(1,-2)"/>
|
||||||
|
<value name="KeyMacro05" type="dword" data="00a01233"/>
|
||||||
|
<value name="KeyMacro05.Text" type="string" data="Task("PowerShell as Admin")"/>
|
||||||
|
<value name="KeyMacro06" type="dword" data="00000000"/>
|
||||||
|
<value name="KeyMacro06.Text" type="string" data=""/>
|
||||||
|
<value name="KeyMacro07" type="dword" data="00000000"/>
|
||||||
|
<value name="KeyMacro07.Text" type="string" data=""/>
|
||||||
|
<value name="KeyMacro08" type="dword" data="00000000"/>
|
||||||
|
<value name="KeyMacro08.Text" type="string" data=""/>
|
||||||
|
<value name="KeyMacro09" type="dword" data="00000000"/>
|
||||||
|
<value name="KeyMacro09.Text" type="string" data=""/>
|
||||||
|
<value name="KeyMacro10" type="dword" data="00000000"/>
|
||||||
|
<value name="KeyMacro10.Text" type="string" data=""/>
|
||||||
|
<value name="KeyMacro11" type="dword" data="00000000"/>
|
||||||
|
<value name="KeyMacro11.Text" type="string" data=""/>
|
||||||
|
<value name="KeyMacro12" type="dword" data="00000000"/>
|
||||||
|
<value name="KeyMacro12.Text" type="string" data=""/>
|
||||||
|
<value name="KeyMacro13" type="dword" data="00000000"/>
|
||||||
|
<value name="KeyMacro13.Text" type="string" data=""/>
|
||||||
|
<value name="KeyMacro14" type="dword" data="00000000"/>
|
||||||
|
<value name="KeyMacro14.Text" type="string" data=""/>
|
||||||
|
<value name="KeyMacro15" type="dword" data="00000000"/>
|
||||||
|
<value name="KeyMacro15.Text" type="string" data=""/>
|
||||||
|
<value name="KeyMacro16" type="dword" data="00000000"/>
|
||||||
|
<value name="KeyMacro16.Text" type="string" data=""/>
|
||||||
|
<value name="KeyMacro17" type="dword" data="00000000"/>
|
||||||
|
<value name="KeyMacro17.Text" type="string" data=""/>
|
||||||
|
<value name="KeyMacro18" type="dword" data="00000000"/>
|
||||||
|
<value name="KeyMacro18.Text" type="string" data=""/>
|
||||||
|
<value name="KeyMacro19" type="dword" data="00000000"/>
|
||||||
|
<value name="KeyMacro19.Text" type="string" data=""/>
|
||||||
|
<value name="KeyMacro20" type="dword" data="00000000"/>
|
||||||
|
<value name="KeyMacro20.Text" type="string" data=""/>
|
||||||
|
<value name="KeyMacro21" type="dword" data="00000000"/>
|
||||||
|
<value name="KeyMacro21.Text" type="string" data=""/>
|
||||||
|
<value name="KeyMacro22" type="dword" data="00000000"/>
|
||||||
|
<value name="KeyMacro22.Text" type="string" data=""/>
|
||||||
|
<value name="KeyMacro23" type="dword" data="00000000"/>
|
||||||
|
<value name="KeyMacro23.Text" type="string" data=""/>
|
||||||
|
<value name="KeyMacro24" type="dword" data="00000000"/>
|
||||||
|
<value name="KeyMacro24.Text" type="string" data=""/>
|
||||||
|
<value name="KeyMacro25" type="dword" data="00000000"/>
|
||||||
|
<value name="KeyMacro25.Text" type="string" data=""/>
|
||||||
|
<value name="KeyMacro26" type="dword" data="00000000"/>
|
||||||
|
<value name="KeyMacro26.Text" type="string" data=""/>
|
||||||
|
<value name="KeyMacro27" type="dword" data="00000000"/>
|
||||||
|
<value name="KeyMacro27.Text" type="string" data=""/>
|
||||||
|
<value name="KeyMacro28" type="dword" data="00000000"/>
|
||||||
|
<value name="KeyMacro28.Text" type="string" data=""/>
|
||||||
|
<value name="KeyMacro29" type="dword" data="00000000"/>
|
||||||
|
<value name="KeyMacro29.Text" type="string" data=""/>
|
||||||
|
<value name="KeyMacro30" type="dword" data="00000000"/>
|
||||||
|
<value name="KeyMacro30.Text" type="string" data=""/>
|
||||||
|
<value name="KeyMacro31" type="dword" data="00000000"/>
|
||||||
|
<value name="KeyMacro31.Text" type="string" data=""/>
|
||||||
|
<value name="KeyMacro32" type="dword" data="00000000"/>
|
||||||
|
<value name="KeyMacro32.Text" type="string" data=""/>
|
||||||
|
<value name="CTS.VkBlock" type="hex" data="a4"/>
|
||||||
|
<value name="CTS.VkText" type="hex" data="a0"/>
|
||||||
|
<value name="CTS.VkAct" type="hex" data="00"/>
|
||||||
|
<value name="CTS.VkPrompt" type="hex" data="00"/>
|
||||||
|
<value name="FarGotoEditorVk" type="hex" data="a2"/>
|
||||||
|
<value name="DndLKey" type="hex" data="00"/>
|
||||||
|
<value name="DndRKey" type="hex" data="a2"/>
|
||||||
|
<value name="WndDragKey" type="dword" data="00121101"/>
|
||||||
|
</key>
|
||||||
</key>
|
</key>
|
||||||
</key>
|
</key>
|
||||||
</key>
|
</key>
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
e.=explorer .
|
e.=explorer .
|
||||||
gl=git log --oneline --all --graph --decorate $*
|
gl=git log --oneline --all --graph --decorate $*
|
||||||
ls=ls --color $*
|
ls=ls --show-control-chars -F --color $*
|
||||||
pwd=cd
|
pwd=cd
|
||||||
clear=cls
|
clear=cls
|
||||||
|
history=cat %CMDER_ROOT%\config\.history
|
||||||
|
unalias=alias /d $1
|
||||||
|
184
config/cmder.lua
Normal file
184
config/cmder.lua
Normal file
@ -0,0 +1,184 @@
|
|||||||
|
function lambda_prompt_filter()
|
||||||
|
clink.prompt.value = string.gsub(clink.prompt.value, "{lamb}", "λ")
|
||||||
|
end
|
||||||
|
|
||||||
|
---
|
||||||
|
-- Resolves closest directory location for specified directory.
|
||||||
|
-- Navigates subsequently up one level and tries to find specified directory
|
||||||
|
-- @param {string} path Path to directory will be checked. If not provided
|
||||||
|
-- current directory will be used
|
||||||
|
-- @param {string} dirname Directory name to search for
|
||||||
|
-- @return {string} Path to specified directory or nil if such dir not found
|
||||||
|
local function get_dir_contains(path, dirname)
|
||||||
|
|
||||||
|
-- return parent path for specified entry (either file or directory)
|
||||||
|
local function pathname(path)
|
||||||
|
local prefix = ""
|
||||||
|
local i = path:find("[\\/:][^\\/:]*$")
|
||||||
|
if i then
|
||||||
|
prefix = path:sub(1, i-1)
|
||||||
|
end
|
||||||
|
return prefix
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Navigates up one level
|
||||||
|
local function up_one_level(path)
|
||||||
|
if path == nil then path = '.' end
|
||||||
|
if path == '.' then path = clink.get_cwd() end
|
||||||
|
return pathname(path)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Checks if provided directory contains git directory
|
||||||
|
local function has_specified_dir(path, specified_dir)
|
||||||
|
if path == nil then path = '.' end
|
||||||
|
local found_dirs = clink.find_dirs(path..'/'..specified_dir)
|
||||||
|
if #found_dirs > 0 then return true end
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Set default path to current directory
|
||||||
|
if path == nil then path = '.' end
|
||||||
|
|
||||||
|
-- If we're already have .git directory here, then return current path
|
||||||
|
if has_specified_dir(path, dirname) then
|
||||||
|
return path..'/'..dirname
|
||||||
|
else
|
||||||
|
-- Otherwise go up one level and make a recursive call
|
||||||
|
local parent_path = up_one_level(path)
|
||||||
|
if parent_path == path then
|
||||||
|
return nil
|
||||||
|
else
|
||||||
|
return get_dir_contains(parent_path, dirname)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local function get_hg_dir(path)
|
||||||
|
return get_dir_contains(path, '.hg')
|
||||||
|
end
|
||||||
|
|
||||||
|
local function get_git_dir(path)
|
||||||
|
return get_dir_contains(path, '.git')
|
||||||
|
end
|
||||||
|
|
||||||
|
---
|
||||||
|
-- Find out current branch
|
||||||
|
-- @return {false|mercurial branch name}
|
||||||
|
---
|
||||||
|
function get_hg_branch()
|
||||||
|
for line in io.popen("hg branch 2>nul"):lines() do
|
||||||
|
local m = line:match("(.+)$")
|
||||||
|
if m then
|
||||||
|
return m
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
---
|
||||||
|
-- Get the status of working dir
|
||||||
|
-- @return {bool}
|
||||||
|
---
|
||||||
|
function get_hg_status()
|
||||||
|
for line in io.popen("hg status"):lines() do
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
function hg_prompt_filter()
|
||||||
|
|
||||||
|
-- Colors for mercurial status
|
||||||
|
local colors = {
|
||||||
|
clean = "\x1b[1;37;40m",
|
||||||
|
dirty = "\x1b[31;1m",
|
||||||
|
}
|
||||||
|
|
||||||
|
if get_hg_dir() then
|
||||||
|
-- if we're inside of mercurial repo then try to detect current branch
|
||||||
|
local branch = get_hg_branch()
|
||||||
|
if branch then
|
||||||
|
-- Has branch => therefore it is a mercurial folder, now figure out status
|
||||||
|
if get_hg_status() then
|
||||||
|
color = colors.clean
|
||||||
|
else
|
||||||
|
color = colors.dirty
|
||||||
|
end
|
||||||
|
|
||||||
|
clink.prompt.value = string.gsub(clink.prompt.value, "{hg}", color.."("..branch..")")
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- No mercurial present or not in mercurial file
|
||||||
|
clink.prompt.value = string.gsub(clink.prompt.value, "{hg}", "")
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
---
|
||||||
|
-- Find out current branch
|
||||||
|
-- @return {false|git branch name}
|
||||||
|
---
|
||||||
|
function get_git_branch()
|
||||||
|
for line in io.popen("git branch 2>nul"):lines() do
|
||||||
|
local m = line:match("%* (.+)$")
|
||||||
|
if m then
|
||||||
|
return m
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
---
|
||||||
|
-- Get the status of working dir
|
||||||
|
-- @return {bool}
|
||||||
|
---
|
||||||
|
function get_git_status()
|
||||||
|
return os.execute("git diff --quiet --ignore-submodules HEAD 2>nul")
|
||||||
|
end
|
||||||
|
|
||||||
|
function git_prompt_filter()
|
||||||
|
|
||||||
|
-- Colors for git status
|
||||||
|
local colors = {
|
||||||
|
clean = "\x1b[1;37;40m",
|
||||||
|
dirty = "\x1b[31;1m",
|
||||||
|
}
|
||||||
|
|
||||||
|
if get_git_dir() then
|
||||||
|
-- if we're inside of git repo then try to detect current branch
|
||||||
|
local branch = get_git_branch()
|
||||||
|
if branch then
|
||||||
|
-- Has branch => therefore it is a git folder, now figure out status
|
||||||
|
if get_git_status() then
|
||||||
|
color = colors.clean
|
||||||
|
else
|
||||||
|
color = colors.dirty
|
||||||
|
end
|
||||||
|
|
||||||
|
clink.prompt.value = string.gsub(clink.prompt.value, "{git}", color.."("..branch..")")
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- No git present or not in git file
|
||||||
|
clink.prompt.value = string.gsub(clink.prompt.value, "{git}", "")
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
clink.prompt.register_filter(lambda_prompt_filter, 40)
|
||||||
|
clink.prompt.register_filter(hg_prompt_filter, 50)
|
||||||
|
clink.prompt.register_filter(git_prompt_filter, 50)
|
||||||
|
|
||||||
|
local completions_dir = clink.get_env('CMDER_ROOT')..'/vendor/clink-completions/'
|
||||||
|
for _,lua_module in ipairs(clink.find_files(completions_dir..'*.lua')) do
|
||||||
|
-- Skip files that starts with _. This could be useful if some files should be ignored
|
||||||
|
if not string.match(lua_module, '^_.*') then
|
||||||
|
local filename = completions_dir..lua_module
|
||||||
|
-- use dofile instead of require because require caches loaded modules
|
||||||
|
-- so config reloading using Alt-Q won't reload updated modules.
|
||||||
|
dofile(filename)
|
||||||
|
end
|
||||||
|
end
|
@ -1,50 +0,0 @@
|
|||||||
---
|
|
||||||
-- Find out current branch
|
|
||||||
-- @return {false|git branch name}
|
|
||||||
---
|
|
||||||
function get_git_branch()
|
|
||||||
for line in io.popen("git branch 2>nul"):lines() do
|
|
||||||
local m = line:match("%* (.+)$")
|
|
||||||
if m then
|
|
||||||
return m
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
return false
|
|
||||||
end
|
|
||||||
|
|
||||||
---
|
|
||||||
-- Get the status of working dir
|
|
||||||
-- @return {bool}
|
|
||||||
---
|
|
||||||
function get_git_status()
|
|
||||||
return os.execute("git diff --quiet --ignore-submodules HEAD")
|
|
||||||
end
|
|
||||||
|
|
||||||
function git_prompt_filter()
|
|
||||||
|
|
||||||
-- Colors for git status
|
|
||||||
local colors = {
|
|
||||||
clean = "\x1b[1;37;40m",
|
|
||||||
dirty = "\x1b[31;1m",
|
|
||||||
}
|
|
||||||
|
|
||||||
local branch = get_git_branch()
|
|
||||||
if branch then
|
|
||||||
-- Has branch => therefore it is a git folder, now figure out status
|
|
||||||
if get_git_status() then
|
|
||||||
color = colors.clean
|
|
||||||
else
|
|
||||||
color = colors.dirty
|
|
||||||
end
|
|
||||||
|
|
||||||
clink.prompt.value = string.gsub(clink.prompt.value, "{git}", color.."("..branch..")")
|
|
||||||
return true
|
|
||||||
end
|
|
||||||
|
|
||||||
-- No git present or not in git file
|
|
||||||
clink.prompt.value = string.gsub(clink.prompt.value, "{git}", "")
|
|
||||||
return false
|
|
||||||
end
|
|
||||||
|
|
||||||
clink.prompt.register_filter(git_prompt_filter, 50)
|
|
@ -1,5 +0,0 @@
|
|||||||
function lambda_prompt_filter()
|
|
||||||
clink.prompt.value = string.gsub(clink.prompt.value, "{lamb}", "λ")
|
|
||||||
end
|
|
||||||
|
|
||||||
clink.prompt.register_filter(lambda_prompt_filter, 40)
|
|
@ -27,7 +27,7 @@ match_colour = -1
|
|||||||
# the line. 0 = PATH only, 1 = PATH and CWD, 2 = PATH, CWD, and directories. In
|
# the line. 0 = PATH only, 1 = PATH and CWD, 2 = PATH, CWD, and directories. In
|
||||||
# all cases both executables and directories are matched when there is a path
|
# all cases both executables and directories are matched when there is a path
|
||||||
# separator present.
|
# separator present.
|
||||||
exec_match_style = -1
|
exec_match_style = 2
|
||||||
|
|
||||||
# name: Prompt colour
|
# name: Prompt colour
|
||||||
# type: int
|
# type: int
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
# Visual Studio Express 2013 for Windows Desktop
|
# Visual Studio 14
|
||||||
VisualStudioVersion = 12.0.21005.1
|
VisualStudioVersion = 14.0.22823.1
|
||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CmderLauncher", "CmderLauncher.vcxproj", "{4A8485A5-B7DD-4C44-B7F6-3E2765DD0CD3}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CmderLauncher", "CmderLauncher.vcxproj", "{4A8485A5-B7DD-4C44-B7F6-3E2765DD0CD3}"
|
||||||
EndProject
|
EndProject
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<ItemGroup Label="ProjectConfigurations">
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
<ProjectConfiguration Include="Debug|Win32">
|
<ProjectConfiguration Include="Debug|Win32">
|
||||||
<Configuration>Debug</Configuration>
|
<Configuration>Debug</Configuration>
|
||||||
@ -14,18 +14,19 @@
|
|||||||
<ProjectGuid>{4A8485A5-B7DD-4C44-B7F6-3E2765DD0CD3}</ProjectGuid>
|
<ProjectGuid>{4A8485A5-B7DD-4C44-B7F6-3E2765DD0CD3}</ProjectGuid>
|
||||||
<Keyword>Win32Proj</Keyword>
|
<Keyword>Win32Proj</Keyword>
|
||||||
<RootNamespace>CmderLauncher</RootNamespace>
|
<RootNamespace>CmderLauncher</RootNamespace>
|
||||||
|
<TargetPlatformVersion>8.1</TargetPlatformVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
<UseDebugLibraries>true</UseDebugLibraries>
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
<PlatformToolset>v120</PlatformToolset>
|
<PlatformToolset>v140_xp</PlatformToolset>
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
<PlatformToolset>v120</PlatformToolset>
|
<PlatformToolset>v140_xp</PlatformToolset>
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
@ -79,7 +79,7 @@ optpair GetOption()
|
|||||||
return pair;
|
return pair;
|
||||||
}
|
}
|
||||||
|
|
||||||
void StartCmder(std::wstring path)
|
void StartCmder(std::wstring path, bool is_single_mode)
|
||||||
{
|
{
|
||||||
#if USE_TASKBAR_API
|
#if USE_TASKBAR_API
|
||||||
wchar_t appId[MAX_PATH] = { 0 };
|
wchar_t appId[MAX_PATH] = { 0 };
|
||||||
@ -102,7 +102,14 @@ void StartCmder(std::wstring path)
|
|||||||
PathCombine(cfgPath, exeDir, L"config\\ConEmu.xml");
|
PathCombine(cfgPath, exeDir, L"config\\ConEmu.xml");
|
||||||
PathCombine(conEmuPath, exeDir, L"vendor\\conemu-maximus5\\ConEmu.exe");
|
PathCombine(conEmuPath, exeDir, L"vendor\\conemu-maximus5\\ConEmu.exe");
|
||||||
|
|
||||||
swprintf_s(args, L"/Icon \"%s\" /Title Cmder /LoadCfgFile \"%s\"", icoPath, cfgPath);
|
if (is_single_mode)
|
||||||
|
{
|
||||||
|
swprintf_s(args, L"/single /Icon \"%s\" /Title Cmder /LoadCfgFile \"%s\"", icoPath, cfgPath);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
swprintf_s(args, L"/Icon \"%s\" /Title Cmder /LoadCfgFile \"%s\"", icoPath, cfgPath);
|
||||||
|
}
|
||||||
|
|
||||||
SetEnvironmentVariable(L"CMDER_ROOT", exeDir);
|
SetEnvironmentVariable(L"CMDER_ROOT", exeDir);
|
||||||
SetEnvironmentVariable(L"CMDER_START", path.c_str());
|
SetEnvironmentVariable(L"CMDER_START", path.c_str());
|
||||||
@ -229,7 +236,11 @@ int APIENTRY _tWinMain(_In_ HINSTANCE hInstance,
|
|||||||
|
|
||||||
if (streqi(opt.first.c_str(), L"/START"))
|
if (streqi(opt.first.c_str(), L"/START"))
|
||||||
{
|
{
|
||||||
StartCmder(opt.second);
|
StartCmder(opt.second, false);
|
||||||
|
}
|
||||||
|
else if (streqi(opt.first.c_str(), L"/SINGLE"))
|
||||||
|
{
|
||||||
|
StartCmder(opt.second, true);
|
||||||
}
|
}
|
||||||
else if (streqi(opt.first.c_str(), L"/REGISTER"))
|
else if (streqi(opt.first.c_str(), L"/REGISTER"))
|
||||||
{
|
{
|
||||||
@ -243,7 +254,7 @@ int APIENTRY _tWinMain(_In_ HINSTANCE hInstance,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
MessageBox(NULL, L"Unrecognized parameter.\n\nValid options:\n /START <path>\n /REGISTER [USER/ALL]\n /UNREGISTER [USER/ALL]", MB_TITLE, MB_OK);
|
MessageBox(NULL, L"Unrecognized parameter.\n\nValid options:\n /START <path>\n /SINGLE <path>\n /REGISTER [USER/ALL]\n /UNREGISTER [USER/ALL]", MB_TITLE, MB_OK);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BIN
msvcp120.dll
BIN
msvcp120.dll
Binary file not shown.
BIN
msvcr120.dll
BIN
msvcr120.dll
Binary file not shown.
@ -1,5 +1,4 @@
|
|||||||
launcher
|
launcher
|
||||||
icons
|
|
||||||
.gitignore
|
.gitignore
|
||||||
.gitattributes
|
.gitattributes
|
||||||
.git
|
.git
|
||||||
@ -7,4 +6,4 @@ icons
|
|||||||
build
|
build
|
||||||
config\.history
|
config\.history
|
||||||
packignore
|
packignore
|
||||||
Cmder.bat
|
Cmder.bat
|
||||||
|
@ -11,7 +11,11 @@
|
|||||||
.EXAMPLE
|
.EXAMPLE
|
||||||
.\build.ps1
|
.\build.ps1
|
||||||
|
|
||||||
Executes the default build for cmder, this is equivalent to the "minimum" style package in the releases
|
Executes the default build for cmder; Conemu, clink. This is equivalent to the "minimum" style package in the releases
|
||||||
|
.EXAMPLE
|
||||||
|
.\build.ps1 -Full
|
||||||
|
|
||||||
|
Executes a full build for cmder, including git. This is equivalent to the "full" style package in the releases
|
||||||
.EXAMPLE
|
.EXAMPLE
|
||||||
.\build -verbose
|
.\build -verbose
|
||||||
|
|
||||||
@ -27,7 +31,6 @@
|
|||||||
.LINK
|
.LINK
|
||||||
https://github.com/bliker/cmder - Project Home
|
https://github.com/bliker/cmder - Project Home
|
||||||
#>
|
#>
|
||||||
|
|
||||||
[CmdletBinding(SupportsShouldProcess=$true)]
|
[CmdletBinding(SupportsShouldProcess=$true)]
|
||||||
Param(
|
Param(
|
||||||
# CmdletBinding will give us;
|
# CmdletBinding will give us;
|
||||||
@ -41,7 +44,10 @@ Param(
|
|||||||
[string]$saveTo = "..\vendor\",
|
[string]$saveTo = "..\vendor\",
|
||||||
|
|
||||||
# Launcher folder location
|
# Launcher folder location
|
||||||
[string]$launcher = "..\launcher"
|
[string]$launcher = "..\launcher",
|
||||||
|
|
||||||
|
# Include git with the package build
|
||||||
|
[switch]$Full
|
||||||
)
|
)
|
||||||
|
|
||||||
. "$PSScriptRoot\utils.ps1"
|
. "$PSScriptRoot\utils.ps1"
|
||||||
@ -53,12 +59,17 @@ $sources = Get-Content $sourcesPath | Out-String | Convertfrom-Json
|
|||||||
# Check for requirements
|
# Check for requirements
|
||||||
Ensure-Exists $sourcesPath
|
Ensure-Exists $sourcesPath
|
||||||
Ensure-Executable "7z"
|
Ensure-Executable "7z"
|
||||||
|
New-Item -Type Directory -Path (Join-Path $saveTo "/tmp/") -ErrorAction SilentlyContinue >$null
|
||||||
|
|
||||||
foreach ($s in $sources) {
|
foreach ($s in $sources) {
|
||||||
|
if($Full -eq $false -and $s.name -eq "msysgit"){
|
||||||
|
Continue
|
||||||
|
}
|
||||||
|
|
||||||
Write-Verbose "Getting $($s.name) from URL $($s.url)"
|
Write-Verbose "Getting $($s.name) from URL $($s.url)"
|
||||||
|
|
||||||
# We do not care about the extensions/type of archive
|
# We do not care about the extensions/type of archive
|
||||||
$tempArchive = "$($s.name).tmp"
|
$tempArchive = "tmp/$($s.name).tmp"
|
||||||
Delete-Existing $tempArchive
|
Delete-Existing $tempArchive
|
||||||
Delete-Existing $s.name
|
Delete-Existing $s.name
|
||||||
|
|
||||||
@ -68,6 +79,8 @@ foreach ($s in $sources) {
|
|||||||
if ((Get-Childitem $s.name).Count -eq 1) {
|
if ((Get-Childitem $s.name).Count -eq 1) {
|
||||||
Flatten-Directory($s.name)
|
Flatten-Directory($s.name)
|
||||||
}
|
}
|
||||||
|
# Write current version to .cmderver file, for later.
|
||||||
|
"$($s.version)" | Out-File "$($s.name)/.cmderver"
|
||||||
}
|
}
|
||||||
|
|
||||||
Pop-Location
|
Pop-Location
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
Creates default archives for cmder with plenty of information
|
Creates default archives for cmder with plenty of information
|
||||||
.NOTES
|
.NOTES
|
||||||
AUTHORS
|
AUTHORS
|
||||||
Samuel Vasko, Jack Bennett
|
Samuel Vasko, Jack Bennett, Martin Kemp
|
||||||
Part of the Cmder project.
|
Part of the Cmder project.
|
||||||
.LINK
|
.LINK
|
||||||
https://github.com/bliker/cmder - Project Home
|
https://github.com/bliker/cmder - Project Home
|
||||||
@ -46,6 +46,7 @@ $targets = @{
|
|||||||
}
|
}
|
||||||
|
|
||||||
Delete-Existing "..\Version*"
|
Delete-Existing "..\Version*"
|
||||||
|
Cleanup-Git
|
||||||
|
|
||||||
$version = Invoke-Expression "git describe --abbrev=0 --tags"
|
$version = Invoke-Expression "git describe --abbrev=0 --tags"
|
||||||
(New-Item -ItemType file "$cmderRoot\Version $version") | Out-Null
|
(New-Item -ItemType file "$cmderRoot\Version $version") | Out-Null
|
||||||
|
@ -13,7 +13,7 @@ function Ensure-Executable ($command) {
|
|||||||
set-alias -Name "7z" -Value "$env:programfiles\7-zip\7z.exe" -Scope script
|
set-alias -Name "7z" -Value "$env:programfiles\7-zip\7z.exe" -Scope script
|
||||||
}
|
}
|
||||||
ElseIf( ($command -eq "7z") -and (Test-Path "$env:programw6432\7-zip\7z.exe") ) {
|
ElseIf( ($command -eq "7z") -and (Test-Path "$env:programw6432\7-zip\7z.exe") ) {
|
||||||
set-alias -Name "7z" -Value "$env:programw6432\7-zip\7z.exe" -Scope script
|
set-alias -Name "7z" -Value "$env:programw6432\7-zip\7z.exe" -Scope script
|
||||||
}
|
}
|
||||||
Else {
|
Else {
|
||||||
Write-Error "Missing $command! Ensure it is installed and on in the PATH"
|
Write-Error "Missing $command! Ensure it is installed and on in the PATH"
|
||||||
@ -28,7 +28,7 @@ function Delete-Existing ($path) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function Extract-Archive ($source, $target) {
|
function Extract-Archive ($source, $target) {
|
||||||
Invoke-Expression "7z x -y -o$($target) $source > `$null"
|
Invoke-Expression "7z x -y -o$($target) '$source' > `$null"
|
||||||
if ($lastexitcode -ne 0) {
|
if ($lastexitcode -ne 0) {
|
||||||
Write-Error "Extracting of $source failied"
|
Write-Error "Extracting of $source failied"
|
||||||
}
|
}
|
||||||
@ -54,5 +54,43 @@ function Flatten-Directory ($name) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function Digest-MD5 ($path) {
|
function Digest-MD5 ($path) {
|
||||||
|
if(Get-Command Get-FileHash -ErrorAction SilentlyContinue){
|
||||||
|
return (Get-FileHash -Algorithm MD5 -Path $path).Hash
|
||||||
|
}
|
||||||
|
|
||||||
return Invoke-Expression "md5sum $path"
|
return Invoke-Expression "md5sum $path"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function Cleanup-Git () {
|
||||||
|
$gitdir = '/vendor/msysgit/libexec/git-core/'
|
||||||
|
Get-Childitem $gitdir -Exclude git.exe | Where-Object{!($_.PSIsContainer)} | Foreach-Object { Remove-Item $_.FullName }
|
||||||
|
}
|
||||||
|
|
||||||
|
function Register-Cmder(){
|
||||||
|
[CmdletBinding()]
|
||||||
|
Param
|
||||||
|
(
|
||||||
|
# Text for the context menu item.
|
||||||
|
$MenuText = "Cmder Here"
|
||||||
|
|
||||||
|
, # Defaults to the current cmder directory when run from cmder.
|
||||||
|
$PathToExe = (Join-Path $env:CMDER_ROOT "cmder.exe")
|
||||||
|
|
||||||
|
, # Commands the context menu will execute.
|
||||||
|
$Command = "%V"
|
||||||
|
|
||||||
|
, # Defaults to the icons folder in the cmder package.
|
||||||
|
$icon = (Split-Path $PathToExe | join-path -ChildPath 'icons/cmder.ico')
|
||||||
|
)
|
||||||
|
Begin
|
||||||
|
{
|
||||||
|
New-PSDrive -Name HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT
|
||||||
|
}
|
||||||
|
Process
|
||||||
|
{
|
||||||
|
New-Item -Path "HKCR:\Directory\Shell\Cmder" -Force -Value $MenuText
|
||||||
|
New-ItemProperty -Path "HKCR:\Directory\Shell\Cmder" -Force -Name "Icon" -Value `"$icon`"
|
||||||
|
New-ItemProperty -Path "HKCR:\Directory\Shell\Cmder" -Force -Name "NoWorkingDirectory"
|
||||||
|
New-Item -Path "HKCR:\Directory\Shell\Cmder\Command" -Force -Value "`"$PathToExe`" `"$Command`" "
|
||||||
|
}
|
||||||
|
}
|
||||||
|
25
vendor/init.bat
vendored
25
vendor/init.bat
vendored
@ -4,12 +4,12 @@
|
|||||||
|
|
||||||
:: Find root dir
|
:: Find root dir
|
||||||
@if not defined CMDER_ROOT (
|
@if not defined CMDER_ROOT (
|
||||||
for /f %%i in ("%ConEmuDir%\..\..") do @set CMDER_ROOT=%%~fi
|
for /f "delims=" %%i in ("%ConEmuDir%\..\..") do @set CMDER_ROOT=%%~fi
|
||||||
)
|
)
|
||||||
|
|
||||||
:: Change the prompt style
|
:: Change the prompt style
|
||||||
:: Mmm tasty lamb
|
:: Mmm tasty lamb
|
||||||
@prompt $E[1;32;40m$P$S{git}$S$_$E[1;30;40m{lamb}$S$E[0m
|
@prompt $E[1;32;40m$P$S{git}{hg}$S$_$E[1;30;40m{lamb}$S$E[0m
|
||||||
|
|
||||||
:: Pick right version of clink
|
:: Pick right version of clink
|
||||||
@if "%PROCESSOR_ARCHITECTURE%"=="x86" (
|
@if "%PROCESSOR_ARCHITECTURE%"=="x86" (
|
||||||
@ -27,9 +27,24 @@
|
|||||||
@set PLINK_PROTOCOL=ssh
|
@set PLINK_PROTOCOL=ssh
|
||||||
@if not defined TERM set TERM=cygwin
|
@if not defined TERM set TERM=cygwin
|
||||||
|
|
||||||
|
:: Check if msysgit is installed
|
||||||
|
@if exist "%ProgramFiles%\Git" (
|
||||||
|
set "GIT_INSTALL_ROOT=%ProgramFiles%\Git"
|
||||||
|
) else if exist "%ProgramFiles(x86)%\Git" (
|
||||||
|
set "GIT_INSTALL_ROOT=%ProgramFiles(x86)%\Git"
|
||||||
|
) else if exist "%CMDER_ROOT%\vendor" (
|
||||||
|
set "GIT_INSTALL_ROOT=%CMDER_ROOT%\vendor\msysgit"
|
||||||
|
)
|
||||||
|
|
||||||
|
:: Add git to the path
|
||||||
|
@if defined GIT_INSTALL_ROOT (
|
||||||
|
set "PATH=%GIT_INSTALL_ROOT%\bin;%GIT_INSTALL_ROOT%\share\vim\vim74;%PATH%"
|
||||||
|
:: define SVN_SSH so we can use git svn with ssh svn repositories
|
||||||
|
if not defined SVN_SSH set "SVN_SSH=%GIT_INSTALL_ROOT:\=\\%\\bin\\ssh.exe"
|
||||||
|
)
|
||||||
|
|
||||||
:: Enhance Path
|
:: Enhance Path
|
||||||
@set git_install_root=%CMDER_ROOT%\vendor\msysgit
|
@set PATH=%CMDER_ROOT%\bin;%PATH%;%CMDER_ROOT%
|
||||||
@set PATH=%CMDER_ROOT%\bin;%git_install_root%\bin;%git_install_root%\mingw\bin;%git_install_root%\cmd;%git_install_root%\share\vim\vim74;%CMDER_ROOT%;%PATH%
|
|
||||||
|
|
||||||
:: Add aliases
|
:: Add aliases
|
||||||
@doskey /macrofile="%CMDER_ROOT%\config\aliases"
|
@doskey /macrofile="%CMDER_ROOT%\config\aliases"
|
||||||
@ -44,3 +59,5 @@
|
|||||||
@cd /d "%HOME%"
|
@cd /d "%HOME%"
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
:: @call "%CMDER_ROOT%/bin/agent.cmd"
|
||||||
|
52
vendor/profile.ps1
vendored
Normal file
52
vendor/profile.ps1
vendored
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
# Add Cmder modules directory to the autoload path.
|
||||||
|
$CmderModulePath = Join-path $PSScriptRoot "psmodules/"
|
||||||
|
|
||||||
|
if( -not $env:PSModulePath.Contains($CmderModulePath) ){
|
||||||
|
$env:PSModulePath = $env:PSModulePath.Insert(0, "$CmderModulePath;")
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
Get-command -Name "git" -ErrorAction Stop >$null
|
||||||
|
Import-Module -Name "posh-git" -ErrorAction Stop >$null
|
||||||
|
$gitStatus = $true
|
||||||
|
} catch {
|
||||||
|
Write-Warning "Missing git support, install posh-git with 'Install-Module posh-git' and restart cmder."
|
||||||
|
$gitStatus = $false
|
||||||
|
}
|
||||||
|
|
||||||
|
function checkGit($Path) {
|
||||||
|
if (Test-Path -Path (Join-Path $Path '.git/') ) {
|
||||||
|
Write-VcsStatus
|
||||||
|
return
|
||||||
|
}
|
||||||
|
$SplitPath = split-path $path
|
||||||
|
if ($SplitPath) {
|
||||||
|
checkGit($SplitPath)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Set up a Cmder prompt, adding the git prompt parts inside git repos
|
||||||
|
function global:prompt {
|
||||||
|
$realLASTEXITCODE = $LASTEXITCODE
|
||||||
|
$Host.UI.RawUI.ForegroundColor = "White"
|
||||||
|
Write-Host $pwd.ProviderPath -NoNewLine -ForegroundColor Green
|
||||||
|
if($gitStatus){
|
||||||
|
checkGit($pwd.ProviderPath)
|
||||||
|
}
|
||||||
|
$global:LASTEXITCODE = $realLASTEXITCODE
|
||||||
|
Write-Host "`nλ" -NoNewLine -ForegroundColor "DarkGray"
|
||||||
|
return " "
|
||||||
|
}
|
||||||
|
|
||||||
|
# Load special features come from posh-git
|
||||||
|
if ($gitStatus) {
|
||||||
|
Enable-GitColors
|
||||||
|
Start-SshAgent -Quiet
|
||||||
|
}
|
||||||
|
|
||||||
|
# Move to the wanted location
|
||||||
|
if (Test-Path Env:\CMDER_START) {
|
||||||
|
Set-Location -Path $Env:CMDER_START
|
||||||
|
} elseif ($Env:CMDER_ROOT -and $Env:CMDER_ROOT.StartsWith($pwd)) {
|
||||||
|
Set-Location -Path $Env:USERPROFILE
|
||||||
|
}
|
2132
vendor/psmodules/PsGet/PsGet.psm1
vendored
Normal file
2132
vendor/psmodules/PsGet/PsGet.psm1
vendored
Normal file
File diff suppressed because it is too large
Load Diff
17
vendor/sources.json
vendored
17
vendor/sources.json
vendored
@ -1,17 +1,22 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"name": "msysgit",
|
"name": "msysgit",
|
||||||
"version": "1.9.5-preview",
|
"version": "1.9.5-preview20150319",
|
||||||
"url": "https://github.com/msysgit/msysgit/releases/download/Git-1.9.5-preview20141217/PortableGit-1.9.5-preview20141217.7z"
|
"url": "https://github.com/msysgit/msysgit/releases/download/Git-1.9.5-preview20150319/PortableGit-1.9.5-preview20150319.7z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "clink",
|
"name": "clink",
|
||||||
"version": "0.4.2",
|
"version": "0.4.4",
|
||||||
"url": "https://github.com/mridgers/clink/releases/download/0.4.2/clink_0.4.2.zip"
|
"url": "https://github.com/mridgers/clink/releases/download/0.4.4/clink_0.4.4.zip"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "conemu-maximus5",
|
"name": "conemu-maximus5",
|
||||||
"version": "140707",
|
"version": "150513",
|
||||||
"url": "https://conemu.codeplex.com/downloads/get/880090"
|
"url": "https://github.com/Maximus5/ConEmu/releases/download/v15.05.13/ConEmuPack.150513.7z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "clink-completions",
|
||||||
|
"version": "0.1.0",
|
||||||
|
"url": "https://github.com/vladimir-kotikov/clink-completions/archive/0.1.0.zip"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
Loading…
Reference in New Issue
Block a user