mirror of
https://github.com/cmderdev/cmder.git
synced 2024-11-10 17:59:11 +08:00
Merge remote-tracking branch 'refs/remotes/cmderdev/development' into development
This commit is contained in:
commit
4ce55d1019
2
.gitignore
vendored
2
.gitignore
vendored
@ -11,3 +11,5 @@ Thumbs.db
|
|||||||
*.dll
|
*.dll
|
||||||
build/
|
build/
|
||||||
Version v*
|
Version v*
|
||||||
|
*.bak
|
||||||
|
config/user-*
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
@echo off
|
@echo off
|
||||||
SET CMDER_ROOT=%~dp0
|
SET CMDER_ROOT=%~dp0
|
||||||
|
if "%CMDER_ROOT:~-1%" == "\" SET CMDER_ROOT=%CMDER_ROOT:~0,-1%
|
||||||
start %~dp0/vendor/conemu-maximus5/ConEmu.exe /Icon "%CMDER_ROOT%\icons\cmder.ico" /Title Cmder /LoadCfgFile "%CMDER_ROOT%\config\ConEmu.xml"
|
start %~dp0/vendor/conemu-maximus5/ConEmu.exe /Icon "%CMDER_ROOT%\icons\cmder.ico" /Title Cmder /LoadCfgFile "%CMDER_ROOT%\config\ConEmu.xml"
|
||||||
|
38
README.md
38
README.md
@ -1,29 +1,27 @@
|
|||||||
# Cmder
|
# Cmder
|
||||||
|
|
||||||
[![Join the chat at https://gitter.im/bliker/cmder](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/bliker/cmder?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
[![Join the chat at https://gitter.im/bliker/cmder](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/cmderdev/cmder?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
||||||
|
|
||||||
Latest release is **[v1.2](https://github.com/bliker/cmder/releases/tag/v1.2)**
|
![Build Status](https://ci.appveyor.com/api/projects/status/32r7s2skrgm9ubva?retina=true)
|
||||||
|
|
||||||
Cmder is a **software package** created out of pure frustration over absence of usable console emulator on Windows. It is based on [ConEmu](https://code.google.com/p/conemu-maximus5/) with *major* config overhaul. Monokai color scheme, amazing [clink](https://github.com/mridgers/clink) and custom prompt layout.
|
Cmder is a **software package** created out of pure frustration over absence of usable console emulator on Windows. It is based on [ConEmu](https://conemu.github.io/) with *major* config overhaul, comes with a Monokai color scheme, amazing [clink](https://github.com/mridgers/clink) (further enhanced by [clink-completions](https://github.com/vladimir-kotikov/clink-completions)) and a custom prompt layout.
|
||||||
|
|
||||||
![Cmder Screenshot](http://i.imgur.com/g1nNf0I.png)
|
![Cmder Screenshot](http://i.imgur.com/g1nNf0I.png)
|
||||||
|
|
||||||
## Why use it
|
## Why use it
|
||||||
|
|
||||||
The main advantage of Cmder is portability. It is designed to be totally self-contained with no external dependencies, that is makes it great for **USB Sticks** or **Dropbox**. So you can carry your console, aliases and binaries (like wget, curl and git) with you anywhere.
|
The main advantage of Cmder is portability. It is designed to be totally self-contained with no external dependencies, that is makes it great for **USB Sticks** or **cloud storage**. So you can carry your console, aliases and binaries (like wget, curl and git) with you anywhere.
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
1. Download the latest release
|
1. Download the [latest release](https://github.com/cmderdev/cmder/releases/)
|
||||||
2. Extract
|
2. Extract
|
||||||
3. (optional) Place your own executable files into the `bin` folder to be injected into your PATH.
|
3. (optional) Place your own executable files into the `bin` folder to be injected into your PATH.
|
||||||
4. Run cmder
|
4. Run Cmder
|
||||||
|
|
||||||
*(There will be a version with installer)*
|
|
||||||
|
|
||||||
## Integration
|
## Integration
|
||||||
|
|
||||||
So you've experimented with cmder a little and want to give it a shot in a more permanent home;
|
So you've experimented with Cmder a little and want to give it a shot in a more permanent home;
|
||||||
|
|
||||||
### Shortcut to open Cmder in a chosen folder
|
### Shortcut to open Cmder in a chosen folder
|
||||||
|
|
||||||
@ -38,18 +36,18 @@ In a file explorer window right click in or on a directory to see "Cmder Here" i
|
|||||||
|
|
||||||
### Tab manipulation
|
### Tab manipulation
|
||||||
|
|
||||||
* `Ctrl + t` : new tab dialog (maybe you want to open cmd as admin?)
|
* <kbd>Ctrl</kbd> + <kbd>T</kbd> : New tab dialog (maybe you want to open cmd as admin?)
|
||||||
* `Ctrl + w` : close tab
|
* <kbd>Ctrl</kbd> + <kbd>W</kbd> : Close tab
|
||||||
* `Ctrl + d` : close tab (if pressed on empty command)
|
* <kbd>Ctrl</kbd> + <kbd>D</kbd> : Close tab (if pressed on empty command)
|
||||||
* `Shift + alt + number` : fast new tab: `1` - CMD, `2` - Powershell `*` - More to come
|
* <kbd>Shift</kbd> + <kbd>Alt</kbd> + <kbd>#Number</kbd> : Fast new tab: <kbd>1</kbd> - CMD, <kbd>2</kbd> - PowerShell
|
||||||
* `Alt + enter`: Fullscreen
|
* <kbd>Alt</kbd> + <kbd>Enter</kbd>: Fullscreen
|
||||||
|
|
||||||
### Shell
|
### Shell
|
||||||
|
|
||||||
* `Shift + Up` : Traverse up in directory structure (lovely feature!)
|
* <kbd>Shift</kbd> + <kbd>Up</kbd> : Traverse up in directory structure (lovely feature!)
|
||||||
* `End, Home, Ctrl` : Traversing text with as usual on Windows
|
* <kbd>End</kbd>, <kbd>Home</kbd>, <kbd>Ctrl</kbd> : Traversing text with as usual on Windows
|
||||||
* `Ctrl + r` : History search
|
* <kbd>Ctrl</kbd> + <kbd>R</kbd> : History search
|
||||||
* `Shift + mouse` : Select and copy text from buffer
|
* <kbd>Shift</kbd> + Mouse : Select and copy text from buffer
|
||||||
|
|
||||||
(Some shortcuts are not yet documented, thought they exist, please add them here)
|
(Some shortcuts are not yet documented, thought they exist, please add them here)
|
||||||
|
|
||||||
@ -64,9 +62,9 @@ All aliases will be saved in `/config/aliases` file
|
|||||||
|
|
||||||
### SSH Agent
|
### SSH Agent
|
||||||
|
|
||||||
To start SSH agent simply call `agent`, which is in the `bin` folder.
|
To start SSH agent simply call `start-ssh-agent`, which is in the `vendor/git-for-windows/cmd` 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"`.
|
If you want to run SSH agent on startup, include the line `@call "%GIT_INSTALL_ROOT%/cmd/start-ssh-agent.cmd"` in `/config/user-startup.bat` (usually just uncomment it).
|
||||||
|
|
||||||
## Todo
|
## Todo
|
||||||
|
|
||||||
|
40
appveyor.yml
Normal file
40
appveyor.yml
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
#---------------------------------#
|
||||||
|
# general configuration #
|
||||||
|
#---------------------------------#
|
||||||
|
|
||||||
|
version: 1.0.{build}-{branch}
|
||||||
|
|
||||||
|
# branches to build
|
||||||
|
branches:
|
||||||
|
# blacklist
|
||||||
|
except:
|
||||||
|
- gh-pages
|
||||||
|
|
||||||
|
# Do not build on tags
|
||||||
|
skip_tags: true
|
||||||
|
|
||||||
|
#---------------------------------#
|
||||||
|
# environment configuration #
|
||||||
|
#---------------------------------#
|
||||||
|
|
||||||
|
# Operating system (build VM template)
|
||||||
|
os: Windows Server 2012 R2
|
||||||
|
|
||||||
|
#---------------------------------#
|
||||||
|
# build configuration #
|
||||||
|
#---------------------------------#
|
||||||
|
|
||||||
|
build_script:
|
||||||
|
- ps: cd scripts; .\build.ps1 -Compile -verbose
|
||||||
|
|
||||||
|
#---------------------------------#
|
||||||
|
# notifications #
|
||||||
|
#---------------------------------#
|
||||||
|
|
||||||
|
notifications:
|
||||||
|
# Webhook
|
||||||
|
- provider: Webhook
|
||||||
|
url: https://webhooks.gitter.im/e/f7b9c3ae66741c2e046e
|
||||||
|
on_build_success: true
|
||||||
|
on_build_failure: true
|
||||||
|
on_build_status_changed: true
|
@ -1,46 +0,0 @@
|
|||||||
@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,8 +1,13 @@
|
|||||||
@echo off
|
@echo off
|
||||||
|
|
||||||
set ALIASES=%CMDER_ROOT%\config\aliases
|
set ALIASES=%CMDER_ROOT%\config\aliases
|
||||||
|
setlocal
|
||||||
|
:: handle quotes within command definition, e.g. quoted long file names
|
||||||
|
set _x="%*"
|
||||||
|
set _x=%_x:"=%
|
||||||
|
|
||||||
if ["%*"] == [""] echo Use /? for help & echo. & goto :p_show
|
:: check command usage
|
||||||
|
if ["%_x%"] == [""] echo Use /? for help & echo. & goto :p_show
|
||||||
if ["%1"] == ["/?"] goto:p_help
|
if ["%1"] == ["/?"] goto:p_help
|
||||||
if ["%1"] == ["/reload"] goto:p_reload
|
if ["%1"] == ["/reload"] goto:p_reload
|
||||||
:: /d flag for delete existing alias
|
:: /d flag for delete existing alias
|
||||||
@ -14,19 +19,17 @@ if ["%2"] == [""] (
|
|||||||
)
|
)
|
||||||
|
|
||||||
:: validate alias
|
:: validate alias
|
||||||
setlocal
|
for /f "delims== tokens=1" %%G in ("%_x%") do set alias=%%G
|
||||||
for /f "delims== tokens=1" %%G in ("%*") do set _temp2=%%G
|
set _temp=%alias: =%
|
||||||
|
|
||||||
set _temp=%_temp2: =%
|
if not ["%_temp%"] == ["%alias%"] (
|
||||||
|
|
||||||
if not ["%_temp%"] == ["%_temp2%"] (
|
|
||||||
echo Your alias name can not contain a space
|
echo Your alias name can not contain a space
|
||||||
endlocal
|
endlocal
|
||||||
goto:eof
|
goto:eof
|
||||||
)
|
)
|
||||||
|
|
||||||
:: replace already defined alias
|
:: replace already defined alias
|
||||||
findstr /b /v /i "%_temp%=" "%ALIASES%" >> "%ALIASES%.tmp"
|
findstr /b /v /i "%alias%=" "%ALIASES%" >> "%ALIASES%.tmp"
|
||||||
echo %* >> "%ALIASES%.tmp" && type "%ALIASES%.tmp" > "%ALIASES%" & @del /f /q "%ALIASES%.tmp"
|
echo %* >> "%ALIASES%.tmp" && type "%ALIASES%.tmp" > "%ALIASES%" & @del /f /q "%ALIASES%.tmp"
|
||||||
doskey /macrofile="%ALIASES%"
|
doskey /macrofile="%ALIASES%"
|
||||||
endlocal
|
endlocal
|
||||||
|
@ -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="{PowerShell}"/>
|
<value name="StartTasksName" type="string" data="{cmd}"/>
|
||||||
<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"/>
|
||||||
@ -497,7 +497,7 @@
|
|||||||
<key name="Task2" modified="2015-05-17 22:10:27" build="150513">
|
<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="/icon "%CMDER_ROOT%\cmder.exe""/>
|
<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="Cmd1" type="string" data="PowerShell -ExecutionPolicy Bypass -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"/>
|
||||||
@ -507,7 +507,7 @@
|
|||||||
<value name="Name" type="string" data="{PowerShell as Admin}"/>
|
<value name="Name" type="string" data="{PowerShell as Admin}"/>
|
||||||
<value name="Hotkey" type="dword" data="00000000"/>
|
<value name="Hotkey" type="dword" data="00000000"/>
|
||||||
<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="*PowerShell -NoLogo -NoProfile -NoExit -Command "Invoke-Expression '. ''%ConEmuDir%\..\profile.ps1'''" -new_console:d:"%USERPROFILE%""/>
|
<value name="Cmd1" type="string" data="*PowerShell -ExecutionPolicy Bypass -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="Flags" type="dword" data="00000000"/>
|
<value name="Flags" type="dword" data="00000000"/>
|
||||||
@ -516,8 +516,8 @@
|
|||||||
<value name="Name" type="string" data="{git sh}"/>
|
<value name="Name" type="string" data="{git sh}"/>
|
||||||
<value name="Hotkey" type="dword" data="00000000"/>
|
<value name="Hotkey" type="dword" data="00000000"/>
|
||||||
<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 & %CMDER_ROOT%\vendor\msysgit\bin\bash --login -i" -new_console:d:%USERPROFILE%"/>
|
<value name="Cmd1" type="string" data="cmd /k "%ConEmuDir%\..\init.bat & %CMDER_ROOT%\vendor\git-for-windows\bin\bash --login -i" -new_console:d:%USERPROFILE%"/>
|
||||||
<value name="Cmd2" type="string" data="%CMDER_ROOT%\vendor\msysgit\git-bash.bat"/>
|
<value name="Cmd2" type="string" data="%CMDER_ROOT%\vendor\git-for-windows\git-bash.exe"/>
|
||||||
<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"/>
|
||||||
</key>
|
</key>
|
||||||
@ -734,27 +734,27 @@
|
|||||||
<value name="PastePathKey" type="dword" data="00101144"/>
|
<value name="PastePathKey" type="dword" data="00101144"/>
|
||||||
<value name="PasteCygwinKey" type="dword" data="00005d2d"/>
|
<value name="PasteCygwinKey" type="dword" data="00005d2d"/>
|
||||||
<value name="KeyMacro01" type="dword" data="00a01231"/>
|
<value name="KeyMacro01" type="dword" data="00a01231"/>
|
||||||
<value name="KeyMacro01.Text" type="string" data="Task("cmd")"/>
|
<value name="KeyMacro01.Text" type="string" data="Task(1)"/>
|
||||||
<value name="KeyMacro02" type="dword" data="00a01232"/>
|
<value name="KeyMacro02" type="dword" data="00a01232"/>
|
||||||
<value name="KeyMacro02.Text" type="string" data="Task("PowerShell")"/>
|
<value name="KeyMacro02.Text" type="string" data="Task(2)"/>
|
||||||
<value name="KeyMacro03" type="dword" data="000011d0"/>
|
<value name="KeyMacro03" type="dword" data="000011d0"/>
|
||||||
<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="00a01233"/>
|
<value name="KeyMacro05" type="dword" data="00a01233"/>
|
||||||
<value name="KeyMacro05.Text" type="string" data="Task("PowerShell as Admin")"/>
|
<value name="KeyMacro05.Text" type="string" data="Task(3)"/>
|
||||||
<value name="KeyMacro06" type="dword" data="00000000"/>
|
<value name="KeyMacro06" type="dword" data="00a01234"/>
|
||||||
<value name="KeyMacro06.Text" type="string" data=""/>
|
<value name="KeyMacro06.Text" type="string" data="Task(4)"/>
|
||||||
<value name="KeyMacro07" type="dword" data="00000000"/>
|
<value name="KeyMacro07" type="dword" data="00a01235"/>
|
||||||
<value name="KeyMacro07.Text" type="string" data=""/>
|
<value name="KeyMacro07.Text" type="string" data="Task(5)"/>
|
||||||
<value name="KeyMacro08" type="dword" data="00000000"/>
|
<value name="KeyMacro08" type="dword" data="00a01236"/>
|
||||||
<value name="KeyMacro08.Text" type="string" data=""/>
|
<value name="KeyMacro08.Text" type="string" data="Task(6)"/>
|
||||||
<value name="KeyMacro09" type="dword" data="00000000"/>
|
<value name="KeyMacro09" type="dword" data="00a01237"/>
|
||||||
<value name="KeyMacro09.Text" type="string" data=""/>
|
<value name="KeyMacro09.Text" type="string" data="Task(7)"/>
|
||||||
<value name="KeyMacro10" type="dword" data="00000000"/>
|
<value name="KeyMacro10" type="dword" data="00a01238"/>
|
||||||
<value name="KeyMacro10.Text" type="string" data=""/>
|
<value name="KeyMacro10.Text" type="string" data="Task(8)"/>
|
||||||
<value name="KeyMacro11" type="dword" data="00000000"/>
|
<value name="KeyMacro11" type="dword" data="00a01239"/>
|
||||||
<value name="KeyMacro11.Text" type="string" data=""/>
|
<value name="KeyMacro11.Text" type="string" data="Task(9)"/>
|
||||||
<value name="KeyMacro12" type="dword" data="00000000"/>
|
<value name="KeyMacro12" type="dword" data="00000000"/>
|
||||||
<value name="KeyMacro12.Text" type="string" data=""/>
|
<value name="KeyMacro12.Text" type="string" data=""/>
|
||||||
<value name="KeyMacro13" type="dword" data="00000000"/>
|
<value name="KeyMacro13" type="dword" data="00000000"/>
|
||||||
|
@ -118,17 +118,23 @@ end
|
|||||||
|
|
||||||
---
|
---
|
||||||
-- Find out current branch
|
-- Find out current branch
|
||||||
-- @return {false|git branch name}
|
-- @return {nil|git branch name}
|
||||||
---
|
---
|
||||||
function get_git_branch()
|
function get_git_branch(git_dir)
|
||||||
for line in io.popen("git branch 2>nul"):lines() do
|
local git_dir = git_dir or get_git_dir()
|
||||||
local m = line:match("%* (.+)$")
|
|
||||||
if m then
|
|
||||||
return m
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
return false
|
-- If git directory not found then we're probably outside of repo
|
||||||
|
-- or something went wrong. The same is when head_file is nil
|
||||||
|
local head_file = git_dir and io.open(git_dir..'/HEAD')
|
||||||
|
if not head_file then return end
|
||||||
|
|
||||||
|
local HEAD = head_file:read()
|
||||||
|
head_file:close()
|
||||||
|
|
||||||
|
-- if HEAD matches branch expression, then we're on named branch
|
||||||
|
-- otherwise it is a detached commit
|
||||||
|
local branch_name = HEAD:match('ref: refs/heads/(.+)')
|
||||||
|
return branch_name or 'HEAD detached at '..HEAD:sub(1, 7)
|
||||||
end
|
end
|
||||||
|
|
||||||
---
|
---
|
||||||
@ -147,9 +153,10 @@ function git_prompt_filter()
|
|||||||
dirty = "\x1b[31;1m",
|
dirty = "\x1b[31;1m",
|
||||||
}
|
}
|
||||||
|
|
||||||
if get_git_dir() then
|
local git_dir = get_git_dir()
|
||||||
|
if git_dir then
|
||||||
-- if we're inside of git repo then try to detect current branch
|
-- if we're inside of git repo then try to detect current branch
|
||||||
local branch = get_git_branch()
|
local branch = get_git_branch(git_dir)
|
||||||
if branch then
|
if branch then
|
||||||
-- Has branch => therefore it is a git folder, now figure out status
|
-- Has branch => therefore it is a git folder, now figure out status
|
||||||
if get_git_status() then
|
if get_git_status() then
|
||||||
|
@ -79,6 +79,19 @@ optpair GetOption()
|
|||||||
return pair;
|
return pair;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool FileExists(const wchar_t * filePath)
|
||||||
|
{
|
||||||
|
HANDLE hFile = CreateFile(filePath, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL);
|
||||||
|
|
||||||
|
if (hFile != INVALID_HANDLE_VALUE)
|
||||||
|
{
|
||||||
|
CloseHandle(hFile);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
void StartCmder(std::wstring path, bool is_single_mode)
|
void StartCmder(std::wstring path, bool is_single_mode)
|
||||||
{
|
{
|
||||||
#if USE_TASKBAR_API
|
#if USE_TASKBAR_API
|
||||||
@ -87,6 +100,7 @@ void StartCmder(std::wstring path, bool is_single_mode)
|
|||||||
wchar_t exeDir[MAX_PATH] = { 0 };
|
wchar_t exeDir[MAX_PATH] = { 0 };
|
||||||
wchar_t icoPath[MAX_PATH] = { 0 };
|
wchar_t icoPath[MAX_PATH] = { 0 };
|
||||||
wchar_t cfgPath[MAX_PATH] = { 0 };
|
wchar_t cfgPath[MAX_PATH] = { 0 };
|
||||||
|
wchar_t oldCfgPath[MAX_PATH] = { 0 };
|
||||||
wchar_t conEmuPath[MAX_PATH] = { 0 };
|
wchar_t conEmuPath[MAX_PATH] = { 0 };
|
||||||
wchar_t args[MAX_PATH * 2 + 256] = { 0 };
|
wchar_t args[MAX_PATH * 2 + 256] = { 0 };
|
||||||
|
|
||||||
@ -99,16 +113,29 @@ void StartCmder(std::wstring path, bool is_single_mode)
|
|||||||
PathRemoveFileSpec(exeDir);
|
PathRemoveFileSpec(exeDir);
|
||||||
|
|
||||||
PathCombine(icoPath, exeDir, L"icons\\cmder.ico");
|
PathCombine(icoPath, exeDir, L"icons\\cmder.ico");
|
||||||
PathCombine(cfgPath, exeDir, L"config\\ConEmu.xml");
|
PathCombine(oldCfgPath, exeDir, L"config\\ConEmu.xml");
|
||||||
|
PathCombine(cfgPath, exeDir, L"vendor\\conemu-maximus5\\ConEmu.xml");
|
||||||
PathCombine(conEmuPath, exeDir, L"vendor\\conemu-maximus5\\ConEmu.exe");
|
PathCombine(conEmuPath, exeDir, L"vendor\\conemu-maximus5\\ConEmu.exe");
|
||||||
|
|
||||||
|
if (FileExists(oldCfgPath) && !FileExists(cfgPath))
|
||||||
|
{
|
||||||
|
if (!CopyFile(oldCfgPath, cfgPath, FALSE))
|
||||||
|
{
|
||||||
|
MessageBox(NULL,
|
||||||
|
(GetLastError() == ERROR_ACCESS_DENIED)
|
||||||
|
? L"Failed to copy ConEmu.xml file to new location! Restart cmder as administrator."
|
||||||
|
: L"Failed to copy ConEmu.xml file to new location!", MB_TITLE, MB_ICONSTOP);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (is_single_mode)
|
if (is_single_mode)
|
||||||
{
|
{
|
||||||
swprintf_s(args, L"/single /Icon \"%s\" /Title Cmder /LoadCfgFile \"%s\"", icoPath, cfgPath);
|
swprintf_s(args, L"/single /Icon \"%s\" /Title Cmder", icoPath);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
swprintf_s(args, L"/Icon \"%s\" /Title Cmder /LoadCfgFile \"%s\"", icoPath, cfgPath);
|
swprintf_s(args, L"/Icon \"%s\" /Title Cmder", icoPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
SetEnvironmentVariable(L"CMDER_ROOT", exeDir);
|
SetEnvironmentVariable(L"CMDER_ROOT", exeDir);
|
||||||
|
@ -4,6 +4,15 @@ launcher
|
|||||||
.git
|
.git
|
||||||
*.rb
|
*.rb
|
||||||
build
|
build
|
||||||
|
scripts
|
||||||
config\.history
|
config\.history
|
||||||
packignore
|
packignore
|
||||||
|
icons\Thumbs.db
|
||||||
|
icons\cmder_icon.psd
|
||||||
|
icons\icon_16.png
|
||||||
|
icons\icon_32.png
|
||||||
|
icons\icon_48.png
|
||||||
|
icons\icon_256.png
|
||||||
Cmder.bat
|
Cmder.bat
|
||||||
|
vendor\tmp
|
||||||
|
appveyor.yml
|
||||||
|
@ -11,11 +11,11 @@
|
|||||||
.EXAMPLE
|
.EXAMPLE
|
||||||
.\build.ps1
|
.\build.ps1
|
||||||
|
|
||||||
Executes the default build for cmder; Conemu, clink. 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
|
.EXAMPLE
|
||||||
.\build.ps1 -Full
|
.\build.ps1 -Compile
|
||||||
|
|
||||||
Executes a full build for cmder, including git. This is equivalent to the "full" style package in the releases
|
Recompile the launcher executable if you have the requisite build tools for C++ installed.
|
||||||
.EXAMPLE
|
.EXAMPLE
|
||||||
.\build -verbose
|
.\build -verbose
|
||||||
|
|
||||||
@ -29,7 +29,7 @@
|
|||||||
Samuel Vasko, Jack Bennett
|
Samuel Vasko, Jack Bennett
|
||||||
Part of the Cmder project.
|
Part of the Cmder project.
|
||||||
.LINK
|
.LINK
|
||||||
https://github.com/bliker/cmder - Project Home
|
http://cmder.net/ - Project Home
|
||||||
#>
|
#>
|
||||||
[CmdletBinding(SupportsShouldProcess=$true)]
|
[CmdletBinding(SupportsShouldProcess=$true)]
|
||||||
Param(
|
Param(
|
||||||
@ -46,8 +46,11 @@ Param(
|
|||||||
# Launcher folder location
|
# Launcher folder location
|
||||||
[string]$launcher = "..\launcher",
|
[string]$launcher = "..\launcher",
|
||||||
|
|
||||||
# Include git with the package build
|
# Config folder location
|
||||||
[switch]$Full
|
[string]$config = "..\config",
|
||||||
|
|
||||||
|
# New launcher if you have MSBuild tools installed
|
||||||
|
[switch]$Compile
|
||||||
)
|
)
|
||||||
|
|
||||||
. "$PSScriptRoot\utils.ps1"
|
. "$PSScriptRoot\utils.ps1"
|
||||||
@ -61,11 +64,18 @@ Ensure-Exists $sourcesPath
|
|||||||
Ensure-Executable "7z"
|
Ensure-Executable "7z"
|
||||||
New-Item -Type Directory -Path (Join-Path $saveTo "/tmp/") -ErrorAction SilentlyContinue >$null
|
New-Item -Type Directory -Path (Join-Path $saveTo "/tmp/") -ErrorAction SilentlyContinue >$null
|
||||||
|
|
||||||
foreach ($s in $sources) {
|
# Preserve modified (by user) ConEmu setting file
|
||||||
if($Full -eq $false -and $s.name -eq "msysgit"){
|
if ($config -ne "") {
|
||||||
Continue
|
$ConEmuXml = Join-Path $saveTo "conemu-maximus5\ConEmu.xml"
|
||||||
}
|
if (Test-Path $ConEmuXml -pathType leaf) {
|
||||||
|
$ConEmuXmlSave = Join-Path $config "ConEmu.xml"
|
||||||
|
Write-Verbose "Backup '$ConEmuXml' to '$ConEmuXmlSave'"
|
||||||
|
Copy-Item $ConEmuXml $ConEmuXmlSave
|
||||||
|
} else { $ConEmuXml = "" }
|
||||||
|
} else { $ConEmuXml = "" }
|
||||||
|
|
||||||
|
$vend = $pwd
|
||||||
|
foreach ($s in $sources) {
|
||||||
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
|
||||||
@ -73,7 +83,7 @@ foreach ($s in $sources) {
|
|||||||
Delete-Existing $tempArchive
|
Delete-Existing $tempArchive
|
||||||
Delete-Existing $s.name
|
Delete-Existing $s.name
|
||||||
|
|
||||||
Invoke-WebRequest -Uri $s.url -OutFile $tempArchive -ErrorAction Stop
|
Download-File -Url $s.url -File $vend\$tempArchive -ErrorAction Stop
|
||||||
Extract-Archive $tempArchive $s.name
|
Extract-Archive $tempArchive $s.name
|
||||||
|
|
||||||
if ((Get-Childitem $s.name).Count -eq 1) {
|
if ((Get-Childitem $s.name).Count -eq 1) {
|
||||||
@ -83,10 +93,21 @@ foreach ($s in $sources) {
|
|||||||
"$($s.version)" | Out-File "$($s.name)/.cmderver"
|
"$($s.version)" | Out-File "$($s.name)/.cmderver"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Restore user configuration
|
||||||
|
if ($ConEmuXml -ne "") {
|
||||||
|
Write-Verbose "Restore '$ConEmuXmlSave' to '$ConEmuXml'"
|
||||||
|
Copy-Item $ConEmuXmlSave $ConEmuXml
|
||||||
|
}
|
||||||
|
|
||||||
Pop-Location
|
Pop-Location
|
||||||
|
|
||||||
|
if($Compile) {
|
||||||
Push-Location -Path $launcher
|
Push-Location -Path $launcher
|
||||||
msbuild CmderLauncher.vcxproj /p:configuration=Release
|
msbuild CmderLauncher.vcxproj /p:configuration=Release
|
||||||
Pop-Location
|
Pop-Location
|
||||||
|
} else {
|
||||||
|
Write-Warning "You are not building a launcher, Use -Compile"
|
||||||
|
Write-Warning "This cannot be a release. Test build only!"
|
||||||
|
}
|
||||||
|
|
||||||
Write-Verbose "All good and done!"
|
Write-Verbose "All good and done!"
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
Samuel Vasko, Jack Bennett, Martin Kemp
|
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/cmderdev/cmder - Project Home
|
||||||
#>
|
#>
|
||||||
|
|
||||||
[CmdletBinding(SupportsShouldProcess=$true)]
|
[CmdletBinding(SupportsShouldProcess=$true)]
|
||||||
@ -42,11 +42,11 @@ Ensure-Executable "7z"
|
|||||||
$targets = @{
|
$targets = @{
|
||||||
"cmder.zip" = $null;
|
"cmder.zip" = $null;
|
||||||
"cmder.7z" = $null;
|
"cmder.7z" = $null;
|
||||||
"cmder_mini.zip" = "-x!`"vendor\msysgit`"";
|
"cmder_mini.zip" = "-x!`"vendor\git-for-windows`"";
|
||||||
}
|
}
|
||||||
|
|
||||||
Delete-Existing "..\Version*"
|
Delete-Existing "..\Version*"
|
||||||
Cleanup-Git
|
Delete-Existing "..\build\*"
|
||||||
|
|
||||||
$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
|
||||||
|
@ -61,11 +61,6 @@ function Digest-MD5 ($path) {
|
|||||||
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(){
|
function Register-Cmder(){
|
||||||
[CmdletBinding()]
|
[CmdletBinding()]
|
||||||
Param
|
Param
|
||||||
@ -94,3 +89,16 @@ function Register-Cmder(){
|
|||||||
New-Item -Path "HKCR:\Directory\Shell\Cmder\Command" -Force -Value "`"$PathToExe`" `"$Command`" "
|
New-Item -Path "HKCR:\Directory\Shell\Cmder\Command" -Force -Value "`"$PathToExe`" `"$Command`" "
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function Download-File {
|
||||||
|
param (
|
||||||
|
$Url,
|
||||||
|
$File
|
||||||
|
)
|
||||||
|
# I think this is the problem
|
||||||
|
$File = $File -Replace "/", "\"
|
||||||
|
Write-Verbose "Downloading from $Url to $File"
|
||||||
|
$wc = new-object System.Net.WebClient
|
||||||
|
$wc.Proxy.Credentials=[System.Net.CredentialCache]::DefaultNetworkCredentials;
|
||||||
|
$wc.DownloadFile($Url, $File)
|
||||||
|
}
|
||||||
|
33
vendor/init.bat
vendored
33
vendor/init.bat
vendored
@ -1,12 +1,16 @@
|
|||||||
:: Init Script for cmd.exe
|
:: Init Script for cmd.exe
|
||||||
:: Sets some nice defaults
|
|
||||||
:: Created as part of cmder project
|
:: Created as part of cmder project
|
||||||
|
|
||||||
|
:: !!! THIS FILE IS OVERWRITTEN WHEN CMDER IS UPDATED
|
||||||
|
:: !!! Use "%CMDER_ROOT%\config\user-startup.cmd" to add your own startup commands
|
||||||
|
|
||||||
:: Find root dir
|
:: Find root dir
|
||||||
@if not defined CMDER_ROOT (
|
@if not defined CMDER_ROOT (
|
||||||
for /f "delims=" %%i in ("%ConEmuDir%\..\..") do @set CMDER_ROOT=%%~fi
|
for /f "delims=" %%i in ("%ConEmuDir%\..\..") do @set CMDER_ROOT=%%~fi
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@if "%CMDER_ROOT:~-1%" == "\" SET CMDER_ROOT=%CMDER_ROOT:~0,-1%
|
||||||
|
|
||||||
:: Change the prompt style
|
:: Change the prompt style
|
||||||
:: Mmm tasty lamb
|
:: Mmm tasty lamb
|
||||||
@prompt $E[1;32;40m$P$S{git}{hg}$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
|
||||||
@ -21,7 +25,7 @@
|
|||||||
:: Run clink
|
:: Run clink
|
||||||
@"%CMDER_ROOT%\vendor\clink\clink_x%architecture%.exe" inject --quiet --profile "%CMDER_ROOT%\config"
|
@"%CMDER_ROOT%\vendor\clink\clink_x%architecture%.exe" inject --quiet --profile "%CMDER_ROOT%\config"
|
||||||
|
|
||||||
:: Prepare for msysgit
|
:: Prepare for git-for-windows
|
||||||
|
|
||||||
:: I do not even know, copypasted from their .bat
|
:: I do not even know, copypasted from their .bat
|
||||||
@set PLINK_PROTOCOL=ssh
|
@set PLINK_PROTOCOL=ssh
|
||||||
@ -32,19 +36,19 @@
|
|||||||
set "GIT_INSTALL_ROOT=%ProgramFiles%\Git"
|
set "GIT_INSTALL_ROOT=%ProgramFiles%\Git"
|
||||||
) else if exist "%ProgramFiles(x86)%\Git" (
|
) else if exist "%ProgramFiles(x86)%\Git" (
|
||||||
set "GIT_INSTALL_ROOT=%ProgramFiles(x86)%\Git"
|
set "GIT_INSTALL_ROOT=%ProgramFiles(x86)%\Git"
|
||||||
) else if exist "%CMDER_ROOT%\vendor" (
|
) else if exist "%CMDER_ROOT%\vendor\git-for-windows" (
|
||||||
set "GIT_INSTALL_ROOT=%CMDER_ROOT%\vendor\msysgit"
|
set "GIT_INSTALL_ROOT=%CMDER_ROOT%\vendor\git-for-windows"
|
||||||
)
|
)
|
||||||
|
|
||||||
:: Add git to the path
|
:: Add git to the path
|
||||||
@if defined GIT_INSTALL_ROOT (
|
@if defined GIT_INSTALL_ROOT (
|
||||||
set "PATH=%GIT_INSTALL_ROOT%\bin;%GIT_INSTALL_ROOT%\share\vim\vim74;%PATH%"
|
set "PATH=%GIT_INSTALL_ROOT%\bin;%GIT_INSTALL_ROOT%\usr\bin;%GIT_INSTALL_ROOT%\usr\share\vim\vim74;%PATH%"
|
||||||
:: define SVN_SSH so we can use git svn with ssh svn repositories
|
:: 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"
|
if not defined SVN_SSH set "SVN_SSH=%GIT_INSTALL_ROOT:\=\\%\\bin\\ssh.exe"
|
||||||
)
|
)
|
||||||
|
|
||||||
:: Enhance Path
|
:: Enhance Path
|
||||||
@set PATH=%CMDER_ROOT%\bin;%PATH%;%CMDER_ROOT%
|
@set PATH=%CMDER_ROOT%\bin;%PATH%;%CMDER_ROOT%\
|
||||||
|
|
||||||
:: Add aliases
|
:: Add aliases
|
||||||
@doskey /macrofile="%CMDER_ROOT%\config\aliases"
|
@doskey /macrofile="%CMDER_ROOT%\config\aliases"
|
||||||
@ -55,9 +59,22 @@
|
|||||||
@if defined CMDER_START (
|
@if defined CMDER_START (
|
||||||
@cd /d "%CMDER_START%"
|
@cd /d "%CMDER_START%"
|
||||||
) else (
|
) else (
|
||||||
@if "%CD%\" == "%CMDER_ROOT%" (
|
@if "%CD%\" == "%CMDER_ROOT%\" (
|
||||||
@cd /d "%HOME%"
|
@cd /d "%HOME%"
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
:: @call "%CMDER_ROOT%/bin/agent.cmd"
|
@if exist "%CMDER_ROOT%\config\user-startup.cmd" (
|
||||||
|
@rem create this file and place your own command in there
|
||||||
|
call "%CMDER_ROOT%\config\user-startup.cmd"
|
||||||
|
) else (
|
||||||
|
@echo Creating user startup file: "%CMDER_ROOT%\config\user-startup.cmd"
|
||||||
|
(
|
||||||
|
@echo :: use this file to run your own startup commands
|
||||||
|
@echo :: use @ in front of the command to prevent printing the command
|
||||||
|
@echo.
|
||||||
|
@echo :: @call "%%GIT_INSTALL_ROOT%%/cmd/start-ssh-agent.cmd
|
||||||
|
@echo :: @set PATH=%%CMDER_ROOT%%\vendor\whatever;%%PATH%%
|
||||||
|
@echo.
|
||||||
|
) > "%CMDER_ROOT%\config\user-startup.cmd"
|
||||||
|
)
|
||||||
|
29
vendor/profile.ps1
vendored
29
vendor/profile.ps1
vendored
@ -1,4 +1,10 @@
|
|||||||
# Compatibility with PS major versions <= 2
|
# Init Script for PowerShell
|
||||||
|
# Created as part of cmder project
|
||||||
|
|
||||||
|
# !!! THIS FILE IS OVERWRITTEN WHEN CMDER IS UPDATED
|
||||||
|
# !!! Use "%CMDER_ROOT%\config\user-profile.ps1" to add your own startup commands
|
||||||
|
|
||||||
|
# Compatibility with PS major versions <= 2
|
||||||
if(!$PSScriptRoot) {
|
if(!$PSScriptRoot) {
|
||||||
$PSScriptRoot = Split-Path $Script:MyInvocation.MyCommand.Path
|
$PSScriptRoot = Split-Path $Script:MyInvocation.MyCommand.Path
|
||||||
}
|
}
|
||||||
@ -10,11 +16,17 @@ if( -not $env:PSModulePath.Contains($CmderModulePath) ){
|
|||||||
$env:PSModulePath = $env:PSModulePath.Insert(0, "$CmderModulePath;")
|
$env:PSModulePath = $env:PSModulePath.Insert(0, "$CmderModulePath;")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
Get-command -Name "vim" -ErrorAction Stop >$null
|
||||||
|
} catch {
|
||||||
|
$env:Path += ";$env:CMDER_ROOT\vendor\git-for-windows\usr\share\vim\vim74"
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
# Check if git is on PATH, i.e. Git already installed on system
|
# Check if git is on PATH, i.e. Git already installed on system
|
||||||
Get-command -Name "git" -ErrorAction Stop >$null
|
Get-command -Name "git" -ErrorAction Stop >$null
|
||||||
} catch {
|
} catch {
|
||||||
$env:Path += ";$env:CMDER_ROOT\vendor\msysgit\bin"
|
$env:Path += ";$env:CMDER_ROOT\vendor\git-for-windows\bin"
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@ -60,3 +72,16 @@ if (Test-Path Env:\CMDER_START) {
|
|||||||
} elseif ($Env:CMDER_ROOT -and $Env:CMDER_ROOT.StartsWith($pwd)) {
|
} elseif ($Env:CMDER_ROOT -and $Env:CMDER_ROOT.StartsWith($pwd)) {
|
||||||
Set-Location -Path $Env:USERPROFILE
|
Set-Location -Path $Env:USERPROFILE
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Enhance Path
|
||||||
|
$env:Path = "$Env:CMDER_ROOT\bin;$env:Path;$Env:CMDER_ROOT"
|
||||||
|
|
||||||
|
|
||||||
|
$CmderUserProfilePath = Join-Path $env:CMDER_ROOT "config/user-profile.ps1"
|
||||||
|
if(Test-Path $CmderUserProfilePath) {
|
||||||
|
# Create this file and place your own command in there.
|
||||||
|
. "$CmderUserProfilePath"
|
||||||
|
} else {
|
||||||
|
Write-Host "Creating user startup file: $CmderUserProfilePath"
|
||||||
|
"# Use this file to run your own startup commands" | Out-File $CmderUserProfilePath
|
||||||
|
}
|
||||||
|
18
vendor/sources.json
vendored
18
vendor/sources.json
vendored
@ -1,22 +1,22 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"name": "msysgit",
|
"name": "git-for-windows",
|
||||||
"version": "1.9.5-preview20150319",
|
"version": "v2.6.3.windows.1",
|
||||||
"url": "https://github.com/msysgit/msysgit/releases/download/Git-1.9.5-preview20150319/PortableGit-1.9.5-preview20150319.7z"
|
"url": "https://github.com/git-for-windows/git/releases/download/v2.6.3.windows.1/PortableGit-2.6.3-32-bit.7z.exe"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "clink",
|
"name": "clink",
|
||||||
"version": "0.4.4",
|
"version": "0.4.5",
|
||||||
"url": "https://github.com/mridgers/clink/releases/download/0.4.4/clink_0.4.4.zip"
|
"url": "https://github.com/mridgers/clink/releases/download/0.4.5/clink_0.4.5.zip"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "conemu-maximus5",
|
"name": "conemu-maximus5",
|
||||||
"version": "150513",
|
"version": "151109",
|
||||||
"url": "https://github.com/Maximus5/ConEmu/releases/download/v15.05.13/ConEmuPack.150513.7z"
|
"url": "https://github.com/Maximus5/ConEmu/releases/download/v15.11.09/ConEmuPack.151109.7z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "clink-completions",
|
"name": "clink-completions",
|
||||||
"version": "0.1.0",
|
"version": "0.2.1",
|
||||||
"url": "https://github.com/vladimir-kotikov/clink-completions/archive/0.1.0.zip"
|
"url": "https://github.com/vladimir-kotikov/clink-completions/archive/0.2.1.zip"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
Loading…
Reference in New Issue
Block a user