Compare commits

...

186 Commits

Author SHA1 Message Date
a95cd140ef ⬆️ Update ConEmu to 171025 (alpha)
Changelog: https://conemu.github.io/blog/2017/10/25/Build-171025.html
2017-10-28 12:30:54 +02:00
e90966c5c2 ⬆️ Update Git to v2.14.4
Release notes: https://github.com/git-for-windows/git/releases/tag/v2.14.3.windows.1
2017-10-28 12:29:46 +02:00
e104f20c5d ⬆️ clink-completions to 0.3.3
Changelog: https://github.com/vladimir-kotikov/clink-completions/releases/tag/0.3.3
2017-10-28 12:28:31 +02:00
6883ba3b84 ⬆️ Update ConEmu to 170910 (alpha)
Changelog: https://conemu.github.io/blog/2017/09/10/Build-170910.html
2017-09-30 11:36:03 +02:00
1c1c08bb68 ⬆️ Update Git to v2.14.2
Release notes: https://github.com/git-for-windows/git/releases/tag/v2.14.2.windows.1
2017-09-30 11:36:03 +02:00
a5eb4d7b4f Add documentation about Program Files
cmder should not be installed in `C:\Program Files` because it would need Administrator privileges to update configuration. This commit adds documentation to the installation instructions as described in #1200.
2017-08-30 03:36:36 +02:00
d88f1b0a97 Point to the artifacts on the master branch 2017-08-29 03:58:30 +02:00
8d74184d30 ⬆️ clink to our forked version at 0.4.9
This should fix all the Windows 10 alias issues that we had.
2017-08-28 00:50:52 +02:00
3ea6d51ba4 Update init.bat 2017-08-27 14:04:24 -05:00
22d27afed5 Fix Cmder not changing to CMDER_START (#1399)
* Fix Cmder not changing to CMDER_START

Fix to allow Cmder to change to different startup directory if already on the same drive as CMDER_START
possibly relevant: HOME != USERPROFILE

* make "Cmder Here" work in more cases

integrated suggestion from comments (test for trailing backslash to prevent doubling of trailing backslash)
integrated suggestions from #1456: switching ```cd /d``` over to ```pushd``` to get support for UNC-paths

* replaced 'cd /d' with 'pushd'

replaced two more instances of 'cd /d' with 'pushd' to support network paths.
Also added double quotes to the use of '%USERPROFILE%' to prevent issues with spaces.
I also noticed that 'pushd', in contrast to 'cd /d' does not require the trailing backslash for drive roots (on Win7). Therefore I removed the trailing backslash check.

* Don't assume / is needed at end

* Update init.bat
2017-08-27 19:46:47 +02:00
e9a78a30d1 ⬆️ Update Git to v2.14.1
Release notes: https://github.com/git-for-windows/git/releases/tag/v2.14.1.windows.1
2017-08-10 22:34:46 +02:00
e92f7fbb55 ⬆️ Update Git to v2.14.0
Release notes: https://github.com/git-for-windows/git/releases/tag/v2.14.0.windows.1
2017-08-06 02:41:07 +02:00
a34e17f2bd Doc updates
For profile/alias settings scripts, what loads them, and load order.
2017-07-28 03:35:37 +02:00
1f9e743ef2 Added pagent ssh auth support (#1391)
(and some comments on the user-profile.cmd file)

Inspired by the comments from https://github.com/cmderdev/cmder/issues/193 and my personal need to use pageant instead of OpenSSH authentication agents (which is more Window user-friendly), I have used this approach which works as expected.

Keeping the spirit of the current scripts, I left it disabled, and with some comments explaining what they all do.
2017-07-24 23:16:10 +02:00
f687281be0 Fixed quotation marks (#1360)
1. Changed " --login -i"" to "" --login -i" in ConEmu
2. Closed quotation in "alias.bat :p_del doskey" command of "%ALIASES%"

Suppose %CMDER_ROOT% is "C:\Program Files\cmder",
this BUG will be raised while we exec command of

"unalias xxx"
or creat terminal "{bash::bash}"
and "{bash::mintty}",

it will throws an error like:
'C:\Program' is not recognized as an internal or external command,
operable program or batch file.
2017-07-24 23:14:17 +02:00
4c270699a1 ⬆️ Update Git to v2.13.3
Release notes: https://github.com/git-for-windows/git/releases/tag/v2.13.3.windows.1
2017-07-15 23:06:05 +02:00
b45e3adc67 Merge pull request #1407 from ZemingLiu/master
add /TASK option
2017-07-15 17:59:38 +02:00
8077c1a612 Merge pull request #1441 from pyranja/fix-psget-clobbering
Avoid clobbering Install-Module
2017-07-15 02:08:09 +02:00
d9fcf06e0f Merge pull request #1434 from cmderdev/fix_git_prompt
Fix git prompt
2017-07-14 18:23:03 +02:00
815b99b98b Avoid clobbering Install-Module
If the Install-Module command is available, do not include the bundled
module path containing a deprecated version of PSGet. Recent powershell
versions include PowerShellGet as standard module installer.

Resolve #1318.
2017-07-14 12:06:48 +02:00
bcb60f8f59 cmder git prompt spacing 2017-07-10 22:23:51 -05:00
0877a6d995 cmder git prompt 2017-07-10 22:21:22 -05:00
71f5b446da Merge pull request #1 from cmderdev/master
update from origin
2017-06-28 02:09:45 -05:00
512787f391 ⬆️ Update ConEmu to 170622 (preview)
Changelog: https://conemu.github.io/blog/2017/06/22/Build-170622.html
2017-06-27 00:56:53 +02:00
262d92265e ⬆️ Update Git to v2.13.2.windows.1
Release notes: https://github.com/git-for-windows/git/releases/tag/v2.13.2.windows.1
2017-06-27 00:55:58 +02:00
409b92aac2 modify -cmd command line style to /cmd 2017-06-24 22:10:15 +08:00
aea1a977bf ⬆️ Update Git to v2.13.1(2)
Release notes: https://github.com/git-for-windows/git/releases/tag/v2.13.1.windows.2
2017-06-23 18:18:21 +02:00
74d79ea628 add /TASK option 2017-06-17 22:29:06 +08:00
89c014bb05 ⬆️ Update Git to v2.13.1
Release notes: https://github.com/git-for-windows/git/releases/tag/v2.13.1.windows.1
2017-06-13 15:11:43 +02:00
c19237085d ⬆️ Update ConEmu to 170605 (preview)
Changelog: https://conemu.github.io/blog/2017/06/05/Build-170605.html
2017-06-13 15:10:55 +02:00
9c4e77b498 ⬆️ Update ConEmu to 170517 (preview)
Changelog: https://conemu.github.io/blog/2017/05/17/Build-170517.html
2017-05-19 23:20:31 +02:00
c2cf56cc48 ⬆️ Update Git to v2.13.0
Release notes: https://github.com/git-for-windows/git/releases/tag/v2.13.0.windows.1
2017-05-10 22:03:36 +02:00
6e2d88d466 upgrade to VisualStudio 2017 2017-04-07 23:51:46 +02:00
cd3efdf382 ignore VisualStudio temp dir 2017-04-07 07:50:24 +02:00
53c7ec5886 don't package .github_changelog_generator file 2017-04-07 07:47:01 +02:00
e63368fe96 add file name next to hash values 2017-04-07 07:45:28 +02:00
aa2eaa6886 switch file hashes from MD5 to SHA256 2017-04-07 06:57:16 +02:00
bee82d00e8 Enable UNC paths by default
closes #1315
2017-04-07 06:25:18 +02:00
02366fdc7e Update README.md
fix AppVeyor badge
2017-04-07 06:14:35 +02:00
399999d7f7 Merge pull request #1299 from alexandr-san4ez/master
Changed the way directory is defined .git
2017-04-07 02:42:18 +02:00
8eea2baaa5 Merge pull request #1331 from dancread/svn-prompt
Adding svn support to prompt
2017-04-07 02:40:35 +02:00
4d3950174f ⬆️ Update ConEmu to 170402 (preview)
Changelog: https://conemu.github.io/blog/2017/04/02/Build-170402.html
2017-04-07 02:38:16 +02:00
24a110ddb7 ⬆️ Update Git to v2.12.2(2)
Release notes: https://github.com/git-for-windows/git/releases/tag/v2.12.2.windows.2
2017-04-07 02:36:32 +02:00
1dd0e600ac ⬆️ Update ConEmu to 170326 (preview)
Changelog: https://conemu.github.io/blog/2017/03/26/Build-170326.html
2017-04-07 02:36:32 +02:00
e49b978b9a ⬆️ Update Git to v2.12.2
Release notes: https://github.com/git-for-windows/git/releases/tag/v2.12.2.windows.1
2017-04-07 02:36:32 +02:00
9182c89a14 ⬆️ Update ConEmu to 170316 (preview)
Changelog: https://conemu.github.io/blog/2017/03/16/Build-170316.html
2017-04-07 02:36:32 +02:00
00622254a7 ⬆️ Update Git to v2.12.1
Release notes: https://github.com/git-for-windows/git/releases/tag/v2.12.1.windows.1
2017-04-07 02:36:32 +02:00
9977c0563d Adding svn support 2017-04-03 21:07:41 -05:00
b604bf0b6c Merge pull request #1317 from rmorrin/master
Update readme for config
2017-03-31 17:19:41 +01:00
3b0a51d7b8 Update config readme:
* Change descriptions to match updated filenames
* Some minor fixes to grammar
2017-03-24 14:07:30 +00:00
018cc9ceda Changed the way directory is defined .git
clink.find_dirs - do not specify the directory if there is Cyrillic in the way.
clink.is_dir - more logical and faster.
2017-03-09 19:22:13 +03:00
ad0f8fe049 Merge pull request #1280 from bdukes/patch-1
Allow profile.d/*.ps1 files to export [scriptblock]$prompt override all of cmders prompt
2017-03-08 22:06:50 +00:00
7f4a4d34d6 Allow user-profile.ps1 and profile.d/*.ps1 files to override prompt
This defines the default prompt variables ($PrePrompt, $PostPrompt,
$CmderPrompt, and $Prompt) before running the custom scripts (user-profile.ps1
and profile.d/*.ps1), and then saves those prompt values after running the
custom scripts.  This gives the custom scripts and opportunity to override the
prompt code blocks.

This now opens the possibility for profile.d/*.ps1 scripts to affect the
prompt, and also allows both user-profile.ps1 and profile.d/*.ps1 scripts to
overwrite the $Prompt script block and overwrite the prompt behavior entirely.
2017-03-08 14:14:35 -06:00
963a5a8be6 ⬆️ Update Git to v2.12.0
Release notes: https://github.com/git-for-windows/git/releases/tag/v2.12.0.windows.1
2017-03-01 04:01:24 +01:00
f04a4e4846 Merge pull request #1268 from mateusmedeiros/patch-1
Fix typo in config/Readme.md
2017-02-21 19:38:34 +01:00
50ed66894f Fix typo in config/Readme.md
The file config/Readme.md refers to the "user-profile" files with "_" instead of "-". This commit fixes that.
2017-02-21 12:04:10 -03:00
2bb5ce0986 Merge pull request #1252 from glucas/issue-1245
Fix #1245: Allow alias value to contain '=' characters
2017-02-10 01:08:06 +01:00
3b7a24b20a Fix #1245: Allow alias value to contain '=' characters 2017-02-09 13:53:39 -05:00
81d83d4c6d ⬆️ Update Git to v2.11.0.3
Release notes: https://github.com/git-for-windows/git/releases/tag/v2.11.0.windows.3
2017-01-16 08:53:56 +01:00
61849dc7fd ⬆️ Update ConEmu to 161206 (stable)
Changelog: https://conemu.github.io/blog/2016/12/06/Build-161206.html
2016-12-08 22:53:08 +01:00
9f2c0e4001 Merge pull request #1189 from knaos/master
Documented some undocumented tab related shorcuts
2016-12-06 13:02:01 +01:00
4195b5b0ed Documented some undocumented tab related shorcuts 2016-12-06 12:39:03 +02:00
02f1ff12a6 update changelog 2016-12-02 00:12:37 +01:00
7447e00aec ⬆️ Update Git to v2.11.0
Release notes: https://github.com/git-for-windows/git/releases/tag/v2.11.0.windows.1
2016-12-01 21:06:29 +01:00
84202729fb Merge pull request #1169 from cmderdev/development
Development
2016-11-19 23:41:54 +01:00
70b0666f11 ⬆️ Update Git to v2.10.2
Release notes: https://github.com/git-for-windows/git/releases/tag/v2.10.2.windows.1
2016-11-19 23:40:05 +01:00
14f3361429 ⬆️ Update ConEmu to 161022 (stable)
Changelog: https://conemu.github.io/blog/2016/10/22/Build-161022.html
2016-11-19 23:39:07 +01:00
d7f0407300 Merge pull request #1157 from winks/winks-patch-1
Fix typo in init.bat
2016-11-10 18:13:08 +01:00
ba99f5b66a Fix typo in init.bat 2016-11-10 18:04:37 +01:00
a0e0adae8b Bump clink-completions to 0.3.2 2016-11-07 00:56:13 +01:00
46d5936806 ⬆️ Update Git to v2.10.2
Release notes: https://github.com/git-for-windows/git/releases/tag/v2.10.2.windows.1
2016-11-04 00:27:46 +01:00
104033e58b Merge pull request #1109 from daxgames/user_conemu_cfg
User conemu cfg
2016-11-02 10:25:54 -05:00
4c522aa0c4 trigger push 2016-10-30 18:22:29 -05:00
d64f0e681e Merge branch 'master' of github.com:cmderdev/cmder into user_conemu_cfg 2016-10-30 18:20:07 -05:00
2b292f98de Merge pull request #1143 from panzer-planet/patch-1
Fixed 3 typos
2016-10-30 20:49:05 +00:00
0b43758a34 Fixed 3 typos 2016-10-30 02:57:24 +02:00
e6d4609bf4 ⬆️ Update ConEmu to 161022 (stable)
Changelog: https://conemu.github.io/blog/2016/10/22/Build-161022.html
2016-10-23 22:24:07 +02:00
0de26571aa ⬆️ Update Git to v2.10.1
Release notes: https://github.com/git-for-windows/git/releases/tag/v2.10.1.windows.1
2016-10-23 22:23:58 +02:00
5597aa6038 Merge pull request #952 from Jackbennett/custom-prompt
Custom prompt hooks protected from later overwriting
2016-10-19 14:08:09 +01:00
425dc854ac Merge pull request #1131 from lamarqua/master
Fix for slow startup under certain conditions (#1122)
2016-10-17 16:01:05 +02:00
a78186f502 Fix for slow startup under certain conditions (#1122)
Fixes #1122 by simply calling CreateProcess before the SendMessageTimeout
calls that are used to propagate environment variable changes.
2016-10-14 23:36:22 +02:00
60aa0cee13 Merge pull request #1127 from cmderdev/development
Development
2016-10-11 10:08:42 +02:00
7750216d1a Merge pull request #1126 from gucong3000/patch-1
fix error when path has a space
2016-10-11 10:08:11 +02:00
eb73f6f772 fix error when path has a space 2016-10-11 14:41:47 +08:00
db909451c9 Version Check the Posh-Git module to allow module autoloading
Posh-Git before this release does not export `Write-VcsStatus` thus
powershell's autoloading cannot find the reqired module for the function.

note that `get-module -listAvailable` can return an array of multiple
versions.
2016-10-10 12:01:55 +01:00
b349b19869 Describe why PS functions are called by namespace
As the prompt function is called all the time, specifically namespace the
cmldets it uses to avoid them being hijacked in the user session.
2016-10-10 10:30:01 +01:00
e0841eacc1 Merge pull request #963 from Jackbennett/default-tab-history
Disable history switching behavior of ctrl+tab. Sequential switching.
2016-10-10 00:44:05 +01:00
44e0a040bd ⬆️ Update Git to v2.10.1
Release notes: https://github.com/git-for-windows/git/releases/tag/v2.10.1.windows.1
2016-10-05 02:16:22 +02:00
5feccb3c7c added backup of ConEmu.xml to ./config/user-ConEmu.xml at cmder launch if it exists 2016-10-02 23:00:00 -05:00
abd7db99b6 added backup of ConEmu.xml to ./config folder at cmder launch if it exists 2016-10-02 22:16:22 -05:00
66c6d5bbb3 added ability to have a user-ConEmu.xml file in addition to the computer specific and default ConEmu.xml files 2016-10-02 21:50:56 -05:00
af586d5410 add use-ConEmu.xml 2016-10-02 18:34:40 -05:00
c8adf424e2 Added closing process in get_git_status (#1)
After execution command: git add * git continues to operate without closing. The process does not stop.
2016-09-27 22:59:09 +02:00
e36db3eb3d Merge pull request #1101 from alexandr-san4ez/development
Added closing process in get_git_status
2016-09-27 16:59:21 +01:00
27c571636d Added closing process in get_git_status (#1)
After execution command: git add * git continues to operate without closing. The process does not stop.
2016-09-27 18:48:23 +03:00
d144cd0fc2 ⬆️ Update ConEmu to 160914 (stable)
Changelog: https://conemu.github.io/blog/2016/09/14/Build-160914.html
2016-09-17 22:49:23 +02:00
bb312ad74b try --no-lock-index for Git 2016-09-17 22:48:02 +02:00
df7beff2ef ⬆️ Update ConEmu to 160828 (stable)
Changelog: https://conemu.github.io/blog/2016/08/28/Build-160828.html
2016-09-03 10:52:17 +02:00
b7bfe72303 ⬆️ Update Git to v2.10.0
Release notes: https://github.com/git-for-windows/git/releases/tag/v2.10.0.windows.1
2016-09-03 10:50:34 +02:00
490fae770c ⬆️ Update Git to v2.9.3 (2)
Release notes: https://github.com/git-for-windows/git/releases/tag/v2.9.3.windows.2
2016-08-25 21:51:17 +02:00
a6817faae6 Merge pull request #1082 from nverno/patch-1
Update Readme.md
2016-08-25 21:11:36 +02:00
a8450eb1d3 Update Readme.md
just minor typos
2016-08-25 03:00:31 -04:00
355df7a48a Merge pull request #1078 from orionlee/fix_bash_login_when_cmder_root_has_spaces
Fix bash login when $CMDER_ROOT has spaces
2016-08-21 20:23:20 +02:00
5354b5f80f Further fix bash login when ${CMDER_ROOT} has spaces.
Inspecting the script uncovers similar problems elsewhere
not encountered in my initial testing. They are fixed accordingly.
2016-08-20 16:01:46 -07:00
d095d6afd6 Fix bash login when ${CMDER_ROOT} has spaces.
E.g., if ${CMDER_ROOT} is /c/Users/Foo Bar/cmder,
the following errors will occur:
  bash: pushd: /c/Users/Foo: No such file or directory
  bash: [: /c/Users/Foo: binary operator expected
  bash: /c/Users/Foo: No such file or directory
2016-08-20 15:56:49 -07:00
832c1991e4 Merge pull request #1070 from janschulz/unicode_path_prompt
Parse the original prompt for cwd and env names
2016-08-15 16:40:35 +02:00
19672aafff ⬆️ Update Git to v2.9.2
Release notes: https://github.com/git-for-windows/git/tree/v2.9.3.windows.1
2016-08-14 04:59:27 +02:00
6b10771312 Parse the original prompt for cwd and env names
clink.get_cwd() is returning a string which is differently encoded than what
clink.prompt.value expects. This results in garbled path names if the path
condains non-ASCII chars. The (arguable hacky) solution is to parse the old
prompt for the current directory (which breaks if the user sets a PROMPT env var
which is incompatible to the regex used here...).

Also parse out a environment name set by systems like virtualenv or conda: this
could be done more specifically by targeting each such system and using the
usually set environment variable but this would mean that we would have to do
that for each and every such system out there and that is probably not a sane
idea...
2016-08-09 13:45:36 +02:00
13fd41eb82 change how we ask hg for the status
closes #1035
Thanks @raleighr3
2016-07-30 00:36:32 +02:00
07fb26c4a5 Merge pull request #1042 from daxgames/kill_ssh_agent
Added kill ssh-agent to build.ps1
2016-07-18 01:47:45 +02:00
13c474b768 added kill ssh-agent to build.ps1 2016-07-17 18:28:38 -05:00
f2641e4cd2 ⬆️ Update Git to v2.9.2 2016-07-17 01:09:06 +02:00
6a0ea28d22 add .github_changelog_generator to .gitignore 2016-07-14 10:51:01 +02:00
04c7bb7da8 update changelog 2016-07-14 09:52:27 +02:00
317834316a add hashes.txt to artifacts 2016-07-14 09:28:13 +02:00
4e90303511 ⬆️ Update ConEmu to 160710 (stable)
Changelog: https://conemu.github.io/blog/2016/07/10/Build-160710.html
2016-07-14 09:19:01 +02:00
0379dc1d0d Merge pull request #1037 from cmderdev/development
Development into Master
2016-07-14 07:54:42 +02:00
393d7d19c5 ⬆️ Update clink to 0.4.8 2016-07-14 07:53:13 +02:00
aa87425910 Update README.md 2016-07-04 12:34:07 +02:00
688c2f7721 Merge pull request #1016 from Mansuro/patch-2
Minor update in README.md
2016-07-04 12:33:03 +02:00
1b711f1f29 Minor update in README.md
Updated the keyboard shortcut to traverse up a directory structure has been changed
2016-07-04 12:31:28 +02:00
65014b1ce4 Update README.md 2016-07-03 02:57:46 +02:00
af1a4c9061 Update README.md 2016-07-03 02:44:40 +02:00
5f83cb3c64 Merge pull request #1014 from JoshuaKGoldberg/development
Added rainbow icons
2016-06-30 23:54:10 +02:00
9a3eab9bf8 Added rainbow icons 2016-06-30 09:04:29 -07:00
1dddbcff05 Revert "Fix missing "\" when building dirpath to psmodules"
This reverts commit 6978bb7417.
2016-06-30 11:41:17 +02:00
924ab12aeb we don't need a second function for that. 2016-06-30 02:53:00 +02:00
6a474dd624 make launcher run ConEmu64 on 64-bit Windows
It will now run ConEmu64.exe on 64-bit Windows and ConEmu.exe on 32-bit Windows.

fixes #191
2016-06-30 01:55:13 +02:00
14a6e5953c Merge pull request #1011 from MoFo88/git_branch_colouring
Fix git branch colouring
2016-06-28 18:37:34 +02:00
9c0ad9fd81 Fix git branch name colouring
Colouring fixed when there are some changes in a branch
2016-06-28 14:13:35 +02:00
84d44b18f2 Merge pull request #961 from janschulz/prompt-in-clink
cmd: change the prompt in lua
2016-06-21 23:10:59 +02:00
a542f4e20c cmd: change the prompt in lua
This keeps the PROMPT variable as is and changes the prompt to the cmder style
in the clink code.

This has two advantages:

* opening a cmd in a cmder session will now show the old prompt code instead of
  a ugly raw prompt without the replacements. This led to ugly output when a
  batch file echoed their content (e.g `conda build recipe/`).

* when a command rewrites the prompt (e.g. an activate in a virtualenv), these
  command sometimes simply overwrites the PROMPT so that the cmder enhancements
  were not anymore in place. Now we simply don't care and overwrite it with our
  stuff in the clink part. This might mean that a user has to install a lua
  script so that e.g. conda environments are visible on the prompt.
2016-06-21 13:33:49 +02:00
e5611af7be Update README.md
change badge style
2016-06-15 22:58:45 +02:00
999b5af29a ⬆️ Update ConEmu to 160612 (stable)
Changelog: https://conemu.github.io/blog/2016/06/12/Build-160612.html
2016-06-14 18:21:40 +02:00
87210ae7ca ⬆️ Git to 2.9.0
Changelog: https://github.com/git-for-windows/git/tree/v2.9.0.windows.1
2016-06-14 17:34:19 +02:00
75deb4f945 Merge pull request #992 from vladimir-kotikov/patch-5
Bump clink-completions to 0.3.1
2016-06-11 00:15:18 +02:00
6a080a1284 Bump clink-completions to 0.3.1 2016-06-11 01:07:47 +03:00
d014d785b0 ⬆️ Update to Git to 2.8.4 2016-06-09 00:18:56 +02:00
346680b52e Merge pull request #974 from janschulz/fix_gitbranch
Fix git branch name never shown as dirty
2016-06-02 20:14:15 +02:00
c19412045c Fix git branch name never shown as dirty
The problem was that io.popen() returns a file and not the return code of the
called program.

The new code was inspired by
http://stackoverflow.com/a/14031974/1380673
2016-06-02 12:45:07 +02:00
2b047e8683 Update README.md
link to the appyevor project
2016-06-01 17:45:17 +02:00
010049a849 Set window title to current folder unless there's git information.
Unfortunately doesn't apply to conEmu's tab name.
2016-05-27 09:47:34 +01:00
91c0d310f2 Disable history switching behavior of ctrl+tab. Sequential switching. 2016-05-25 11:27:17 +01:00
43af717d44 Support spaces in package names to extract 2016-05-25 10:13:47 +01:00
7a37d37a4e Merge pull request #962 from Jackbennett/PS-register
Register cmder in the context menu from powershell
2016-05-24 16:00:04 +01:00
a07062d10d Remove the Registry hive after making the changes 2016-05-24 15:50:43 +01:00
2d812f1d02 Quiet the function output of useless information 2016-05-24 15:49:30 +01:00
49cc35bccf Add unregister function, Add 'Background' Registry keys
Adding the registry keys that match the c++ code in the cmder.exe call
/REGISTER ALL and /UNREGISTER ALL. USER is untested.
2016-05-24 15:44:54 +01:00
67de97a492 Indent parameters for Path clarity 2016-05-24 15:43:25 +01:00
7a0a1adc02 Use checkGit to hold the git state. Import posh-git at the last minute.
Import-Git now finds if the module isn't installed at all and alerts the
user. But only when in a git folder.
2016-05-23 14:53:34 +01:00
76b2ed510d If you start doing remote work you can fire off your own start-sshAgent command. 2016-05-23 14:51:55 +01:00
7ca9d8e9d6 Update ConEmu to 160515 2016-05-17 23:20:16 +02:00
31c8c620c7 Custom prompt hooks protected from later overwriting
Add a pre and post function hook around the Cmder prompt.
Specify the cmder prompt as a function that could be replaced by a user.
Write a friendly message when the user profile template is created.
Create the user profile with cmder prompt hooks ready to use.

It was concerning to run any function with a specific name every prompt
with no guarantee it remains what it was initally created as.

Core functions have been explicitly called from their
namespace like Microsoft.PowerShell.Utility\Write-Host to try and prevent
clobbering.

User supplied functions are passed in as script blocks, created as the
session runs the profile script. By creating them as constants these
function names cannot be declared again for the duration of the process.

Since the prompt function already exists by this time, set the readOnly
flag so to re-declare the prompt requires the use of -force.

It is hoped these changes limit what could be the risk of any script
redefining functions that are called automatically without user intent or
input.
2016-05-12 13:59:33 +01:00
61e795c02d Merge pull request #945 from daxgames/fix_aliases_update
Added :verbose-output subroutine, made aliases update more functional
2016-05-08 15:56:58 +02:00
f652d301e7 Merge pull request #946 from vladimir-kotikov/patch-4
Update clink-completions to 0.3.0
2016-05-08 02:08:13 +02:00
a286e52a44 Update completions to 0.3.0 2016-05-08 02:42:48 +03:00
c49c27fb88 allow setting verbose-output variable outside init.bat 2016-05-07 18:10:44 -05:00
e212ee36a2 Added :verbose-output subroutine, made aliases update more functional 2016-05-07 14:32:33 -05:00
fc7f1ca3dc Merge pull request #943 from daxgames/fix_git
fixed git not working in cmder cmd session and added some comments
2016-05-07 18:41:22 +02:00
537c658eb4 fixed git not working in cmder cmd session and added some comments 2016-05-07 10:56:08 -05:00
4e9882eea4 Update Git to 2.8.2
Release notes: https://github.com/git-for-windows/git/releases/tag/v2.8.2.windows.1
2016-05-06 18:10:00 +02:00
d4339ae526 Merge pull request #941 from janschulz/init.bat
More variable quoting in init.bat
2016-05-06 15:25:10 +02:00
055a974257 More variable quoting in init.bat
There were problems when a path contained a parenthesis like `C:\temp\test (test)\`

As a precaution, quote all variables when they are used in echo or set.
2016-05-06 15:12:07 +02:00
05fb4368cc Merge pull request #940 from janschulz/init.bat
Add quotes around all variables
2016-05-06 00:35:02 +02:00
1bf5503bea Add quotes around all variables
This should prevent errors like
https://github.com/cmderdev/cmder/issues/935
https://github.com/cmderdev/cmder/issues/937

I've no idea why this happens, but it shouldn't hurt anyway...
2016-05-05 22:40:33 +02:00
b47d04f75c Merge pull request #916 from liftir/patch-1
Fix missing "\" when building dirpath to psmodules
2016-04-10 06:28:22 +02:00
6978bb7417 Fix missing "\" when building dirpath to psmodules
Join-Path won't add "\"'s without the use of a delimeter.  In this case there is no delimiter and as a result the script will fail when it tries to look up $CmderModulePath.
2016-04-08 21:21:38 -04:00
7eb7255741 Merge pull request #865 from janschulz/where_is_git
better git path handling
2016-04-08 18:59:58 +02:00
6c6268e968 Remove @ in new code, echo off is enough 2016-04-08 16:55:49 +02:00
1e7f15100f PS: also add cmd and bin version of git to the path
This ensures that the "normal" path entry (cmd) is first and bash is still reachable via the bin path.
2016-04-08 16:53:38 +02:00
fbccc6b790 init.bat: remove GIT\bin from path
The only reason was bash but bash.exe is also in <GIT>\usr\bin.
2016-04-08 16:53:38 +02:00
2ccc06e639 init.bat: integrate the unix commands at the end of PATH
Some unix commands shadow windows commands and therefor the unix commands should
be at the end of the PATH
2016-04-08 16:53:38 +02:00
182629d59a init.bat: check for git in path
The idea is:
* if the users points as to a specific git, use that
* test if a git is in path and if yes, use that
* last, use our vendored git

We don't make any attempt to guess a different location, if a user wants their
own git install, they have to choose "add git to path".

Also check that we have a recent enough version of git (e.g. test for
<GIT>\cmd\git.exe)
2016-04-08 16:51:53 +02:00
fc963b1342 Merge pull request #911 from daxgames/git_2.8.1
upgraded git to 2.8.1
2016-04-05 22:35:32 +02:00
24b1bb93c0 upgraded git to 2.8.1 2016-04-05 14:27:12 -05:00
528d0ce734 Merge pull request #909 from daxgames/http_proxy
Added proxy support
2016-04-05 16:48:05 +02:00
5068188059 Added proxy support 2016-04-05 09:27:53 -05:00
5a1f81655f ⬆️ ConEmu@160328
Changelog: https://conemu.github.io/en/Whats_New.html
2016-03-30 03:02:31 +02:00
07ed31c0a1 ⬆️ Git@2.8.0.windows.1
Changelog: https://github.com/git-for-windows/git/releases/tag/v2.8.0.windows.1
2016-03-30 03:00:59 +02:00
f9d0050c67 Merge pull request #892 from daxgames/fix_aliases
fixed - not running user-aliases.cmd if aliases variable is overridde…
2016-03-21 22:55:26 +01:00
86dd077b9d fixed - not running user-aliases.cmd if aliases variable is overridden in profile.d 2016-03-21 14:35:48 -05:00
d5a1ce628c Merge pull request #862 from daxgames/better_aliases
Enhanced alias.bat to allow file storage path
2016-03-21 08:32:26 +00:00
b86f3fbaff synced with upstream/development 2016-03-20 08:30:20 -05:00
160fbad621 Add changelog 2016-03-20 12:23:05 +00:00
3085fca9e0 synced with upstream/development 2016-03-06 17:27:27 -06:00
997bd5c24e Enhanced alias.bat to allow file storage path 2016-03-01 21:08:08 -06:00
54 changed files with 1364 additions and 234 deletions

2
.gitignore vendored
View File

@ -15,3 +15,5 @@ Version v*
config/user-*
config/aliases
config/profile.d
.github_changelog_generator
launcher/.vs

705
CHANGELOG.md Normal file
View File

@ -0,0 +1,705 @@
# Change Log
## [1.3.2](https://github.com/cmderdev/cmder/tree/1.3.2) (2016-12-01)
**Implemented enhancements:**
- Change appveyor.yml to publish all resulting artifacts from builds. [\#717](https://github.com/cmderdev/cmder/issues/717)
- Stuff that should not be in the release zips [\#662](https://github.com/cmderdev/cmder/issues/662)
- Make cmder auto start with windows and auto minimize to the status bar. [\#532](https://github.com/cmderdev/cmder/issues/532)
- v1.2.0: Errors because of PowerShell execution policy [\#483](https://github.com/cmderdev/cmder/issues/483)
- Updating Vendors with chocolatey [\#442](https://github.com/cmderdev/cmder/issues/442)
- Alias without it's opposit [\#281](https://github.com/cmderdev/cmder/issues/281)
- Improve new UX [\#230](https://github.com/cmderdev/cmder/issues/230)
- Different Font for the Lambda [\#211](https://github.com/cmderdev/cmder/issues/211)
- Git Credential Cache [\#184](https://github.com/cmderdev/cmder/issues/184)
- Crawling for executables in /bin [\#61](https://github.com/cmderdev/cmder/issues/61)
- Include Scoop as package manager [\#42](https://github.com/cmderdev/cmder/issues/42)
- Complete aliases on tab [\#38](https://github.com/cmderdev/cmder/issues/38)
- Path ordering issue - wrong find.exe executes by default [\#37](https://github.com/cmderdev/cmder/issues/37)
- User conemu cfg [\#1109](https://github.com/cmderdev/cmder/pull/1109) ([daxgames](https://github.com/daxgames))
- Msys bash [\#702](https://github.com/cmderdev/cmder/pull/702) ([daxgames](https://github.com/daxgames))
- Added code to check for the existence of a customized ini file.. [\#427](https://github.com/cmderdev/cmder/pull/427) ([kodybrown](https://github.com/kodybrown))
- New build and pack scripts [\#152](https://github.com/cmderdev/cmder/pull/152) ([samvasko](https://github.com/samvasko))
- Ability to change Font Size using Ctrl+MouseWheel [\#125](https://github.com/cmderdev/cmder/pull/125) ([saaguero](https://github.com/saaguero))
**Fixed bugs:**
- Git process not ending. [\#1060](https://github.com/cmderdev/cmder/issues/1060)
- Git: fatal: Unable to create '.git/index.lock': File exists. [\#1044](https://github.com/cmderdev/cmder/issues/1044)
- Aliases with environment variables not working [\#684](https://github.com/cmderdev/cmder/issues/684)
- msysgit is not injected into path. [\#493](https://github.com/cmderdev/cmder/issues/493)
- cmder display error [\#491](https://github.com/cmderdev/cmder/issues/491)
- Path issues on startup [\#487](https://github.com/cmderdev/cmder/issues/487)
- Missing DLL: MSVCP140.dll [\#482](https://github.com/cmderdev/cmder/issues/482)
- Single mode does not set current directory [\#420](https://github.com/cmderdev/cmder/issues/420)
- Fails to parse path in PATH system variable with '&' [\#185](https://github.com/cmderdev/cmder/issues/185)
- Cmder hangs after idling for a few minutes or when clicking above the cursor [\#109](https://github.com/cmderdev/cmder/issues/109)
- No color scheme in tabs opened as Administrator [\#94](https://github.com/cmderdev/cmder/issues/94)
- Bug in alias.bat [\#52](https://github.com/cmderdev/cmder/issues/52)
- Clicking/selecting text on terminal causes slowdown [\#40](https://github.com/cmderdev/cmder/issues/40)
**Closed issues:**
- some kind of project profile [\#1175](https://github.com/cmderdev/cmder/issues/1175)
- Does cmder support the notion of a plugin [\#1173](https://github.com/cmderdev/cmder/issues/1173)
- Cygwin? [\#1155](https://github.com/cmderdev/cmder/issues/1155)
- CMDER ERROR [\#1154](https://github.com/cmderdev/cmder/issues/1154)
- Remapping hot keys [\#1150](https://github.com/cmderdev/cmder/issues/1150)
- What is mintty in here? [\#1149](https://github.com/cmderdev/cmder/issues/1149)
- No make [\#1146](https://github.com/cmderdev/cmder/issues/1146)
- How can I set the path of cmder properly at the start ? [\#1136](https://github.com/cmderdev/cmder/issues/1136)
- Powershell Slow Startup [\#1130](https://github.com/cmderdev/cmder/issues/1130)
- python for cmder [\#1129](https://github.com/cmderdev/cmder/issues/1129)
- Haskell repl \(ghci\) crashes only in cmder works elsewhere [\#1125](https://github.com/cmderdev/cmder/issues/1125)
- Latest update causes `error: failed to push some refs to git@gitlab....` [\#1124](https://github.com/cmderdev/cmder/issues/1124)
- Connection to SSH agent refused [\#1123](https://github.com/cmderdev/cmder/issues/1123)
- Slow on startup [\#1122](https://github.com/cmderdev/cmder/issues/1122)
- Shell script fail [\#1121](https://github.com/cmderdev/cmder/issues/1121)
- Ctrl+` shorcut does not work in version 161002 [\#1113](https://github.com/cmderdev/cmder/issues/1113)
- Git LFS not working with newer cmder versions [\#1112](https://github.com/cmderdev/cmder/issues/1112)
- Processes dying due to lack of memory? [\#1106](https://github.com/cmderdev/cmder/issues/1106)
- Broken links [\#1103](https://github.com/cmderdev/cmder/issues/1103)
- "\config\profile.d\Active"' is not recognized as an internal or external command, operable program or batch file. [\#1102](https://github.com/cmderdev/cmder/issues/1102)
- Can't run 'git commit' [\#1098](https://github.com/cmderdev/cmder/issues/1098)
- Unable to use keybase K:\ [\#1096](https://github.com/cmderdev/cmder/issues/1096)
- Can not Run mintty in v1.3.1 [\#1094](https://github.com/cmderdev/cmder/issues/1094)
- Shortcut for new tab ?? [\#1093](https://github.com/cmderdev/cmder/issues/1093)
- Bad symbols [\#1092](https://github.com/cmderdev/cmder/issues/1092)
- cmder turns slow when using GIT command after update to the latest version [\#1091](https://github.com/cmderdev/cmder/issues/1091)
- $ENV:CMDER\_START has a double quote too much [\#1079](https://github.com/cmderdev/cmder/issues/1079)
- Incorrect checksum ? [\#1075](https://github.com/cmderdev/cmder/issues/1075)
- Unplugging the battery detaches the Quake console [\#1074](https://github.com/cmderdev/cmder/issues/1074)
- Mouse right click copy and paste at same time. [\#1072](https://github.com/cmderdev/cmder/issues/1072)
- strange display on Chinese windows 8 [\#1071](https://github.com/cmderdev/cmder/issues/1071)
- Permanently add all SSH keys to ssh-agent [\#1062](https://github.com/cmderdev/cmder/issues/1062)
- Wrong dir privilege in bash on Windows ? [\#1059](https://github.com/cmderdev/cmder/issues/1059)
- Invalid [\#1058](https://github.com/cmderdev/cmder/issues/1058)
- Python virtualenv not activating in Windows 10 Cmder [\#1057](https://github.com/cmderdev/cmder/issues/1057)
- prompt is Garbled [\#1054](https://github.com/cmderdev/cmder/issues/1054)
- startup is so slow [\#1053](https://github.com/cmderdev/cmder/issues/1053)
- ~ doesn't work in cmder? [\#1051](https://github.com/cmderdev/cmder/issues/1051)
- \[Solved myself\] .bash\_history and winscp.rnd are not in Cmder's directories [\#1050](https://github.com/cmderdev/cmder/issues/1050)
- First run config fails with exclamation in path [\#1049](https://github.com/cmderdev/cmder/issues/1049)
- Can't run npm or any Node Module on Cmder \(Windows 7\) [\#1047](https://github.com/cmderdev/cmder/issues/1047)
- Cannot start cmder [\#1046](https://github.com/cmderdev/cmder/issues/1046)
- About letter overlapping [\#1045](https://github.com/cmderdev/cmder/issues/1045)
- %cmder\_root%\config\user-aliases.ps1 is not created on a fresh install of v1.3.0 [\#1040](https://github.com/cmderdev/cmder/issues/1040)
- Cmder looking for user-aliases in wrong path [\#1039](https://github.com/cmderdev/cmder/issues/1039)
- multiple hg.exe processes spawned [\#1035](https://github.com/cmderdev/cmder/issues/1035)
- cls command spacing as well as spacing for input not wrapping to next line, global env vars not highlighted [\#1032](https://github.com/cmderdev/cmder/issues/1032)
- Cmder getting raped by dr.web quarantine system [\#1031](https://github.com/cmderdev/cmder/issues/1031)
- cmder no longer using path variables [\#1029](https://github.com/cmderdev/cmder/issues/1029)
- Can I switch vim in cmder to gvim installed by myself? [\#1021](https://github.com/cmderdev/cmder/issues/1021)
- \[Windows10 Bash\] Could use UP/Down/Home/End....key in cmder [\#1017](https://github.com/cmderdev/cmder/issues/1017)
- {lamb} problem again... :-\( [\#1012](https://github.com/cmderdev/cmder/issues/1012)
- High-lighting text and copying is broken [\#1008](https://github.com/cmderdev/cmder/issues/1008)
- issue with updating ConEmuPack.160619.7z [\#1006](https://github.com/cmderdev/cmder/issues/1006)
- using touch in cli doesn't work anymore with latest update [\#1002](https://github.com/cmderdev/cmder/issues/1002)
- When resizing cmder window an extra path line appears. [\#1000](https://github.com/cmderdev/cmder/issues/1000)
- v1.3.0-pre doesn't support running inside program files folder [\#998](https://github.com/cmderdev/cmder/issues/998)
- Text cursor disappears when window resized [\#997](https://github.com/cmderdev/cmder/issues/997)
- how to use clip command in the cmder? [\#996](https://github.com/cmderdev/cmder/issues/996)
- {git}{hg} appearing in path print out rather than the values they represent [\#995](https://github.com/cmderdev/cmder/issues/995)
- Don't just prepend the git path. [\#994](https://github.com/cmderdev/cmder/issues/994)
- `ls` et al slow after updating cmder [\#993](https://github.com/cmderdev/cmder/issues/993)
- Attempt to concatenate local 'package\_version' \(a nil value\) [\#991](https://github.com/cmderdev/cmder/issues/991)
- After auto-update git/hg indication and lambda in prompt are broken [\#990](https://github.com/cmderdev/cmder/issues/990)
- Lack of Proxy Setting [\#989](https://github.com/cmderdev/cmder/issues/989)
- Clink completion failing [\#987](https://github.com/cmderdev/cmder/issues/987)
- \ [\#986](https://github.com/cmderdev/cmder/issues/986)
- default configuration does not support Chinese named file listing with ls [\#985](https://github.com/cmderdev/cmder/issues/985)
- When cmder opened in visual studio code, there is wrong path [\#981](https://github.com/cmderdev/cmder/issues/981)
- Is It Possible to recover the files removed by `rm -rf` [\#979](https://github.com/cmderdev/cmder/issues/979)
- . [\#973](https://github.com/cmderdev/cmder/issues/973)
- right click context menu open cmd without color [\#972](https://github.com/cmderdev/cmder/issues/972)
- git branch name is not red when there are pending changes [\#967](https://github.com/cmderdev/cmder/issues/967)
- git checkout autocomplete is showing files [\#966](https://github.com/cmderdev/cmder/issues/966)
- Cmder proxy Ubuntu Bash on Windows [\#964](https://github.com/cmderdev/cmder/issues/964)
- Update version on Chocolatey [\#959](https://github.com/cmderdev/cmder/issues/959)
- ConEmu Injecting hooks fail [\#958](https://github.com/cmderdev/cmder/issues/958)
- chocolatey.lua:1: module 'tables' not found [\#957](https://github.com/cmderdev/cmder/issues/957)
- cmder \(from cmder\_mini.zip\) crashes on startup on windows 7 pro x64 [\#955](https://github.com/cmderdev/cmder/issues/955)
- Feature: add some extra prompt-tuning hooks to profile.ps1 from user-profile.ps1 [\#950](https://github.com/cmderdev/cmder/issues/950)
- Provide alternate icon colors [\#947](https://github.com/cmderdev/cmder/issues/947)
- "\cmder\config\settings was unexpected at this time" and {lamb} is shown instead of lambda symbol [\#937](https://github.com/cmderdev/cmder/issues/937)
- Cannot save settings [\#936](https://github.com/cmderdev/cmder/issues/936)
- init.bat fails and shows {lamb} and {git} [\#935](https://github.com/cmderdev/cmder/issues/935)
- Cmder minimizing when losing focus. [\#934](https://github.com/cmderdev/cmder/issues/934)
- init.bat always uses "npm" as window title [\#933](https://github.com/cmderdev/cmder/issues/933)
- `ls` return vertical list instead of horizontal? [\#924](https://github.com/cmderdev/cmder/issues/924)
- Arrow keys in Windows 10 Linux Subsystem [\#919](https://github.com/cmderdev/cmder/issues/919)
- Arrow keys do not work with bash \(Win10/Linux Subsystem\) [\#914](https://github.com/cmderdev/cmder/issues/914)
- Aliased commands: Syntax Highlighting Lost [\#912](https://github.com/cmderdev/cmder/issues/912)
- 'vim' hangs when loading in cmder bash session [\#910](https://github.com/cmderdev/cmder/issues/910)
- Unix commands not working in windows 10 [\#908](https://github.com/cmderdev/cmder/issues/908)
- git 2.8 ? [\#905](https://github.com/cmderdev/cmder/issues/905)
- Confusing "Settings" \> "Integration" dialog behavior [\#904](https://github.com/cmderdev/cmder/issues/904)
- v1.3.0 antivirus [\#903](https://github.com/cmderdev/cmder/issues/903)
- Feature Request: Send to all/group [\#896](https://github.com/cmderdev/cmder/issues/896)
- Updating git-for-windows after installing the full cmder? [\#887](https://github.com/cmderdev/cmder/issues/887)
- Tab autocompetion for git is inconsistent \(doesn't work with git add\) [\#885](https://github.com/cmderdev/cmder/issues/885)
- Line-wrapping breaks when using backspace key in a git repo with Cmder mini and Git for Windows. [\#883](https://github.com/cmderdev/cmder/issues/883)
- Cmder opens off screen [\#881](https://github.com/cmderdev/cmder/issues/881)
- ctrl+l with powershell in quake mode clears the first prompt line as well [\#879](https://github.com/cmderdev/cmder/issues/879)
- Enconding ? [\#877](https://github.com/cmderdev/cmder/issues/877)
- the {cmd} task [\#876](https://github.com/cmderdev/cmder/issues/876)
- Failed to start cmder, app crashed [\#871](https://github.com/cmderdev/cmder/issues/871)
- Cmder Windows Pinning Issue \[weird\] [\#869](https://github.com/cmderdev/cmder/issues/869)
- Why not use @ECHO OFF? [\#868](https://github.com/cmderdev/cmder/issues/868)
- alias with && doesn't work [\#859](https://github.com/cmderdev/cmder/issues/859)
- Having trouble with packaged conemu install, how can I point to a different one? [\#858](https://github.com/cmderdev/cmder/issues/858)
- path entry for \<git\>/cmd instead of \<git\>/bin? [\#853](https://github.com/cmderdev/cmder/issues/853)
- Cmder lists path on window resize. [\#851](https://github.com/cmderdev/cmder/issues/851)
- Alias with multi-word git commit message not working [\#847](https://github.com/cmderdev/cmder/issues/847)
- cmder and vim compatibility problem [\#846](https://github.com/cmderdev/cmder/issues/846)
- Unable to git pull,push or any action [\#845](https://github.com/cmderdev/cmder/issues/845)
- switch to use master a the default development branch [\#836](https://github.com/cmderdev/cmder/issues/836)
- Missing git support, install posth-git [\#834](https://github.com/cmderdev/cmder/issues/834)
- Git branch information is broken for submodules [\#833](https://github.com/cmderdev/cmder/issues/833)
- "-ExecutionPolicy' is not recognized as an internal or external command" [\#830](https://github.com/cmderdev/cmder/issues/830)
- How to upgrade from v1.1.4.1 to v1.2 ? [\#825](https://github.com/cmderdev/cmder/issues/825)
- Startup warning [\#821](https://github.com/cmderdev/cmder/issues/821)
- Cmder prompt screwed up with latest Windows 10 Build [\#820](https://github.com/cmderdev/cmder/issues/820)
- Cmder does not open in last open window position [\#816](https://github.com/cmderdev/cmder/issues/816)
- CMDer won't open Sublime [\#814](https://github.com/cmderdev/cmder/issues/814)
- integrating Git for Windows vs. Git for Windows SDK? [\#813](https://github.com/cmderdev/cmder/issues/813)
- Installer for cmder? [\#812](https://github.com/cmderdev/cmder/issues/812)
- When will the next version be available? [\#811](https://github.com/cmderdev/cmder/issues/811)
- Netcat is missing [\#810](https://github.com/cmderdev/cmder/issues/810)
- how to use /? to get the help doc in the `cmder` [\#808](https://github.com/cmderdev/cmder/issues/808)
- \[Enhancement\] Powershell and Babun \(cygwin + zsh\) [\#807](https://github.com/cmderdev/cmder/issues/807)
- Cmder - Warning: Missing git support [\#806](https://github.com/cmderdev/cmder/issues/806)
- iul [\#800](https://github.com/cmderdev/cmder/issues/800)
- Update clink settings [\#793](https://github.com/cmderdev/cmder/issues/793)
- how to add the environment variable to the cmder? [\#792](https://github.com/cmderdev/cmder/issues/792)
- % variable expansion in config/alias [\#791](https://github.com/cmderdev/cmder/issues/791)
- Problems with node [\#790](https://github.com/cmderdev/cmder/issues/790)
- Resizing adds new lines [\#789](https://github.com/cmderdev/cmder/issues/789)
- How to remove "Cmder Here" in the context menu after .\cmder.exe /REGISTER ALL? [\#787](https://github.com/cmderdev/cmder/issues/787)
- \[v1.2.9\] Can not alias with env. variables. [\#784](https://github.com/cmderdev/cmder/issues/784)
- How should i add a context menu entry? [\#780](https://github.com/cmderdev/cmder/issues/780)
- Branch name not visible and vagrant commands not working [\#778](https://github.com/cmderdev/cmder/issues/778)
- Run command to start [\#775](https://github.com/cmderdev/cmder/issues/775)
- CMDER\_START should always be set to USERPROFILE unless explicitly set through /START parameter [\#772](https://github.com/cmderdev/cmder/issues/772)
- Startup Error: cmder\vendor\profile.ps1 cannot be loaded. [\#769](https://github.com/cmderdev/cmder/issues/769)
- How to make Cmder stop displaying warning? [\#768](https://github.com/cmderdev/cmder/issues/768)
- Security Warning - cmder\vendor\profile.ps1 [\#767](https://github.com/cmderdev/cmder/issues/767)
- Unable to install cmder using Install-Package in Windows 10 [\#762](https://github.com/cmderdev/cmder/issues/762)
- How do confirm exe's are safe? md5? checksum? [\#761](https://github.com/cmderdev/cmder/issues/761)
- Option to disable preview stacking with multiple tabs [\#758](https://github.com/cmderdev/cmder/issues/758)
- 'ls' is no longer recognized command [\#757](https://github.com/cmderdev/cmder/issues/757)
- I can't run de Cmder.exe [\#755](https://github.com/cmderdev/cmder/issues/755)
- Multiple location references when maximizing [\#753](https://github.com/cmderdev/cmder/issues/753)
- CLink completions for npm increase cmder startup time for one second [\#750](https://github.com/cmderdev/cmder/issues/750)
- Prevent other apps from overwriting the prompt? [\#749](https://github.com/cmderdev/cmder/issues/749)
- cmder.exe infected with Variant.Kazy.767238 [\#748](https://github.com/cmderdev/cmder/issues/748)
- cmder.exe considered harmful by Bitdefender [\#744](https://github.com/cmderdev/cmder/issues/744)
- curl ntlm auth stopped working [\#741](https://github.com/cmderdev/cmder/issues/741)
- Sublime Integration fails - Can't find "C:\Programs"? [\#727](https://github.com/cmderdev/cmder/issues/727)
- Cmder and gulp, not friend? [\#725](https://github.com/cmderdev/cmder/issues/725)
- Antivirus deleting some files in cmder \(reporting them as infected\) [\#724](https://github.com/cmderdev/cmder/issues/724)
- Windows Defender on Windows 10 finds Trojan in extracted files [\#713](https://github.com/cmderdev/cmder/issues/713)
- e. shortcut not working ? [\#712](https://github.com/cmderdev/cmder/issues/712)
- "Cmder here" doesn't work if set start-up dir [\#709](https://github.com/cmderdev/cmder/issues/709)
- Is cmder support scrolling with touch screen? [\#706](https://github.com/cmderdev/cmder/issues/706)
- npm\_prompt.lua:11: attempt to concatenate local 'package\_version' \(a nil value\) [\#700](https://github.com/cmderdev/cmder/issues/700)
- Cmder \(cmd.exe\) startup crashes at clink step [\#699](https://github.com/cmderdev/cmder/issues/699)
- Doesn't run cmder.exe [\#696](https://github.com/cmderdev/cmder/issues/696)
- Not getting git status in 1.2.9 prompt [\#692](https://github.com/cmderdev/cmder/issues/692)
- Tab-Complete paths not working \[1.2.9\] [\#691](https://github.com/cmderdev/cmder/issues/691)
- The directory be duplicate displayed [\#689](https://github.com/cmderdev/cmder/issues/689)
- Don't work at my windows 7 \(misiing api-ms-win-crt-runtime-l1-1-0.dll\) [\#682](https://github.com/cmderdev/cmder/issues/682)
- Use tab to cycle through auto complete, like the original cmd does? [\#681](https://github.com/cmderdev/cmder/issues/681)
- git: 'pull' is not a git command. See 'git --help'. [\#679](https://github.com/cmderdev/cmder/issues/679)
- Error in NPM-Prompt [\#678](https://github.com/cmderdev/cmder/issues/678)
- msysgit commands not working [\#675](https://github.com/cmderdev/cmder/issues/675)
- Restore last session with history on start [\#672](https://github.com/cmderdev/cmder/issues/672)
- Restart As Admin bug [\#669](https://github.com/cmderdev/cmder/issues/669)
- git for windows 2.6.1 ssh folder [\#661](https://github.com/cmderdev/cmder/issues/661)
- der [\#660](https://github.com/cmderdev/cmder/issues/660)
- Cannot clean the terminal [\#659](https://github.com/cmderdev/cmder/issues/659)
- Cmder do not run if username has spaces between [\#658](https://github.com/cmderdev/cmder/issues/658)
- When exiting vim, cursor goes to first line of terminal instead of the end of it [\#656](https://github.com/cmderdev/cmder/issues/656)
- Cmder suddenly start crashing on startup [\#650](https://github.com/cmderdev/cmder/issues/650)
- Cannot switch to mapped network drive [\#649](https://github.com/cmderdev/cmder/issues/649)
- Ctrl + D? [\#648](https://github.com/cmderdev/cmder/issues/648)
- Is there any hotkey jump to "Search" box? [\#647](https://github.com/cmderdev/cmder/issues/647)
- File /vendor/conemu-maximus5/ConEmu.exe not found. [\#646](https://github.com/cmderdev/cmder/issues/646)
- As admin CMDER\_ROOT not set in Powershell [\#643](https://github.com/cmderdev/cmder/issues/643)
- Emoji support [\#642](https://github.com/cmderdev/cmder/issues/642)
- Having ls, cat, etc [\#641](https://github.com/cmderdev/cmder/issues/641)
- Cmder having Permission Errors for Windows 10 [\#640](https://github.com/cmderdev/cmder/issues/640)
- Powershell - Msys Aliases [\#639](https://github.com/cmderdev/cmder/issues/639)
- Problem with install on window 7? [\#637](https://github.com/cmderdev/cmder/issues/637)
- Invoke-Expression : The term 'Invoke-Expression' is not recognized [\#636](https://github.com/cmderdev/cmder/issues/636)
- it doesn't like Docker [\#631](https://github.com/cmderdev/cmder/issues/631)
- Latest release : Windows 7 : Windows cannot find ".../vendor/conemu-maximus5/CpmE,u.exe" [\#629](https://github.com/cmderdev/cmder/issues/629)
- Strange Vim behaviour after Git for Windows upgrade [\#628](https://github.com/cmderdev/cmder/issues/628)
- msysGit has been superseded ,consider to switch to Git for Windows 2.x? [\#627](https://github.com/cmderdev/cmder/issues/627)
- tail command not found [\#625](https://github.com/cmderdev/cmder/issues/625)
- Cmder console remain unused text on screen [\#623](https://github.com/cmderdev/cmder/issues/623)
- er con emu [\#617](https://github.com/cmderdev/cmder/issues/617)
- first google hit for cmder shows 404 [\#616](https://github.com/cmderdev/cmder/issues/616)
- \[ Solved \] How to I change to width of Split screen divider \( border \) line. [\#613](https://github.com/cmderdev/cmder/issues/613)
- No Unix commands? [\#610](https://github.com/cmderdev/cmder/issues/610)
- using user installed git \(2.5\) with the suggested /bin/agent.cmd does not work [\#609](https://github.com/cmderdev/cmder/issues/609)
- vendor/init.bat is overwritten with new versions -\> use a user startup file? [\#608](https://github.com/cmderdev/cmder/issues/608)
- Git autocomplete is not working as in git bash [\#607](https://github.com/cmderdev/cmder/issues/607)
- api-ms-win-crt-runtime-l1-1-0.dll is missing error \(Windows 8.1\) [\#604](https://github.com/cmderdev/cmder/issues/604)
- Prevent inactive cmder windows to be dimmed [\#603](https://github.com/cmderdev/cmder/issues/603)
- Git for Windows 2.5 [\#602](https://github.com/cmderdev/cmder/issues/602)
- Incompatibility with conemu 150716+ / double pinned icon on taskbar [\#599](https://github.com/cmderdev/cmder/issues/599)
- Cant get it working on windows xp [\#598](https://github.com/cmderdev/cmder/issues/598)
- ls parameters error in Windows 10 [\#597](https://github.com/cmderdev/cmder/issues/597)
- Resizing split windows [\#596](https://github.com/cmderdev/cmder/issues/596)
- PowerShell Profile Aliases ignored in Cmder [\#593](https://github.com/cmderdev/cmder/issues/593)
- "Inject ConEmuHk" settings slows git down considerably [\#592](https://github.com/cmderdev/cmder/issues/592)
- Suggestion about transparency [\#591](https://github.com/cmderdev/cmder/issues/591)
- Powerline integration with cmder [\#590](https://github.com/cmderdev/cmder/issues/590)
- Wrong place [\#589](https://github.com/cmderdev/cmder/issues/589)
- Misleading install instructions? [\#588](https://github.com/cmderdev/cmder/issues/588)
- ENHANCE: Only add git to path if not exist [\#586](https://github.com/cmderdev/cmder/issues/586)
- new console confirmation - with Ctrl-T [\#583](https://github.com/cmderdev/cmder/issues/583)
- start-ssh-agent not found [\#580](https://github.com/cmderdev/cmder/issues/580)
- Missing DLL [\#579](https://github.com/cmderdev/cmder/issues/579)
- Invoking ConEmu instead of ConEmu64 on Windows 10 64-bit [\#574](https://github.com/cmderdev/cmder/issues/574)
- windows 10 incompatibility [\#572](https://github.com/cmderdev/cmder/issues/572)
- FIX: Incorrect startup directory. [\#571](https://github.com/cmderdev/cmder/issues/571)
- WARNING: Enable-GitColors is Obsolete and will be removed in a future version of posh-git. [\#568](https://github.com/cmderdev/cmder/issues/568)
- Path issue on startup - Invalid download path [\#567](https://github.com/cmderdev/cmder/issues/567)
- The term 'vim' is not recognized [\#566](https://github.com/cmderdev/cmder/issues/566)
- Using .bashrc [\#565](https://github.com/cmderdev/cmder/issues/565)
- Persist tab "View \(palette\)" selection [\#562](https://github.com/cmderdev/cmder/issues/562)
- git add --interactive fails [\#560](https://github.com/cmderdev/cmder/issues/560)
- Tab names as directory names [\#559](https://github.com/cmderdev/cmder/issues/559)
- Downloads for v1.2 missing DLLs [\#558](https://github.com/cmderdev/cmder/issues/558)
- Can't get rid of "unrecognized parameter" error [\#557](https://github.com/cmderdev/cmder/issues/557)
- How to use cmder in a batch file? [\#556](https://github.com/cmderdev/cmder/issues/556)
- Run init.bat before any new scripts [\#554](https://github.com/cmderdev/cmder/issues/554)
- ssh not working [\#552](https://github.com/cmderdev/cmder/issues/552)
- Restore opened tabs setting opens root drive [\#551](https://github.com/cmderdev/cmder/issues/551)
- Maximize single view/terminal/console to whole window [\#550](https://github.com/cmderdev/cmder/issues/550)
- not run successfully [\#547](https://github.com/cmderdev/cmder/issues/547)
- compass not working with cmder ? [\#546](https://github.com/cmderdev/cmder/issues/546)
- Bad unicode support \(wrong glyphs on alsamixer\) [\#545](https://github.com/cmderdev/cmder/issues/545)
- can we use Vundle to manage Cmder's vim plugins? Need some setup? [\#535](https://github.com/cmderdev/cmder/issues/535)
- Error on Windows 7 [\#534](https://github.com/cmderdev/cmder/issues/534)
- api-ms-win-crt-runtime l1-109.dll is missing [\#531](https://github.com/cmderdev/cmder/issues/531)
- Git checks for 'commits' every time a folder is changed? [\#529](https://github.com/cmderdev/cmder/issues/529)
- Powershell tab title issue [\#528](https://github.com/cmderdev/cmder/issues/528)
- conhost.exe keeps on crashing. [\#527](https://github.com/cmderdev/cmder/issues/527)
- storage in userprofile \(instead of fixed config dir relative to the executable\) [\#526](https://github.com/cmderdev/cmder/issues/526)
- Cmder crashes when AVG falsely flags it as a virus. [\#522](https://github.com/cmderdev/cmder/issues/522)
- Incomplete git installation packaged with cmder v1.2 [\#521](https://github.com/cmderdev/cmder/issues/521)
- api-ms-win-crt-runtime-l1-1-0.dll error [\#518](https://github.com/cmderdev/cmder/issues/518)
- Can't set alias in 1.2 anymore [\#515](https://github.com/cmderdev/cmder/issues/515)
- git not properly setup in v1.2 [\#513](https://github.com/cmderdev/cmder/issues/513)
- Character persistence on cmder windows [\#506](https://github.com/cmderdev/cmder/issues/506)
- Git: fatal: Unable to find remote helper for 'https' [\#503](https://github.com/cmderdev/cmder/issues/503)
- api-ms-win-crt-runtime-l1-1-0.dll error [\#501](https://github.com/cmderdev/cmder/issues/501)
- ncurses borders incorrectly displayed with ssh.exe [\#499](https://github.com/cmderdev/cmder/issues/499)
- gitk not found due to changed PATH for msysgit [\#498](https://github.com/cmderdev/cmder/issues/498)
- {hg} on every folder [\#494](https://github.com/cmderdev/cmder/issues/494)
- Missing dll, APPCRT140.dll [\#485](https://github.com/cmderdev/cmder/issues/485)
- Symantec refuses to access cmder [\#484](https://github.com/cmderdev/cmder/issues/484)
- Missing MSVCP140.dll [\#480](https://github.com/cmderdev/cmder/issues/480)
- Windows 10 compatibility issues [\#478](https://github.com/cmderdev/cmder/issues/478)
- update msysgit [\#473](https://github.com/cmderdev/cmder/issues/473)
- Notifications about composer.json and CRLF [\#472](https://github.com/cmderdev/cmder/issues/472)
- How to add more commands beyond mysisgit? [\#470](https://github.com/cmderdev/cmder/issues/470)
- ~ should mean user home directory [\#466](https://github.com/cmderdev/cmder/issues/466)
- mklink /d creates symlink with wrong slashes [\#462](https://github.com/cmderdev/cmder/issues/462)
- Does cmder come with GCC or not? [\#461](https://github.com/cmderdev/cmder/issues/461)
- Question: How to start cmder with a command [\#457](https://github.com/cmderdev/cmder/issues/457)
- PATH environment variable has space problem [\#456](https://github.com/cmderdev/cmder/issues/456)
- Feature Request : Save opened tabs and locations of the tabs [\#455](https://github.com/cmderdev/cmder/issues/455)
- Error on cmder launch: "The syntax of the command is incorrect" [\#454](https://github.com/cmderdev/cmder/issues/454)
- Lag returning to prompt \(especially\) in git repo [\#447](https://github.com/cmderdev/cmder/issues/447)
- 'MySQL' is not recognized as an internal or external command, operable program or batch file. [\#443](https://github.com/cmderdev/cmder/issues/443)
- Not scaling on Windows 8.1 with High-DPI Monitor [\#437](https://github.com/cmderdev/cmder/issues/437)
- Shortcut missing icon in context menu [\#433](https://github.com/cmderdev/cmder/issues/433)
- How to update Git? [\#428](https://github.com/cmderdev/cmder/issues/428)
- How to redirect Window's cmd.exe to Cmder's cmder.exe? [\#426](https://github.com/cmderdev/cmder/issues/426)
- cmder exits with exitcode 4294967295 [\#423](https://github.com/cmderdev/cmder/issues/423)
- How do you create an alias? [\#421](https://github.com/cmderdev/cmder/issues/421)
- Git pull not working [\#419](https://github.com/cmderdev/cmder/issues/419)
- Create files from cmder. [\#417](https://github.com/cmderdev/cmder/issues/417)
- Error popup window on opening [\#416](https://github.com/cmderdev/cmder/issues/416)
- Vim help not working in cmder [\#415](https://github.com/cmderdev/cmder/issues/415)
- How to update bash [\#399](https://github.com/cmderdev/cmder/issues/399)
- could you put the version number into the download file [\#396](https://github.com/cmderdev/cmder/issues/396)
- git-p4.py \[Errno 2\] No such file or directory [\#392](https://github.com/cmderdev/cmder/issues/392)
- ConEmu auto attach with Cmder aliases [\#388](https://github.com/cmderdev/cmder/issues/388)
- Cmder unable to find .ssh folder [\#387](https://github.com/cmderdev/cmder/issues/387)
- extra character appears at the beginning,when used the arrow keys\(up,down\) navigate through the history [\#384](https://github.com/cmderdev/cmder/issues/384)
- create alias with multi word parameter [\#376](https://github.com/cmderdev/cmder/issues/376)
- UI broken characters [\#375](https://github.com/cmderdev/cmder/issues/375)
- Possible to change TSA icon? [\#373](https://github.com/cmderdev/cmder/issues/373)
- Is Cmder known to cause a false positive alert from some virus checking software? [\#371](https://github.com/cmderdev/cmder/issues/371)
- How to disable the crosshair [\#369](https://github.com/cmderdev/cmder/issues/369)
- Text reflow and line selection [\#359](https://github.com/cmderdev/cmder/issues/359)
- Using the context menu doesn't open a new tab in Single Instance Mode [\#356](https://github.com/cmderdev/cmder/issues/356)
- Git client side vulnerability [\#354](https://github.com/cmderdev/cmder/issues/354)
- Ctrl+Shift+Arrow does not work as expected [\#345](https://github.com/cmderdev/cmder/issues/345)
- i can not read windows path in cmder [\#342](https://github.com/cmderdev/cmder/issues/342)
- How to reload system variable [\#340](https://github.com/cmderdev/cmder/issues/340)
- SVN commands support [\#339](https://github.com/cmderdev/cmder/issues/339)
- Is it possible to show the current folder in front of cursor on the current line? [\#338](https://github.com/cmderdev/cmder/issues/338)
- backspace not work [\#334](https://github.com/cmderdev/cmder/issues/334)
- 'awk' is not recognized [\#330](https://github.com/cmderdev/cmder/issues/330)
- Cannot pin 1.1.4.1 to Win7 taskbar [\#329](https://github.com/cmderdev/cmder/issues/329)
- {lamb} instead of lambda sign \(possibly a UTF-8 problem?\) [\#322](https://github.com/cmderdev/cmder/issues/322)
- Instructions refer to Cmder.bat but it doesn't exist in download .zip [\#319](https://github.com/cmderdev/cmder/issues/319)
- Wrong link on https://bliker.github.io/cmder/ for msysgit [\#317](https://github.com/cmderdev/cmder/issues/317)
- Use system-wide Git [\#315](https://github.com/cmderdev/cmder/issues/315)
- Version update information is broken \(not found\) [\#310](https://github.com/cmderdev/cmder/issues/310)
- feature request vim-airline [\#306](https://github.com/cmderdev/cmder/issues/306)
- Integrate PSReadLine [\#301](https://github.com/cmderdev/cmder/issues/301)
- Full Screen [\#295](https://github.com/cmderdev/cmder/issues/295)
- Configure Powershell to match CMD [\#294](https://github.com/cmderdev/cmder/issues/294)
- Tab Close on CTRL-W [\#293](https://github.com/cmderdev/cmder/issues/293)
- v1.1.4.1 /REGISTER ALL has broken icon [\#292](https://github.com/cmderdev/cmder/issues/292)
- CD in root not working.. [\#289](https://github.com/cmderdev/cmder/issues/289)
- How to enable 256 color? [\#288](https://github.com/cmderdev/cmder/issues/288)
- Support comments in /config/aliases [\#286](https://github.com/cmderdev/cmder/issues/286)
- Executing linux executables ./ doesn't work :S [\#285](https://github.com/cmderdev/cmder/issues/285)
- Moved Documents folder, running "ls" gives "ls: My Documents: No such file or directory" [\#284](https://github.com/cmderdev/cmder/issues/284)
- er [\#283](https://github.com/cmderdev/cmder/issues/283)
- \[1.1.4.1\] Auto Completion not working [\#280](https://github.com/cmderdev/cmder/issues/280)
- Git and lamb macro/symbols not expanded in Windows 10 preview [\#279](https://github.com/cmderdev/cmder/issues/279)
- cmder vs cmd using non-blocking STDIN [\#269](https://github.com/cmderdev/cmder/issues/269)
- Possible to blur translucent console? [\#267](https://github.com/cmderdev/cmder/issues/267)
- Duplicate Root Fires Twice? [\#266](https://github.com/cmderdev/cmder/issues/266)
- bug when using up and down key [\#264](https://github.com/cmderdev/cmder/issues/264)
- ps scripts: support space in foldernames [\#261](https://github.com/cmderdev/cmder/issues/261)
- utils [\#260](https://github.com/cmderdev/cmder/issues/260)
- Character mix [\#259](https://github.com/cmderdev/cmder/issues/259)
- strange issue no trace in google [\#257](https://github.com/cmderdev/cmder/issues/257)
- Can't start cmder 1.4.1.1 [\#252](https://github.com/cmderdev/cmder/issues/252)
- Cmder icon reverts to ConEmu icon when "Startup options" option is changed [\#251](https://github.com/cmderdev/cmder/issues/251)
- Old version files in v1.1.4 release archives [\#247](https://github.com/cmderdev/cmder/issues/247)
- "MSVCP120.dll is missing from your computer." [\#246](https://github.com/cmderdev/cmder/issues/246)
- Cmder.exe not opening on Windows 7 SP 1 [\#240](https://github.com/cmderdev/cmder/issues/240)
- Resize Tab Bar [\#236](https://github.com/cmderdev/cmder/issues/236)
- Accented characters [\#234](https://github.com/cmderdev/cmder/issues/234)
- Clicking in the window causes cmder to lock up [\#232](https://github.com/cmderdev/cmder/issues/232)
- Add cmder to Windows context menu [\#231](https://github.com/cmderdev/cmder/issues/231)
- libiconv-2.dll is missing [\#228](https://github.com/cmderdev/cmder/issues/228)
- color scheme lost after CTRL+C on git status [\#227](https://github.com/cmderdev/cmder/issues/227)
- Can't create process, ErrCode=0x000000C1, Description: %1 is not a valid Win32 application. [\#226](https://github.com/cmderdev/cmder/issues/226)
- Cant get powerline fonts to work \(need utf-8?\) [\#225](https://github.com/cmderdev/cmder/issues/225)
- Can't use aliases + && [\#224](https://github.com/cmderdev/cmder/issues/224)
- {git}, {lamb} and strange new console options [\#223](https://github.com/cmderdev/cmder/issues/223)
- CJK problem [\#222](https://github.com/cmderdev/cmder/issues/222)
- Wire up 'title' to "rename tab" [\#221](https://github.com/cmderdev/cmder/issues/221)
- system PATH overriding path set in init.bat [\#219](https://github.com/cmderdev/cmder/issues/219)
- command autocompletion not working [\#218](https://github.com/cmderdev/cmder/issues/218)
- Launcher opens new window separately [\#217](https://github.com/cmderdev/cmder/issues/217)
- Theme not applied on Run command prompt here [\#216](https://github.com/cmderdev/cmder/issues/216)
- Closes tab on Ctrl-C action [\#215](https://github.com/cmderdev/cmder/issues/215)
- "Your alias cannot contain a space" [\#214](https://github.com/cmderdev/cmder/issues/214)
- Problems with vim colors [\#213](https://github.com/cmderdev/cmder/issues/213)
- lambda bug when i install clink [\#212](https://github.com/cmderdev/cmder/issues/212)
- Did doskey break in the newest dev update? [\#207](https://github.com/cmderdev/cmder/issues/207)
- Bug within the version of msysgit 1.8.5.2 [\#206](https://github.com/cmderdev/cmder/issues/206)
- Blank line [\#205](https://github.com/cmderdev/cmder/issues/205)
- F7 support for command history? [\#204](https://github.com/cmderdev/cmder/issues/204)
- SSH Keys and push passphrase [\#202](https://github.com/cmderdev/cmder/issues/202)
- git diff highlight colors on ssh [\#201](https://github.com/cmderdev/cmder/issues/201)
- Cursor becomes fat, and i can't do anything [\#200](https://github.com/cmderdev/cmder/issues/200)
- Open cmder as Tab from the file explorer [\#197](https://github.com/cmderdev/cmder/issues/197)
- include zsh and tmux from cygwin [\#194](https://github.com/cmderdev/cmder/issues/194)
- How to enable ssh-agent? [\#193](https://github.com/cmderdev/cmder/issues/193)
- Git Not working [\#192](https://github.com/cmderdev/cmder/issues/192)
- Open cmder in 64-bit on 64-bit windows [\#191](https://github.com/cmderdev/cmder/issues/191)
- Output is very slow [\#188](https://github.com/cmderdev/cmder/issues/188)
- Running cmder from the file explorer [\#187](https://github.com/cmderdev/cmder/issues/187)
- Add hotkey to switch tabs [\#186](https://github.com/cmderdev/cmder/issues/186)
- how to config installed msysgit [\#183](https://github.com/cmderdev/cmder/issues/183)
- Windows 8.1 High-DPI Scaling [\#182](https://github.com/cmderdev/cmder/issues/182)
- how to disabled command line error beep? [\#179](https://github.com/cmderdev/cmder/issues/179)
- Child shells yields broken prompt [\#178](https://github.com/cmderdev/cmder/issues/178)
- Crash at start on Windows 8.1 [\#176](https://github.com/cmderdev/cmder/issues/176)
- Crashes with mintty.exe [\#175](https://github.com/cmderdev/cmder/issues/175)
- Chinese characters looked terribly awful when monospace is checked [\#171](https://github.com/cmderdev/cmder/issues/171)
- Copy and paste w/ mouse buttons [\#170](https://github.com/cmderdev/cmder/issues/170)
- generation of Pipe symbol not possible [\#168](https://github.com/cmderdev/cmder/issues/168)
- Lambda prompt bug [\#164](https://github.com/cmderdev/cmder/issues/164)
- Can't select and copy text [\#163](https://github.com/cmderdev/cmder/issues/163)
- not running in windows XP SP3 [\#161](https://github.com/cmderdev/cmder/issues/161)
- german characters not displaying [\#160](https://github.com/cmderdev/cmder/issues/160)
- Moving files with ../ [\#158](https://github.com/cmderdev/cmder/issues/158)
- Transparent image. A Detail but I would like to get it to work [\#156](https://github.com/cmderdev/cmder/issues/156)
- Taskbar icon after pinning the program reverts to default ConEmu icon. Systray icon is always ConEmu's. [\#154](https://github.com/cmderdev/cmder/issues/154)
- A neat way to add sublime text seamlessly. [\#153](https://github.com/cmderdev/cmder/issues/153)
- how to update cygwin shipped together within cmder [\#151](https://github.com/cmderdev/cmder/issues/151)
- attach to GUI was requested, but there is no console processes! [\#150](https://github.com/cmderdev/cmder/issues/150)
- The system cannot find the path specified. [\#148](https://github.com/cmderdev/cmder/issues/148)
- Changes to PATH do not persist [\#146](https://github.com/cmderdev/cmder/issues/146)
- git clone templates not found / Unable to find remote helper for 'https' [\#144](https://github.com/cmderdev/cmder/issues/144)
- handle could not be opened / terminal is not fully functional [\#143](https://github.com/cmderdev/cmder/issues/143)
- Create windows installer [\#142](https://github.com/cmderdev/cmder/issues/142)
- Auto-create fast new tab shortcuts for additional tasks [\#140](https://github.com/cmderdev/cmder/issues/140)
- ssh-agent, ssh-add, ssh all crash as soon as I open a PowerShell window [\#139](https://github.com/cmderdev/cmder/issues/139)
- Problems using cmder as an SSH client [\#137](https://github.com/cmderdev/cmder/issues/137)
- Add link to bliker.github.io/cmder to repo description/website [\#134](https://github.com/cmderdev/cmder/issues/134)
- Environmental variables are not reloaded on new console [\#132](https://github.com/cmderdev/cmder/issues/132)
- Git Branch Autocomplete [\#130](https://github.com/cmderdev/cmder/issues/130)
- The nice lambda left me :\( [\#129](https://github.com/cmderdev/cmder/issues/129)
- `ls` with output redirection writes ansi escape sequences to destination file [\#127](https://github.com/cmderdev/cmder/issues/127)
- Lamba prompt and git status scripts not running [\#126](https://github.com/cmderdev/cmder/issues/126)
- how to open specail directory? in sublime Terminal plugin? [\#123](https://github.com/cmderdev/cmder/issues/123)
- clink installed allready cmder hangs after install [\#122](https://github.com/cmderdev/cmder/issues/122)
- "The system cannot find the path specified" [\#121](https://github.com/cmderdev/cmder/issues/121)
- "chcp 65001" \(UTF-8\) support for cmd [\#119](https://github.com/cmderdev/cmder/issues/119)
- Incorrect version of clink is being used [\#117](https://github.com/cmderdev/cmder/issues/117)
- .bash\_profile equivalent? [\#113](https://github.com/cmderdev/cmder/issues/113)
- Startup directory on new tab [\#112](https://github.com/cmderdev/cmder/issues/112)
- Looking for a contributor/Cmder user [\#110](https://github.com/cmderdev/cmder/issues/110)
- Terminate batch job bug \(I think?\) [\#108](https://github.com/cmderdev/cmder/issues/108)
- latin1 characters [\#107](https://github.com/cmderdev/cmder/issues/107)
- Script cleanup [\#105](https://github.com/cmderdev/cmder/issues/105)
- Changed "λ" to "?" [\#104](https://github.com/cmderdev/cmder/issues/104)
- How to search history using PgUp and PgDown [\#103](https://github.com/cmderdev/cmder/issues/103)
- Folder shortcuts doesn't seem to work in FAR manager under cmder [\#102](https://github.com/cmderdev/cmder/issues/102)
- opening cmder.bat on windows 8 [\#101](https://github.com/cmderdev/cmder/issues/101)
- Change the builder from google code [\#99](https://github.com/cmderdev/cmder/issues/99)
- Text color not honored upon restart [\#97](https://github.com/cmderdev/cmder/issues/97)
- Launcher is not recognized as a valid Win32 application on windows XP. [\#96](https://github.com/cmderdev/cmder/issues/96)
- Allow the launcher to be pinned to the taskbar [\#95](https://github.com/cmderdev/cmder/issues/95)
- VS2013 runtime requirement [\#93](https://github.com/cmderdev/cmder/issues/93)
- git flow [\#92](https://github.com/cmderdev/cmder/issues/92)
- How to start in a given directory [\#91](https://github.com/cmderdev/cmder/issues/91)
- Can't type backslash \(clink issue\) [\#89](https://github.com/cmderdev/cmder/issues/89)
- command history [\#87](https://github.com/cmderdev/cmder/issues/87)
- Install cmder [\#86](https://github.com/cmderdev/cmder/issues/86)
- Can not work well with Chinese [\#81](https://github.com/cmderdev/cmder/issues/81)
- Does not work with Julia [\#80](https://github.com/cmderdev/cmder/issues/80)
- Build script does not work through proxy [\#79](https://github.com/cmderdev/cmder/issues/79)
- "C:\Users\bliker" reference in config/ConEmu.xml [\#71](https://github.com/cmderdev/cmder/issues/71)
- Is it possible to install wget into cmder\(clink, or ConEmu\) ? [\#69](https://github.com/cmderdev/cmder/issues/69)
- cyrillic characters problem [\#68](https://github.com/cmderdev/cmder/issues/68)
- Unable to run in Windows XP if path contains spaces [\#67](https://github.com/cmderdev/cmder/issues/67)
- Path not set correctly on Windows XP [\#66](https://github.com/cmderdev/cmder/issues/66)
- Filenames with special characters e.g. ! are not handled correctly [\#64](https://github.com/cmderdev/cmder/issues/64)
- Clink completion does not work [\#59](https://github.com/cmderdev/cmder/issues/59)
- Git hosts defined in .ssh/config not working in cmder [\#58](https://github.com/cmderdev/cmder/issues/58)
- Setting cmder startup directory. [\#57](https://github.com/cmderdev/cmder/issues/57)
- cmder doesn't work with gvim [\#55](https://github.com/cmderdev/cmder/issues/55)
- vendor\msysgit\libexec\git-core dir contains 1.45mb git.exe duplicated 110 times. [\#54](https://github.com/cmderdev/cmder/issues/54)
- "terminal is not fully functional" [\#50](https://github.com/cmderdev/cmder/issues/50)
- Open new tab as Admin by default. [\#49](https://github.com/cmderdev/cmder/issues/49)
- Chinese characters overlapped [\#45](https://github.com/cmderdev/cmder/issues/45)
- `screen irssi`, `mutt` - Cannot find terminfo entry for 'msys'. [\#44](https://github.com/cmderdev/cmder/issues/44)
- ps doesn't work [\#43](https://github.com/cmderdev/cmder/issues/43)
- Pinning Cmder to taskbar doesn't work as expected [\#39](https://github.com/cmderdev/cmder/issues/39)
- Prompt does not work with clink 0.4 [\#35](https://github.com/cmderdev/cmder/issues/35)
- vendor/init.bat fails on paths with spaces [\#28](https://github.com/cmderdev/cmder/issues/28)
- "windows cannot find ...\cmder\vendor/conemu-maximus5/ConEmu.exe" [\#27](https://github.com/cmderdev/cmder/issues/27)
- Issue with SSH and tmux [\#25](https://github.com/cmderdev/cmder/issues/25)
- PWD, VI, VIM commands don't work on windows 7. [\#23](https://github.com/cmderdev/cmder/issues/23)
- Include icon [\#21](https://github.com/cmderdev/cmder/issues/21)
- init.bat failing on Vista x64 [\#19](https://github.com/cmderdev/cmder/issues/19)
- Not possible to write @ on Norwegian keyboard [\#17](https://github.com/cmderdev/cmder/issues/17)
- Weird output when starting cmder [\#16](https://github.com/cmderdev/cmder/issues/16)
- Set a name for the Tab on a task [\#14](https://github.com/cmderdev/cmder/issues/14)
- Git branch name [\#13](https://github.com/cmderdev/cmder/issues/13)
- bin directories not loaded in path [\#12](https://github.com/cmderdev/cmder/issues/12)
- Cmder ssh keys for github [\#11](https://github.com/cmderdev/cmder/issues/11)
- How to use cmder with integration mode [\#10](https://github.com/cmderdev/cmder/issues/10)
- tab manipulation problem [\#9](https://github.com/cmderdev/cmder/issues/9)
- Remove ugly black startup window [\#8](https://github.com/cmderdev/cmder/issues/8)
- Unable to `cd` to another drive [\#6](https://github.com/cmderdev/cmder/issues/6)
- cant change start directory [\#4](https://github.com/cmderdev/cmder/issues/4)
- lalt + arrow left/right not working as a macro hotkey [\#3](https://github.com/cmderdev/cmder/issues/3)
- alt gr + 2 opens new powershell [\#2](https://github.com/cmderdev/cmder/issues/2)
- Gvim preferences are not used in {cmd} [\#1](https://github.com/cmderdev/cmder/issues/1)
**Merged pull requests:**
- Development [\#1169](https://github.com/cmderdev/cmder/pull/1169) ([Stanzilla](https://github.com/Stanzilla))
- Fix typo in init.bat [\#1157](https://github.com/cmderdev/cmder/pull/1157) ([winks](https://github.com/winks))
- Bump clink-completions to 0.3.2 [\#1153](https://github.com/cmderdev/cmder/pull/1153) ([vladimir-kotikov](https://github.com/vladimir-kotikov))
- Fixed 3 typos [\#1143](https://github.com/cmderdev/cmder/pull/1143) ([panzer-planet](https://github.com/panzer-planet))
- Fix for slow startup under certain conditions \(\#1122\) [\#1131](https://github.com/cmderdev/cmder/pull/1131) ([lamarqua](https://github.com/lamarqua))
- Development [\#1127](https://github.com/cmderdev/cmder/pull/1127) ([Stanzilla](https://github.com/Stanzilla))
- fix error when path has a space [\#1126](https://github.com/cmderdev/cmder/pull/1126) ([gucong3000](https://github.com/gucong3000))
- Added closing process in get\_git\_status [\#1101](https://github.com/cmderdev/cmder/pull/1101) ([alexandr-san4ez](https://github.com/alexandr-san4ez))
- Update Readme.md [\#1082](https://github.com/cmderdev/cmder/pull/1082) ([nverno](https://github.com/nverno))
- Fix bash login when $CMDER\_ROOT has spaces [\#1078](https://github.com/cmderdev/cmder/pull/1078) ([orionlee](https://github.com/orionlee))
- Parse the original prompt for cwd and env names [\#1070](https://github.com/cmderdev/cmder/pull/1070) ([janschulz](https://github.com/janschulz))
- Added kill ssh-agent to build.ps1 [\#1042](https://github.com/cmderdev/cmder/pull/1042) ([daxgames](https://github.com/daxgames))
- Development [\#1037](https://github.com/cmderdev/cmder/pull/1037) ([Stanzilla](https://github.com/Stanzilla))
- Minor update in README.md [\#1016](https://github.com/cmderdev/cmder/pull/1016) ([Mansuro](https://github.com/Mansuro))
- Added rainbow icons [\#1014](https://github.com/cmderdev/cmder/pull/1014) ([JoshuaKGoldberg](https://github.com/JoshuaKGoldberg))
- Fix git branch colouring [\#1011](https://github.com/cmderdev/cmder/pull/1011) ([MoFo88](https://github.com/MoFo88))
- Bump clink-completions to 0.3.1 [\#992](https://github.com/cmderdev/cmder/pull/992) ([vladimir-kotikov](https://github.com/vladimir-kotikov))
- Fix git branch name never shown as dirty [\#974](https://github.com/cmderdev/cmder/pull/974) ([janschulz](https://github.com/janschulz))
- Disable history switching behavior of ctrl+tab. Sequential switching. [\#963](https://github.com/cmderdev/cmder/pull/963) ([Jackbennett](https://github.com/Jackbennett))
- Register cmder in the context menu from powershell [\#962](https://github.com/cmderdev/cmder/pull/962) ([Jackbennett](https://github.com/Jackbennett))
- cmd: change the prompt in lua [\#961](https://github.com/cmderdev/cmder/pull/961) ([janschulz](https://github.com/janschulz))
- Custom prompt hooks protected from later overwriting [\#952](https://github.com/cmderdev/cmder/pull/952) ([Jackbennett](https://github.com/Jackbennett))
- Update clink-completions to 0.3.0 [\#946](https://github.com/cmderdev/cmder/pull/946) ([vladimir-kotikov](https://github.com/vladimir-kotikov))
- Added :verbose-output subroutine, made aliases update more functional [\#945](https://github.com/cmderdev/cmder/pull/945) ([daxgames](https://github.com/daxgames))
- fixed git not working in cmder cmd session and added some comments [\#943](https://github.com/cmderdev/cmder/pull/943) ([daxgames](https://github.com/daxgames))
- More variable quoting in init.bat [\#941](https://github.com/cmderdev/cmder/pull/941) ([janschulz](https://github.com/janschulz))
- Add quotes around all variables [\#940](https://github.com/cmderdev/cmder/pull/940) ([janschulz](https://github.com/janschulz))
- Fix missing "\" when building dirpath to psmodules [\#916](https://github.com/cmderdev/cmder/pull/916) ([liftir](https://github.com/liftir))
- upgraded git to 2.8.1 [\#911](https://github.com/cmderdev/cmder/pull/911) ([daxgames](https://github.com/daxgames))
- Added proxy support [\#909](https://github.com/cmderdev/cmder/pull/909) ([daxgames](https://github.com/daxgames))
- fixed - not running user-aliases.cmd if aliases variable is overridde… [\#892](https://github.com/cmderdev/cmder/pull/892) ([daxgames](https://github.com/daxgames))
- Merge latest Development [\#890](https://github.com/cmderdev/cmder/pull/890) ([MartiUK](https://github.com/MartiUK))
- Process profile.d scripts before adding user aliases [\#874](https://github.com/cmderdev/cmder/pull/874) ([daxgames](https://github.com/daxgames))
- Prefer use of first line @echo off vs. @ per line to turn off echo pe… [\#873](https://github.com/cmderdev/cmder/pull/873) ([daxgames](https://github.com/daxgames))
- silenced bash profile.d when profile.d is empty [\#872](https://github.com/cmderdev/cmder/pull/872) ([daxgames](https://github.com/daxgames))
- Various fixes for profile.d support [\#867](https://github.com/cmderdev/cmder/pull/867) ([daxgames](https://github.com/daxgames))
- Revert "Set CMDER\_START to homeprofile" [\#866](https://github.com/cmderdev/cmder/pull/866) ([janschulz](https://github.com/janschulz))
- better git path handling [\#865](https://github.com/cmderdev/cmder/pull/865) ([janschulz](https://github.com/janschulz))
- Enhanced alias.bat to allow file storage path [\#862](https://github.com/cmderdev/cmder/pull/862) ([daxgames](https://github.com/daxgames))
- Fix cmd plugin.d [\#860](https://github.com/cmderdev/cmder/pull/860) ([daxgames](https://github.com/daxgames))
- Added profile.d like support for all supported shells [\#855](https://github.com/cmderdev/cmder/pull/855) ([daxgames](https://github.com/daxgames))
- Typo in Readme.md [\#852](https://github.com/cmderdev/cmder/pull/852) ([janschulz](https://github.com/janschulz))
- Fixed get\_git\_dir\(\) to take submodules into account. Fixes \#833 [\#841](https://github.com/cmderdev/cmder/pull/841) ([gpakosz](https://github.com/gpakosz))
- Add appveyor batch to README [\#837](https://github.com/cmderdev/cmder/pull/837) ([janschulz](https://github.com/janschulz))
- Fixed checkGit\(\) in case of submodules [\#835](https://github.com/cmderdev/cmder/pull/835) ([gpakosz](https://github.com/gpakosz))
- 1.3 Pre-Release Merge [\#831](https://github.com/cmderdev/cmder/pull/831) ([MartiUK](https://github.com/MartiUK))
- Fix build script not exiting on msbuild failure. [\#804](https://github.com/cmderdev/cmder/pull/804) ([MartiUK](https://github.com/MartiUK))
- Set tasks to always use CMDER\_START [\#803](https://github.com/cmderdev/cmder/pull/803) ([MartiUK](https://github.com/MartiUK))
- Make "cmder here" work again [\#798](https://github.com/cmderdev/cmder/pull/798) ([janschulz](https://github.com/janschulz))
- Reorganize how clink settings are loaded [\#794](https://github.com/cmderdev/cmder/pull/794) ([janschulz](https://github.com/janschulz))
- Bump clink to 0.4.6 [\#781](https://github.com/cmderdev/cmder/pull/781) ([vladimir-kotikov](https://github.com/vladimir-kotikov))
- Fix vendor/init.bat when the PATH contains spaces. [\#773](https://github.com/cmderdev/cmder/pull/773) ([glureau](https://github.com/glureau))
- Merge latest development [\#771](https://github.com/cmderdev/cmder/pull/771) ([MartiUK](https://github.com/MartiUK))
- Bump clink-completions to 0.2.2 [\#766](https://github.com/cmderdev/cmder/pull/766) ([vladimir-kotikov](https://github.com/vladimir-kotikov))
- Fix: don't garble the input line for long lines in git projects [\#756](https://github.com/cmderdev/cmder/pull/756) ([janschulz](https://github.com/janschulz))
- README.md Updates [\#746](https://github.com/cmderdev/cmder/pull/746) ([daxgames](https://github.com/daxgames))
- Cmder exinit [\#740](https://github.com/cmderdev/cmder/pull/740) ([daxgames](https://github.com/daxgames))
- added config\user-\* to packignore [\#738](https://github.com/cmderdev/cmder/pull/738) ([daxgames](https://github.com/daxgames))
- Use consistent naming: user-profile.{sh|bat|ps1} [\#737](https://github.com/cmderdev/cmder/pull/737) ([janschulz](https://github.com/janschulz))
- More config [\#736](https://github.com/cmderdev/cmder/pull/736) ([janschulz](https://github.com/janschulz))
- Do not overwrite aliases on update [\#735](https://github.com/cmderdev/cmder/pull/735) ([janschulz](https://github.com/janschulz))
- Added check for git install path in init.bat. [\#734](https://github.com/cmderdev/cmder/pull/734) ([chase-miller](https://github.com/chase-miller))
- Fix icons [\#731](https://github.com/cmderdev/cmder/pull/731) ([daxgames](https://github.com/daxgames))
- Fixed - Powershell vim/vim alias opening a new tab when editing a file [\#729](https://github.com/cmderdev/cmder/pull/729) ([daxgames](https://github.com/daxgames))
- Added vi/vim aliases and fixed powershell startup errors [\#726](https://github.com/cmderdev/cmder/pull/726) ([daxgames](https://github.com/daxgames))
- Release 1.3 [\#723](https://github.com/cmderdev/cmder/pull/723) ([MartiUK](https://github.com/MartiUK))
- Update to conemu 151119 [\#722](https://github.com/cmderdev/cmder/pull/722) ([MartiUK](https://github.com/MartiUK))
- Disable appveyor test search [\#720](https://github.com/cmderdev/cmder/pull/720) ([MartiUK](https://github.com/MartiUK))
- Fix gitter webhook [\#719](https://github.com/cmderdev/cmder/pull/719) ([MartiUK](https://github.com/MartiUK))
- Publish appveyor artefacts [\#718](https://github.com/cmderdev/cmder/pull/718) ([MartiUK](https://github.com/MartiUK))
- add bundled vim to path [\#705](https://github.com/cmderdev/cmder/pull/705) ([wenzowski](https://github.com/wenzowski))
- Fix batch files [\#698](https://github.com/cmderdev/cmder/pull/698) ([daxgames](https://github.com/daxgames))
- Speed up git prompt filtering [\#697](https://github.com/cmderdev/cmder/pull/697) ([vladimir-kotikov](https://github.com/vladimir-kotikov))
- Upgrade clink-completions to 0.2.1 [\#676](https://github.com/cmderdev/cmder/pull/676) ([vladimir-kotikov](https://github.com/vladimir-kotikov))
- Enable the '/single' switch \(\#577\) [\#673](https://github.com/cmderdev/cmder/pull/673) ([DoCode](https://github.com/DoCode))
- Fixed problem with Invoke-Expression [\#667](https://github.com/cmderdev/cmder/pull/667) ([Pireax](https://github.com/Pireax))
- Add user startup file for powershell [\#666](https://github.com/cmderdev/cmder/pull/666) ([Pireax](https://github.com/Pireax))
- Build from behind proxy & appveyor [\#665](https://github.com/cmderdev/cmder/pull/665) ([MartiUK](https://github.com/MartiUK))
- Fix init.bat generation [\#663](https://github.com/cmderdev/cmder/pull/663) ([janschulz](https://github.com/janschulz))
- Upgrade clink-completions to 0.2.0 [\#653](https://github.com/cmderdev/cmder/pull/653) ([vladimir-kotikov](https://github.com/vladimir-kotikov))
- Make wording clearer [\#652](https://github.com/cmderdev/cmder/pull/652) ([jkingsman](https://github.com/jkingsman))
- fix typos and better phrasing [\#651](https://github.com/cmderdev/cmder/pull/651) ([jkingsman](https://github.com/jkingsman))
- Revert 8b8f98c [\#634](https://github.com/cmderdev/cmder/pull/634) ([Stanzilla](https://github.com/Stanzilla))
- Update clink to 0.4.5 [\#619](https://github.com/cmderdev/cmder/pull/619) ([Stanzilla](https://github.com/Stanzilla))
- Add a user startup file which can be modified [\#612](https://github.com/cmderdev/cmder/pull/612) ([janschulz](https://github.com/janschulz))
- Update README.md [\#606](https://github.com/cmderdev/cmder/pull/606) ([pyprism](https://github.com/pyprism))
- Converting msysgit support to git-for-windows support. [\#605](https://github.com/cmderdev/cmder/pull/605) ([Stanzilla](https://github.com/Stanzilla))
- :arrow\_up: ConEmu@150816 [\#601](https://github.com/cmderdev/cmder/pull/601) ([Stanzilla](https://github.com/Stanzilla))
- Use standard path for ConEmu.xml [\#600](https://github.com/cmderdev/cmder/pull/600) ([Maximus5](https://github.com/Maximus5))
- Revert "Run PowerShell as default" [\#585](https://github.com/cmderdev/cmder/pull/585) ([Stanzilla](https://github.com/Stanzilla))
- update VS to 2015 release version and switch to /MT for static linking [\#578](https://github.com/cmderdev/cmder/pull/578) ([Stanzilla](https://github.com/Stanzilla))
- Enhance Path in profile.ps1 [\#575](https://github.com/cmderdev/cmder/pull/575) ([Bobo1239](https://github.com/Bobo1239))
- Fixed: 'Enable-GitColors is Obsolete...' warning [\#569](https://github.com/cmderdev/cmder/pull/569) ([eeree](https://github.com/eeree))
- Update .gitignore [\#548](https://github.com/cmderdev/cmder/pull/548) ([thomgit](https://github.com/thomgit))
- Add `-ExecutionPolicy Bypass` to powershell tasks [\#543](https://github.com/cmderdev/cmder/pull/543) ([malobre](https://github.com/malobre))
- Remove depreciated Enable-GitColors in posh-git [\#517](https://github.com/cmderdev/cmder/pull/517) ([bondz](https://github.com/bondz))
- Fix cleanup script. [\#479](https://github.com/cmderdev/cmder/pull/479) ([MartiUK](https://github.com/MartiUK))
- Fix link to msysgit's site. Google's repo was moved or removed. [\#465](https://github.com/cmderdev/cmder/pull/465) ([TheMolkaPL](https://github.com/TheMolkaPL))
- Update sources.json [\#451](https://github.com/cmderdev/cmder/pull/451) ([MartiUK](https://github.com/MartiUK))
- Merge development into master for 1.2 [\#450](https://github.com/cmderdev/cmder/pull/450) ([MartiUK](https://github.com/MartiUK))
- Helper function using powershell to register the cmder context menu [\#441](https://github.com/cmderdev/cmder/pull/441) ([Jackbennett](https://github.com/Jackbennett))
- git and Posh-git check [\#440](https://github.com/cmderdev/cmder/pull/440) ([Jackbennett](https://github.com/Jackbennett))
- Improves performance of prompt filtering [\#438](https://github.com/cmderdev/cmder/pull/438) ([vladimir-kotikov](https://github.com/vladimir-kotikov))
- Preview PR for including external completions into Cmder [\#434](https://github.com/cmderdev/cmder/pull/434) ([vladimir-kotikov](https://github.com/vladimir-kotikov))
- Revert new line from commit dc834cc28f [\#432](https://github.com/cmderdev/cmder/pull/432) ([Jackbennett](https://github.com/Jackbennett))
- Leverage the Module Autoload path and save doing it ourselves. [\#431](https://github.com/cmderdev/cmder/pull/431) ([Jackbennett](https://github.com/Jackbennett))
- Adds support for PS 4.0 native hash command to remove a dependency [\#430](https://github.com/cmderdev/cmder/pull/430) ([Jackbennett](https://github.com/Jackbennett))
- Fix build script removing a trailing comma. Download into a temp folder. [\#429](https://github.com/cmderdev/cmder/pull/429) ([Jackbennett](https://github.com/Jackbennett))
- Update clink url [\#425](https://github.com/cmderdev/cmder/pull/425) ([danneu](https://github.com/danneu))
- Added git shell task. [\#422](https://github.com/cmderdev/cmder/pull/422) ([ragekit](https://github.com/ragekit))
- Public site docs update matching the repo readme [\#411](https://github.com/cmderdev/cmder/pull/411) ([Jackbennett](https://github.com/Jackbennett))
- Install steps clarity [\#410](https://github.com/cmderdev/cmder/pull/410) ([Jackbennett](https://github.com/Jackbennett))
- Update Conemu \<preview release\>, update clink 4.4 [\#407](https://github.com/cmderdev/cmder/pull/407) ([Jackbennett](https://github.com/Jackbennett))
- Use a -Full parameter to download all sources rather than the minimum [\#406](https://github.com/cmderdev/cmder/pull/406) ([Jackbennett](https://github.com/Jackbennett))
- Adding mercuial prompt [\#401](https://github.com/cmderdev/cmder/pull/401) ([utek](https://github.com/utek))
- Handle quoted paths [\#398](https://github.com/cmderdev/cmder/pull/398) ([mikesigs](https://github.com/mikesigs))
- Add a Gitter chat badge to README.md [\#390](https://github.com/cmderdev/cmder/pull/390) ([gitter-badger](https://github.com/gitter-badger))
- Support UTF-8 file list [\#378](https://github.com/cmderdev/cmder/pull/378) ([asika32764](https://github.com/asika32764))
- Updated vendor references [\#374](https://github.com/cmderdev/cmder/pull/374) ([CumpsD](https://github.com/CumpsD))
- Prefer user installed git over cmder one. [\#364](https://github.com/cmderdev/cmder/pull/364) ([narnaud](https://github.com/narnaud))
- Update clink to latest \(0.4.3\) version [\#362](https://github.com/cmderdev/cmder/pull/362) ([vladimir-kotikov](https://github.com/vladimir-kotikov))
- Rework `alias` command to not to use external tools [\#358](https://github.com/cmderdev/cmder/pull/358) ([vladimir-kotikov](https://github.com/vladimir-kotikov))
- Updating to msysgit 1.9.5 [\#353](https://github.com/cmderdev/cmder/pull/353) ([Celeo](https://github.com/Celeo))
- Adding script to enable SSH-agent \#193 [\#352](https://github.com/cmderdev/cmder/pull/352) ([ogrim](https://github.com/ogrim))
- Docs update for issue \#319 [\#337](https://github.com/cmderdev/cmder/pull/337) ([Jackbennett](https://github.com/Jackbennett))
- changes copied from PR\#256 [\#326](https://github.com/cmderdev/cmder/pull/326) ([kohenkatz](https://github.com/kohenkatz))
- Border less window mode [\#324](https://github.com/cmderdev/cmder/pull/324) ([cgrail](https://github.com/cgrail))
- Update alias.bat to show an existing alias [\#314](https://github.com/cmderdev/cmder/pull/314) ([glucas](https://github.com/glucas))
- Add an unalias command [\#313](https://github.com/cmderdev/cmder/pull/313) ([glucas](https://github.com/glucas))
- Revert "Add single mode support." [\#312](https://github.com/cmderdev/cmder/pull/312) ([MartiUK](https://github.com/MartiUK))
- FIX CMDER\_ROOT for admin launch [\#311](https://github.com/cmderdev/cmder/pull/311) ([sescandell](https://github.com/sescandell))
- Lambda color in powershell was changed to DarkGray [\#308](https://github.com/cmderdev/cmder/pull/308) ([SheGe](https://github.com/SheGe))
- Add option to reload aliases from file [\#304](https://github.com/cmderdev/cmder/pull/304) ([glucas](https://github.com/glucas))
- Clean aliases script [\#300](https://github.com/cmderdev/cmder/pull/300) ([melku](https://github.com/melku))
- Adding history alias [\#299](https://github.com/cmderdev/cmder/pull/299) ([robgithub](https://github.com/robgithub))
- Fixes the ambiguity about notice and parameter [\#298](https://github.com/cmderdev/cmder/pull/298) ([LeoColomb](https://github.com/LeoColomb))
- Fixed small issue in README [\#296](https://github.com/cmderdev/cmder/pull/296) ([brunowego](https://github.com/brunowego))
- Fixes small Powershell' loader issues [\#273](https://github.com/cmderdev/cmder/pull/273) ([LeoColomb](https://github.com/LeoColomb))
- Update Dev Branch [\#272](https://github.com/cmderdev/cmder/pull/272) ([MartiUK](https://github.com/MartiUK))
- Add custom loader for Powershell & improve its implementation [\#271](https://github.com/cmderdev/cmder/pull/271) ([LeoColomb](https://github.com/LeoColomb))
- Add single mode support. [\#256](https://github.com/cmderdev/cmder/pull/256) ([TheCjw](https://github.com/TheCjw))
- Revert "Start in the HOME folder." [\#253](https://github.com/cmderdev/cmder/pull/253) ([MartiUK](https://github.com/MartiUK))
- Ensure-Exists is necessary for build.ps1, add it back. [\#249](https://github.com/cmderdev/cmder/pull/249) ([narnaud](https://github.com/narnaud))
- Fix clink version [\#244](https://github.com/cmderdev/cmder/pull/244) ([narnaud](https://github.com/narnaud))
- Start in the HOME folder. [\#243](https://github.com/cmderdev/cmder/pull/243) ([narnaud](https://github.com/narnaud))
- The latest msysgit comes with vim 7.4. [\#241](https://github.com/cmderdev/cmder/pull/241) ([narnaud](https://github.com/narnaud))
- Bump versions [\#208](https://github.com/cmderdev/cmder/pull/208) ([MartiUK](https://github.com/MartiUK))
- New section for user help with an integration feature of Cmder. [\#199](https://github.com/cmderdev/cmder/pull/199) ([Jackbennett](https://github.com/Jackbennett))
- Fix typos [\#198](https://github.com/cmderdev/cmder/pull/198) ([mtsk](https://github.com/mtsk))
- Update Clink URL [\#180](https://github.com/cmderdev/cmder/pull/180) ([CoolOppo](https://github.com/CoolOppo))
- Try to find 7-zip if it's installed before an error. [\#177](https://github.com/cmderdev/cmder/pull/177) ([Jackbennett](https://github.com/Jackbennett))
- Update clink hyperlink [\#173](https://github.com/cmderdev/cmder/pull/173) ([gmsantos](https://github.com/gmsantos))
- Typo fix [\#172](https://github.com/cmderdev/cmder/pull/172) ([robinbijlani](https://github.com/robinbijlani))
- Only cd to $HOME if started in CMDER\_ROOT. [\#167](https://github.com/cmderdev/cmder/pull/167) ([schlamar](https://github.com/schlamar))
- Find cmder files when running as Administrator. [\#166](https://github.com/cmderdev/cmder/pull/166) ([glucas](https://github.com/glucas))
- Allow for existing HOME variable [\#165](https://github.com/cmderdev/cmder/pull/165) ([glucas](https://github.com/glucas))
- Minor changes for \#152 [\#162](https://github.com/cmderdev/cmder/pull/162) ([Jackbennett](https://github.com/Jackbennett))
- Add registration for right-click on folder item; Add context-menu icon [\#159](https://github.com/cmderdev/cmder/pull/159) ([kohenkatz](https://github.com/kohenkatz))
- Getting the build script to a working state [\#157](https://github.com/cmderdev/cmder/pull/157) ([Jackbennett](https://github.com/Jackbennett))
- Update index.html [\#145](https://github.com/cmderdev/cmder/pull/145) ([CoolOppo](https://github.com/CoolOppo))
- Update fast new tab shortcut in gh-pages/index.html [\#131](https://github.com/cmderdev/cmder/pull/131) ([sopel](https://github.com/sopel))
- Update links on the webpage to latest version. [\#111](https://github.com/cmderdev/cmder/pull/111) ([sc0tt](https://github.com/sc0tt))
- Update fast new tab shortcut in README. [\#98](https://github.com/cmderdev/cmder/pull/98) ([jcheng31](https://github.com/jcheng31))
- Make application use Cmder icon [\#88](https://github.com/cmderdev/cmder/pull/88) ([sc0tt](https://github.com/sc0tt))
- Git exe Cleanup. [\#85](https://github.com/cmderdev/cmder/pull/85) ([MartiUK](https://github.com/MartiUK))
- Fixed errors and grammar in README files. [\#78](https://github.com/cmderdev/cmder/pull/78) ([sicil1ano](https://github.com/sicil1ano))
- Fixed a couple tiny typos in the readme [\#77](https://github.com/cmderdev/cmder/pull/77) ([jdsumsion](https://github.com/jdsumsion))
- Change TERM from msys to cygwin. [\#75](https://github.com/cmderdev/cmder/pull/75) ([brkc](https://github.com/brkc))
- Removed "C:\Users\bliker" reference in config/ConEmu.xml [\#74](https://github.com/cmderdev/cmder/pull/74) ([MartiUK](https://github.com/MartiUK))
- Updated links on gh-pages to newer release of cmder [\#70](https://github.com/cmderdev/cmder/pull/70) ([MartiUK](https://github.com/MartiUK))
- Add launcher [\#62](https://github.com/cmderdev/cmder/pull/62) ([austinwagner](https://github.com/austinwagner))
- Remove wget dependency and verify existence of 7z.exe in build script [\#60](https://github.com/cmderdev/cmder/pull/60) ([austinwagner](https://github.com/austinwagner))
- Allow use of Vim from msysgit. [\#51](https://github.com/cmderdev/cmder/pull/51) ([MartiUK](https://github.com/MartiUK))
- Fix line ending handling if autocrlf is false. [\#34](https://github.com/cmderdev/cmder/pull/34) ([schlamar](https://github.com/schlamar))
- Fix spelling in init.bat [\#32](https://github.com/cmderdev/cmder/pull/32) ([Shoozza](https://github.com/Shoozza))
- Added minimal validation and usage help. [\#26](https://github.com/cmderdev/cmder/pull/26) ([Vivix](https://github.com/Vivix))
- Fix spelling [\#22](https://github.com/cmderdev/cmder/pull/22) ([Shoozza](https://github.com/Shoozza))
- Proofreading index.html [\#20](https://github.com/cmderdev/cmder/pull/20) ([manolomartinez](https://github.com/manolomartinez))
- Fixed grammar [\#18](https://github.com/cmderdev/cmder/pull/18) ([tonylau](https://github.com/tonylau))
- Fixed issue when rootDir contains spaces. [\#15](https://github.com/cmderdev/cmder/pull/15) ([jyggen](https://github.com/jyggen))
- Another typo. Fixed link to msysgit. [\#7](https://github.com/cmderdev/cmder/pull/7) ([BeingTomGreen](https://github.com/BeingTomGreen))
- minor typo fix [\#5](https://github.com/cmderdev/cmder/pull/5) ([BeingTomGreen](https://github.com/BeingTomGreen))
\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*

View File

@ -1,7 +1,7 @@
@echo off
SET CMDER_ROOT=%~dp0
:: Remove trailing '\'
:: Remove Trailing '\'
@if "%CMDER_ROOT:~-1%" == "\" SET CMDER_ROOT=%CMDER_ROOT:~0,-1%
if exist "%~1" (

View File

@ -1,8 +1,6 @@
# Cmder
[![Join the chat at https://gitter.im/cmderdev/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)
![Build Status](https://ci.appveyor.com/api/projects/status/32r7s2skrgm9ubva?retina=true)
[![Join the chat at https://gitter.im/cmderdev/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) [![Build Status](https://ci.appveyor.com/api/projects/status/github/cmderdev/cmder?branch=master&svg=true)](https://ci.appveyor.com/project/MartiUK/cmder)
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.
@ -15,9 +13,9 @@ The main advantage of Cmder is portability. It is designed to be totally self-co
## Installation
1. Download the [latest release](https://github.com/cmderdev/cmder/releases/)
2. Extract
3. (optional) Place your own executable files into the `bin` folder to be injected into your PATH.
4. Run Cmder
2. Extract the archive
3. (optional) Place your own executable files into the `bin` folder to be injected into your PATH. (nb: This path should not be `C:\Program Files` or anywhere else that would require Administrator access for modifying configuration files)
4. Run Cmder.exe
## Integration
@ -40,11 +38,14 @@ In a file explorer window right click in or on a directory to see "Cmder Here" i
* <kbd>Ctrl</kbd> + <kbd>W</kbd> : Close tab
* <kbd>Ctrl</kbd> + <kbd>D</kbd> : Close tab (if pressed on empty command)
* <kbd>Shift</kbd> + <kbd>Alt</kbd> + <kbd>#Number</kbd> : Fast new tab: <kbd>1</kbd> - CMD, <kbd>2</kbd> - PowerShell
* <kbd>Ctrl</kbd> + <kbd>Tab</kbd> : Switch to next tab
* <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Tab</kbd> : Switch to previous tab
* <kbd>Ctrl</kbd> + <kbd>#Number</kbd> : Switch to tab #Number
* <kbd>Alt</kbd> + <kbd>Enter</kbd>: Fullscreen
### Shell
* <kbd>Shift</kbd> + <kbd>Up</kbd> : Traverse up in directory structure (lovely feature!)
* <kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>U</kbd> : Traverse up in directory structure (lovely feature!)
* <kbd>End</kbd>, <kbd>Home</kbd>, <kbd>Ctrl</kbd> : Traversing text with as usual on Windows
* <kbd>Ctrl</kbd> + <kbd>R</kbd> : History search
* <kbd>Shift</kbd> + Mouse : Select and copy text from buffer
@ -60,18 +61,18 @@ You can open multiple tabs each containing one of the following shells:
|----|-----|-----------|
|Cmder|cmd.exe|Windows 'cmd.exe' shell enhanced with Git, Git aware prompt, Clink(GNU Readline), and Aliases.|
|Cmder as Admin|cmd.exe|Administrative Windows 'cmd.exe' Cmder shell.|
|Powershell|powershell.exe|Windows Powershell enhanced with Git and Git aware prompt .|
|Powershell as Admin|powershell.exe|Administrative Windows 'powerhell.exe' Cmder shell.|
|PowerShell|powershell.exe|Windows PowerShell enhanced with Git and Git aware prompt .|
|PowerShell as Admin|powershell.exe|Administrative Windows 'powershell.exe' Cmder shell.|
|Bash|bash.exe|Unix/Linux like bash shell running on Windows.|
|Bash as Admin|bash.exe|Administrative Unix/Linux like bash shell running on Windows.|
|Mintty|bash.exe|Unix/Linux like bash shell running on Windows. See below for Mintty configuration differences|
|Mintty as Admin|bash.exe|Administrative Unix/Linux like bash shell running on Windows. See below for Mintty configuration differences|
Cmder, Powershell, and Bash tabs all run on top of the Windows Console API and work as you might expect in Cmder with access to use ConEmu's color schemes, key bindings and other settings defined in the ConEmu Settings dialog.
Cmder, PowerShell, and Bash tabs all run on top of the Windows Console API and work as you might expect in Cmder with access to use ConEmu's color schemes, key bindings and other settings defined in the ConEmu Settings dialog.
Mintty tabs use a program called 'mintty' as the terminal that is not based on the Windows Console API so some differences in functionality are normal, as a result mintty specific config is done via the '[%USERPROFILE%|$HOME]/.minttyrc' file.
Mintty differs from the other tabs in that it supports xterm/xterm-256color TERM types, and does not work with ConEmu settings like color schemes and key bindings. For more on Mintty and its config click [here](https://code.google.com/p/mintty/).
Mintty differs from the other tabs in that it supports xterm/xterm-256color TERM types, and does not work with ConEmu settings like color schemes and key bindings. For more on Mintty and its config click [here](https://github.com/mintty/mintty).
An example of setting Cmder portable terminal colors for mintty:
@ -90,10 +91,10 @@ User specific configuration is possible using the cmder specific shell config fi
|Shell|Cmder Portable User Config|
| ------------- |:-------------:|
|Cmder|%CMDER_ROOT%\config\user-profile.cmd|
|Powershell|$ENV:CMDER_ROOT\config\user-profile.ps1|
|PowerShell|$ENV:CMDER_ROOT\config\user-profile.ps1|
|Bash/Mintty|$CMDER_ROOT/config/user-profile.sh|
Note: Bash and Mintty sessions will also source the '$HOME/.bashrc' file it it exists after it sources '$CMDER_ROOT/config/user-profile.sh'.
Note: Bash and Mintty sessions will also source the '$HOME/.bashrc' file if it exists after it sources '$CMDER_ROOT/config/user-profile.sh'.
### Linux like 'profile.d' support for all supported shell types.
You can write *.cmd|*.bat, *.ps1, and *.sh scripts and just drop them in the %CMDER_ROOT%\config\profile.d folder to add startup config to Cmder.
@ -101,7 +102,7 @@ You can write *.cmd|*.bat, *.ps1, and *.sh scripts and just drop them in the %CM
|Shell|Cmder 'Profile.d' Scripts|
| ------------- |:-------------:|
|Cmder|%CMDER_ROOT%\config\profile.d\\*.bat and *.cmd|
|Powershell|$ENV:CMDER_ROOT\config\profile.d\\*.ps1|
|PowerShell|$ENV:CMDER_ROOT\config\profile.d\\*.ps1|
|Bash/Mintty|$CMDER_ROOT/config/profile.d/*.sh|
@ -111,15 +112,38 @@ You can define simple aliases for `cmd.exe` sessions with a command like `alias
Cmd.exe aliases can also be more complex. See: [DOSKEY.EXE documentation](http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/doskey.mspx?mfr=true) for additional details on complex aliases/macros for 'cmd.exe'
Aliases defined using the `alias.bat` command will automatically be saved in the `%CMDER_ROOT%\config\aliases` file
Aliases defined using the `alias.bat` command will automatically be saved in the `%CMDER_ROOT%\config\user-aliases.cmd` file
To make an alias and/or any other profile settings permanent add it to one of the following:
Note: These are loaded in this order by '$CMDER_ROOT/vendor/init.bat'. Anyhing stored in '%CMDER_ROOT%' will be a portable setting and will follow cmder to another machine.
* '%CMDER_ROOT%\\config\\profile.d\\\*.cmd and \*.bat'
* '%CMDER_ROOT%\\config\\user-aliases.cmd'
* '%CMDER_ROOT%\\config\\user-profile.cmd'
#### Bash.exe|Mintty.exe Aliases
Bash shells support simple and complex aliases with optional parameters natively so they work a little different. Typing `alias name=command` will create an alias only for the current running session. To make an alias permanent add it to either your `$CMDER_ROOT/config/user-profile.sh` or your `$HOME/.bashrc`.
Bash shells support simple and complex aliases with optional parameters natively so they work a little different. Typing `alias name=command` will create an alias only for the current running session.
If you add bash aliases to `$CMDER_ROOT/config/user-profile.sh` they will portable and follow your Cmder folder if you copy it to another machine. `$HOME/.bashrc` defined aliases are not portable.
To make an alias and/or any other profile settings permanent add it to one of the following:
#### Powershell.exe Aliases
Powershell has native simple alias support, for example `[new-alias | set-alias] alias command`, so complex aliases with optional parameters are not supported in Powershell sessions. Type `get-help [new-alias|set-alias] -full` for help on Powershell aliases.
Note: These are loaded in this order by '$CMDER_ROOT/vendor/git-for-windows/etc/profile.d/cmder.sh'. Anyhing stored in '$CMDER_ROOT' will be a portable setting and will follow cmder to another machine.
* '$CMDER_ROOT/config/profile.d/*.sh'
* '$CMDER_ROOT/config/user-profile.sh'
* '$HOME/.bashrc'
If you add bash aliases to `$CMDER_ROOT/config/user-profile.sh` they will be portable and follow your Cmder folder if you copy it to another machine. `$HOME/.bashrc` defined aliases are not portable.
#### PowerShell.exe Aliases
PowerShell has native simple alias support, for example `[new-alias | set-alias] alias command`, so complex aliases with optional parameters are not supported in PowerShell sessions. Type `get-help [new-alias|set-alias] -full` for help on PowerShell aliases.
To make an alias and/or any other profile settings permanent add it to one of the following:
Note: These are loaded in this order by '$ENV:CMDER_ROOT\\vendor\\user-profile.ps1'. Anyhing stored in '$ENV:CMDER_ROOT' will be a portable setting and will follow cmder to another machine.
* '$ENV:CMDER_ROOT\\config\\profile.d\\\*.ps1'
* '$ENV:CMDER_ROOT\\config\\user-profile.ps1'
### SSH Agent
@ -129,11 +153,11 @@ If you want to run SSH agent on startup, include the line `@call "%GIT_INSTALL_R
### Using external Cygwin/Babun, MSys2, or Git for Windows SDK with Cmder.
1. Setup a new task by pressing '<kbd>Win</kbd> +<kbd>Alt</kbd> + <kbd>T</kbd>'
1. Setup a new task by pressing '<kbd>Win</kbd> +<kbd>Alt</kbd> + <kbd>T</kbd>'.
1. Click the '+' button to add a task.
1. Name the new task in the top text box.
1. Provide task parameters, this is optional.
1. Add ```cmd /c "[path_to_external_env]\bin\bash --login -i" -new_console:d:%USERPROFILE%``` to the Commands text box.
1. Add ```cmd /c "[path_to_external_env]\bin\bash --login -i" -new_console:d:%USERPROFILE%``` to the `Commands` text box.
Recommended Optional Steps:
@ -152,15 +176,11 @@ Uncomment and edit the below line in the script to use Cmder config even when la
# CMDER_ROOT=${USERPROFILE}/cmder # This is not required if launched from Cmder.
```
## Todo
## Current development builds
1. Check for clink and git before injecting them (Sort of done)
You can download builds of the current development branch by going to AppVeyor via the following link:
## Current development branch
You can download builds of the current development branch by going to Appveyor via the following link:
[![AppVeyor](https://ci.appveyor.com/api/projects/status/github/cmderdev/cmder?svg=True)](https://ci.appveyor.com/project/MartiUK/cmder/branch/development/artifacts)
[![AppVeyor](https://ci.appveyor.com/api/projects/status/github/cmderdev/cmder?svg=True)](https://ci.appveyor.com/project/MartiUK/cmder/branch/master/artifacts)
## License
@ -168,7 +188,7 @@ All software included is bundled with own license
The MIT License (MIT)
Copyright (c) 2015 Samuel Vasko
Copyright (c) 2016 Samuel Vasko
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -15,7 +15,7 @@ branches:
#---------------------------------#
# Operating system (build VM template)
os: Windows Server 2012 R2
os: Visual Studio 2017
#---------------------------------#
# build configuration #
@ -44,6 +44,9 @@ artifacts:
- path: build\cmder_mini.zip
name: cmdermini
- path: build\hashes.txt
name: hashes
#---------------------------------#
# notifications #
#---------------------------------#

View File

@ -1,64 +1,131 @@
@echo off
set ALIASES=%CMDER_ROOT%\config\aliases
setlocal
:: handle quotes within command definition, e.g. quoted long file names
set _x="%*"
set _x=%_x:"=%
if "%aliases%" == "" (
set ALIASES=%CMDER_ROOT%\config\user-aliases.cmd
)
setlocal enabledelayedexpansion
if "%~1" == "" 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"] == ["/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
rem #region parseargument
goto parseargument
:do_shift
shift
:parseargument
set currentarg=%~1
if /i "%currentarg%" equ "/f" (
set aliases=%~2
shift
goto :do_shift
) else if /i "%currentarg%" == "/reload" (
goto :p_reload
) else if "%currentarg%" equ "/?" (
goto :p_help
) else if /i "%currentarg%" equ "/d" (
if "%~2" neq "" (
if "%~3" equ "" (
:: /d flag for delete existing alias
call :p_del %~2
shift
goto :eof
)
)
) else if "%currentarg%" neq "" (
if "%~2" equ "" (
:: Show the specified alias
doskey /macros | findstr /b %currentarg%= && exit /b
echo insufficient parameters.
goto :p_help
) else (
:: handle quotes within command definition, e.g. quoted long file names
set _x=%*
)
)
rem #endregion parseargument
if "%aliases%" neq "%CMDER_ROOT%\config\user-aliases.cmd" (
set _x=!_x:/f %aliases% =!
if not exist "%aliases%" (
echo ;= @echo off>"%aliases%"
echo ;= rem Call DOSKEY and use this file as the macrofile>>"%aliases%"
echo ;= %%SystemRoot%%\system32\doskey /listsize=1000 /macrofile=%%0%%>>"%aliases%"
echo ;= rem In batch mode, jump to the end of the file>>"%aliases%"
echo ;= goto:eof>>"%aliases%"
echo ;= Add aliases below here>>"%aliases%"
)
)
:: validate alias
for /f "delims== tokens=1" %%G in ("%_x%") do set alias=%%G
set _temp=%alias: =%
for /f "delims== tokens=1,* usebackq" %%G in (`echo "%_x%"`) do (
set alias_name=%%G
set alias_value=%%H
)
if not ["%_temp%"] == ["%alias%"] (
:: leading quotes added while validating
set alias_name=%alias_name:~1%
:: trailing quotes added while validating
set alias_value=%alias_value:~0,-1%
::remove spaces
set _temp=%alias_name: =%
if not ["%_temp%"] == ["%alias_name%"] (
echo Your alias name can not contain a space
endlocal
goto:eof
exit /b
)
:: replace already defined alias
findstr /b /v /i "%alias%=" "%ALIASES%" >> "%ALIASES%.tmp"
echo %* >> "%ALIASES%.tmp" && type "%ALIASES%.tmp" > "%ALIASES%" & @del /f /q "%ALIASES%.tmp"
findstr /b /v /i "%alias_name%=" "%ALIASES%" >> "%ALIASES%.tmp"
echo %alias_name%=%alias_value% >> "%ALIASES%.tmp" && type "%ALIASES%.tmp" > "%ALIASES%" & @del /f /q "%ALIASES%.tmp"
doskey /macrofile="%ALIASES%"
endlocal
goto:eof
exit /b
:p_del
findstr /b /v /i "%2=" "%ALIASES%" >> "%ALIASES%.tmp"
set del_alias=%~1
findstr /b /v /i "%del_alias%=" "%ALIASES%" >> "%ALIASES%.tmp"
type "%ALIASES%".tmp > "%ALIASES%" & @del /f /q "%ALIASES%.tmp"
doskey /macrofile=%ALIASES%
doskey %del_alias%=
doskey /macrofile="%ALIASES%"
goto:eof
:p_reload
doskey /macrofile="%ALIASES%"
echo Aliases reloaded
goto:eof
exit /b
:p_show
type "%ALIASES%" || echo No aliases found at "%ALIASES%"
goto :eof
doskey /macros|findstr /v /r "^;=" | sort
exit /b
:p_help
echo.Usage:
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. alias [options] [alias=full command]
echo.
echo.Options:
echo.
echo. /d [alias] Delete an [alias].
echo. /f [macrofile] Path to the [macrofile] you want to store the new alias in.
echo. Default: %cmder_root%\config\user-aliases.cmd
echo. /reload Reload the aliases file. Can be used with /f argument.
echo. Default: %cmder_root%\config\user-aliases.cmd
echo.
echo. If alias is called with no parameters, it will display the list of existing aliases.
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. $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. For more information, read DOSKEY/?
exit /b

View File

@ -153,7 +153,7 @@
<value name="ComSpec.UpdateEnv" type="hex" data="00"/>
<value name="ComSpec.EnvAddPath" type="hex" data="01"/>
<value name="ComSpec.EnvAddExePath" type="hex" data="01"/>
<value name="ComSpec.UncPaths" type="hex" data="00"/>
<value name="ComSpec.UncPaths" type="hex" data="01"/>
<value name="ComSpec.Path" type="string" data=""/>
<value name="ConsoleTextSelection" type="hex" data="01"/>
<value name="CTS.AutoCopy" type="hex" data="01"/>
@ -253,7 +253,7 @@
<value name="TabsLocation" type="hex" data="01"/>
<value name="TabSelf" type="hex" data="01"/>
<value name="TabLazy" type="hex" data="01"/>
<value name="TabRecent" type="hex" data="01"/>
<value name="TabRecent" type="hex" data="00"/>
<value name="TabDblClick" type="dword" data="00000001"/>
<value name="TabsOnTaskBar" type="hex" data="02"/>
<value name="TaskBarOverlay" type="hex" data="01"/>
@ -548,14 +548,14 @@
<value name="GuiArgs" type="string" data=" /icon &quot;%CMDER_ROOT%\icons\cmder.ico&quot;"/>
<value name="Active" type="dword" data="00000000"/>
<value name="Count" type="dword" data="00000001"/>
<value name="Cmd1" type="string" data="*cmd /c &quot;%ConEmuDir%\..\git-for-windows\bin\bash --login -i&quot; -new_console:d:%USERPROFILE%"/>
<value name="Cmd1" type="string" data="*cmd /c &quot;%ConEmuDir%\..\git-for-windows\bin\bash&quot; --login -i -new_console:d:%USERPROFILE%"/>
</key>
<key name="Task8" modified="2015-11-24 14:49:10" build="151119">
<value name="Name" type="string" data="{bash::bash}"/>
<value name="Flags" type="dword" data="00000000"/>
<value name="Hotkey" type="dword" data="00000000"/>
<value name="GuiArgs" type="string" data=" /icon &quot;%CMDER_ROOT%\icons\cmder.ico&quot;"/>
<value name="Cmd1" type="string" data="cmd /c &quot;%ConEmuDir%\..\git-for-windows\bin\bash --login -i&quot; -new_console:d:%USERPROFILE%"/>
<value name="Cmd1" type="string" data="cmd /c &quot;%ConEmuDir%\..\git-for-windows\bin\bash&quot; --login -i -new_console:d:%USERPROFILE%"/>
<value name="Active" type="dword" data="00000000"/>
<value name="Count" type="dword" data="00000001"/>
</key>

View File

@ -3,12 +3,12 @@
All config files must be in this folder. If there is no option to set this folder
directly, it has to be hardlinked.
* `aliases`: aliases in cmd; called form vendor\init.bat; autocreated from
`vendor\aliases.example`.
* `*.lua`: clink completitions and prompt filters; called from vendor\cmder.lua after all
other prompt filter and clink completitons are initialized; add your own.
* `user_profile.{sh|bat|ps1}`: startup files for bash|cmd|powershell tasks; called from their
respective startup scripts in `vendor\`; autocreated on first start of such a task
* `.history`: the current commandline history; autoupdated on close
* `settings`: settings for readline; overwritten on update
* `ConEmu.xml`: settings from ConEmu (=the UI of cmder -> Preferences); overwritten on update
* `user-aliases.cmd`: aliases in cmd; called from vendor\init.bat; autocreated from
`vendor\user-aliases.cmd.example`.
* `*.lua`: clink completions and prompt filters; autoloaded after all
prompt filter and clink completions are initialized; add your own.
* `user-profile.{sh|cmd|ps1}`: startup files for bash|cmd|powershell tasks; called from their
respective startup scripts in `vendor\`; autocreated on first start of such a task.
* `.history`: the current commandline history; autoupdated on close.
* `settings`: settings for readline; overwritten on update.
* `ConEmu.xml`: settings from ConEmu (=the UI of cmder -> Preferences); overwritten on update.

BIN
icons/cmder_blue.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

BIN
icons/cmder_green.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

BIN
icons/cmder_orange.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

BIN
icons/cmder_purple.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

BIN
icons/cmder_red.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

BIN
icons/cmder_yellow.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

BIN
icons/icon_16_blue.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 B

BIN
icons/icon_16_green.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 264 B

BIN
icons/icon_16_orange.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 B

BIN
icons/icon_16_purple.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 271 B

BIN
icons/icon_16_red.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 257 B

BIN
icons/icon_16_yellow.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 264 B

BIN
icons/icon_256_blue.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
icons/icon_256_green.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
icons/icon_256_orange.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
icons/icon_256_purple.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
icons/icon_256_red.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
icons/icon_256_yellow.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
icons/icon_32_blue.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 371 B

BIN
icons/icon_32_green.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 369 B

BIN
icons/icon_32_orange.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 364 B

BIN
icons/icon_32_purple.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 392 B

BIN
icons/icon_32_red.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 378 B

BIN
icons/icon_32_yellow.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 372 B

BIN
icons/icon_48_blue.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 514 B

BIN
icons/icon_48_green.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 498 B

BIN
icons/icon_48_orange.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 499 B

BIN
icons/icon_48_purple.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 521 B

BIN
icons/icon_48_red.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 501 B

BIN
icons/icon_48_yellow.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 493 B

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@ -19,13 +19,13 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<PlatformToolset>v141_xp</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<PlatformToolset>v141_xp</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>

View File

@ -95,7 +95,7 @@ bool FileExists(const wchar_t * filePath)
return false;
}
void StartCmder(std::wstring path, bool is_single_mode)
void StartCmder(std::wstring path, bool is_single_mode, std::wstring taskName = L"")
{
#if USE_TASKBAR_API
wchar_t appId[MAX_PATH] = { 0 };
@ -103,6 +103,9 @@ void StartCmder(std::wstring path, bool is_single_mode)
wchar_t exeDir[MAX_PATH] = { 0 };
wchar_t icoPath[MAX_PATH] = { 0 };
wchar_t cfgPath[MAX_PATH] = { 0 };
wchar_t backupCfgPath[MAX_PATH] = { 0 };
wchar_t cpuCfgPath[MAX_PATH] = { 0 };
wchar_t userCfgPath[MAX_PATH] = { 0 };
wchar_t oldCfgPath[MAX_PATH] = { 0 };
wchar_t conEmuPath[MAX_PATH] = { 0 };
wchar_t args[MAX_PATH * 2 + 256] = { 0 };
@ -117,21 +120,36 @@ void StartCmder(std::wstring path, bool is_single_mode)
PathCombine(icoPath, exeDir, L"icons\\cmder.ico");
// Check for machine-specific config file.
PathCombine(oldCfgPath, exeDir, L"config\\ConEmu-%COMPUTERNAME%.xml");
ExpandEnvironmentStrings(oldCfgPath, oldCfgPath, sizeof(oldCfgPath) / sizeof(oldCfgPath[0]));
if (!PathFileExists(oldCfgPath)) {
// Check for machine-specific then user config source file.
PathCombine(cpuCfgPath, exeDir, L"config\\ConEmu-%COMPUTERNAME%.xml");
ExpandEnvironmentStrings(cpuCfgPath, cpuCfgPath, sizeof(cpuCfgPath) / sizeof(cpuCfgPath[0]));
PathCombine(userCfgPath, exeDir, L"config\\user-ConEmu.xml");
if (PathFileExists(cpuCfgPath)) {
wcsncpy_s(oldCfgPath, cpuCfgPath, sizeof(cpuCfgPath));
wcsncpy_s(backupCfgPath, cpuCfgPath, sizeof(cpuCfgPath));
}
else if (PathFileExists(userCfgPath)) {
wcsncpy_s(oldCfgPath, userCfgPath,sizeof(userCfgPath));
wcsncpy_s(backupCfgPath, userCfgPath, sizeof(userCfgPath));
}
else {
PathCombine(oldCfgPath, exeDir, L"config\\ConEmu.xml");
wcsncpy_s(backupCfgPath, userCfgPath, sizeof(userCfgPath));
}
// Check for machine-specific config file.
PathCombine(cfgPath, exeDir, L"vendor\\conemu-maximus5\\ConEmu-%COMPUTERNAME%.xml");
ExpandEnvironmentStrings(cfgPath, cfgPath, sizeof(cfgPath) / sizeof(cfgPath[0]));
if (!PathFileExists(cfgPath)) {
PathCombine(cfgPath, exeDir, L"vendor\\conemu-maximus5\\ConEmu.xml");
}
// Set path to vendored ConEmu config file
PathCombine(cfgPath, exeDir, L"vendor\\conemu-maximus5\\ConEmu.xml");
PathCombine(conEmuPath, exeDir, L"vendor\\conemu-maximus5\\ConEmu.exe");
SYSTEM_INFO sysInfo;
GetNativeSystemInfo(&sysInfo);
if (sysInfo.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64) {
PathCombine(conEmuPath, exeDir, L"vendor\\conemu-maximus5\\ConEmu64.exe");
}
else {
PathCombine(conEmuPath, exeDir, L"vendor\\conemu-maximus5\\ConEmu.exe");
}
if (FileExists(oldCfgPath) && !FileExists(cfgPath))
{
@ -144,6 +162,14 @@ void StartCmder(std::wstring path, bool is_single_mode)
exit(1);
}
}
else if (!CopyFile(cfgPath, backupCfgPath, FALSE))
{
MessageBox(NULL,
(GetLastError() == ERROR_ACCESS_DENIED)
? L"Failed to backup ConEmu.xml file to ./config folder!"
: L"Failed to backup ConEmu.xml file to ./config folder!", MB_TITLE, MB_ICONSTOP);
exit(1);
}
if (is_single_mode)
{
@ -154,6 +180,10 @@ void StartCmder(std::wstring path, bool is_single_mode)
swprintf_s(args, L"/Icon \"%s\" /Title Cmder", icoPath);
}
if (!taskName.empty()) {
swprintf_s(args, L"%s /run {%s}", args, taskName.c_str());
}
SetEnvironmentVariable(L"CMDER_ROOT", exeDir);
if (!streqi(path.c_str(), L""))
{
@ -162,8 +192,7 @@ void StartCmder(std::wstring path, bool is_single_mode)
}
}
// Ensure EnvironmentVariables are propagated.
SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0, (LPARAM)"Environment", SMTO_ABORTIFHUNG, 5000, NULL);
SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0, (LPARAM) L"Environment", SMTO_ABORTIFHUNG, 5000, NULL); // For Windows >= 8
STARTUPINFO si = { 0 };
si.cb = sizeof(STARTUPINFO);
@ -171,12 +200,15 @@ void StartCmder(std::wstring path, bool is_single_mode)
si.lpTitle = appId;
si.dwFlags = STARTF_TITLEISAPPID;
#endif
PROCESS_INFORMATION pi;
if (!CreateProcess(conEmuPath, args, NULL, NULL, false, 0, NULL, NULL, &si, &pi)) {
MessageBox(NULL, _T("Unable to create the ConEmu Process!"), _T("Error"), MB_OK);
return;
}
LRESULT lr = SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0, (LPARAM)"Environment", SMTO_ABORTIFHUNG | SMTO_NOTIMEOUTIFNOTHUNG, 5000, NULL);
lr = SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0, (LPARAM) L"Environment", SMTO_ABORTIFHUNG | SMTO_NOTIMEOUTIFNOTHUNG, 5000, NULL); // For Windows >= 8
}
bool IsUserOnly(std::wstring opt)
@ -295,6 +327,10 @@ int APIENTRY _tWinMain(_In_ HINSTANCE hInstance,
{
StartCmder(opt.second, true);
}
else if (streqi(opt.first.c_str(), L"/TASK"))
{
StartCmder(L"", false, opt.second);
}
else if (streqi(opt.first.c_str(), L"/REGISTER"))
{
RegisterShellMenu(opt.second, SHELL_MENU_REGISTRY_PATH_BACKGROUND);
@ -307,7 +343,7 @@ int APIENTRY _tWinMain(_In_ HINSTANCE hInstance,
}
else
{
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);
MessageBox(NULL, L"Unrecognized parameter.\n\nValid options:\n /START <path>\n /SINGLE <path>\n /TASK <name>\n /REGISTER [USER/ALL]\n /UNREGISTER [USER/ALL]", MB_TITLE, MB_OK);
return 1;
}

View File

@ -9,13 +9,14 @@ config\.history
packignore
icons\Thumbs.db
icons\cmder_icon.psd
icons\icon_16.png
icons\icon_32.png
icons\icon_48.png
icons\icon_256.png
icons\icon_16*.png
icons\icon_32*.png
icons\icon_48*.png
icons\icon_256*.png
Cmder.bat
vendor\tmp
appveyor.yml
vendor\cmder.sh
vendor\git-prompt.sh
config\user-*
.github_changelog_generator

View File

@ -53,6 +53,10 @@ Param(
[switch]$Compile
)
# Get the scripts and cmder root dirs we are building in.
$ScriptRoot = Split-Path -Parent -Path $MyInvocation.MyCommand.Definition
$cmder_root = $ScriptRoot.replace("\scripts","")
# Dot source util functions into this scope
. ".\utils.ps1"
$ErrorActionPreference = "Stop"
@ -75,6 +79,14 @@ if ($config -ne "") {
} else { $ConEmuXml = "" }
} else { $ConEmuXml = "" }
# Kill ssh-agent.exe if it is running from the $env:cmder_root we are building
foreach ($ssh_agent in $(get-process ssh-agent -erroraction silentlycontinue)) {
if ([string]$($ssh_agent.path) -match [string]$cmder_root.replace('\','\\')) {
write-verbose $("Stopping " + $ssh_agent.path + "!")
stop-process $ssh_agent.id
}
}
$vend = $pwd
foreach ($s in $sources) {
Write-Verbose "Getting $($s.name) from URL $($s.url)"

View File

@ -53,6 +53,6 @@ $version = Invoke-Expression "git describe --abbrev=0 --tags"
foreach ($t in $targets.GetEnumerator()) {
Create-Archive $cmderRoot "$saveTo\$($t.Name)" $t.Value
$hash = (Digest-MD5 "$saveTo\$($t.Name)")
Add-Content "$saveTo\hashes.txt" $hash
$hash = (Digest-Hash "$saveTo\$($t.Name)")
Add-Content -path "$saveTo\hashes.txt" -value ($t.Name + ' ' + $hash)
}

View File

@ -1,4 +1,4 @@
function Ensure-Exists ($path) {
function Ensure-Exists($path) {
if (-not (Test-Path $path)) {
Write-Error "Missing required $path! Ensure it is installed"
exit 1
@ -6,7 +6,7 @@ function Ensure-Exists ($path) {
return $true > $null
}
function Ensure-Executable ($command) {
function Ensure-Executable($command) {
try { Get-Command $command -ErrorAction Stop > $null }
catch {
If( ($command -eq "7z") -and (Test-Path "$env:programfiles\7-zip\7z.exe") ){
@ -22,20 +22,21 @@ function Ensure-Executable ($command) {
}
}
function Delete-Existing ($path) {
function Delete-Existing($path) {
Write-Verbose "Remove $path"
Remove-Item -Recurse -force $path -ErrorAction SilentlyContinue
}
function Extract-Archive ($source, $target) {
Invoke-Expression "7z x -y -o$($target) '$source' > `$null"
function Extract-Archive($source, $target) {
Write-Verbose $("Extracting Archive '$cmder_root\vendor\" + $source.replace('/','\') + " to '$cmder_root\vendor\$target'")
Invoke-Expression "7z x -y -o`"$($target)`" `"$source`" > `$null"
if ($lastexitcode -ne 0) {
Write-Error "Extracting of $source failied"
}
Remove-Item $source
}
function Create-Archive ($source, $target, $params) {
function Create-Archive($source, $target, $params) {
$command = "7z a -x@`"$source\packignore`" $params $target $source > `$null"
Write-Verbose "Running: $command"
Invoke-Expression $command
@ -46,22 +47,22 @@ function Create-Archive ($source, $target, $params) {
# If directory contains only one child directory
# Flatten it instead
function Flatten-Directory ($name) {
function Flatten-Directory($name) {
$child = (Get-Childitem $name)[0]
Rename-Item $name -NewName "$($name)_moving"
Move-Item -Path "$($name)_moving\$child" -Destination $name
Remove-Item -Recurse "$($name)_moving"
}
function Digest-MD5 ($path) {
function Digest-Hash($path) {
if(Get-Command Get-FileHash -ErrorAction SilentlyContinue){
return (Get-FileHash -Algorithm MD5 -Path $path).Hash
return (Get-FileHash -Algorithm SHA256 -Path $path).Hash
}
return Invoke-Expression "md5sum $path"
}
function Register-Cmder(){
function Register-Cmder() {
[CmdletBinding()]
Param
(
@ -75,18 +76,43 @@ function Register-Cmder(){
$Command = "%V"
, # Defaults to the icons folder in the cmder package.
$icon = (Split-Path $PathToExe | join-path -ChildPath 'icons/cmder.ico')
$icon = (Split-Path $PathToExe | Join-Path -ChildPath 'icons/cmder.ico')
)
Begin
{
New-PSDrive -Name HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT
New-PSDrive -Name HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT > $null
}
Process
{
New-Item -Path "HKCR:\Directory\Shell\Cmder" -Force -Value $MenuText
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`" "
New-Item -Path "HKCR:\Directory\Shell\Cmder\Command" -Force -Value "`"$PathToExe`" `"$Command`" "
New-Item -Path "HKCR:\Directory\Background\Shell\Cmder" -Force -Value $MenuText
New-ItemProperty -Path "HKCR:\Directory\Background\Shell\Cmder" -Force -Name "Icon" -Value `"$icon`"
New-ItemProperty -Path "HKCR:\Directory\Background\Shell\Cmder" -Force -Name "NoWorkingDirectory"
New-Item -Path "HKCR:\Directory\Background\Shell\Cmder\Command" -Force -Value "`"$PathToExe`" `"$Command`" "
}
End
{
Remove-PSDrive -Name HKCR
}
}
function Unregister-Cmder {
Begin
{
New-PSDrive -Name HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT > $null
}
Process
{
Remove-Item -Path "HKCR:\Directory\Shell\Cmder" -Recurse
Remove-Item -Path "HKCR:\Directory\Background\Shell\Cmder" -Recurse
}
End
{
Remove-PSDrive -Name HKCR
}
}
@ -98,7 +124,10 @@ function Download-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 = New-Object System.Net.WebClient
if ($env:https_proxy) {
$wc.proxy = (New-Object System.Net.WebProxy($env:https_proxy))
}
$wc.Proxy.Credentials=[System.Net.CredentialCache]::DefaultNetworkCredentials;
$wc.DownloadFile($Url, $File)
}

View File

@ -1,8 +0,0 @@
e.=explorer .
gl=git log --oneline --all --graph --decorate $*
ls=ls --show-control-chars -F --color $*
pwd=cd
clear=cls
history=cat %CMDER_ROOT%\config\.history
unalias=alias /d $1
vi=vim $*

101
vendor/clink.lua vendored
View File

@ -12,8 +12,40 @@ dofile(clink_lua_file)
-- now add our own things...
function lambda_prompt_filter()
clink.prompt.value = string.gsub(clink.prompt.value, "{lamb}", "λ")
---
-- Setting the prompt in clink means that commands which rewrite the prompt do
-- not destroy our own prompt. It also means that started cmds (or batch files
-- which echo) don't get the ugly '{lamb}' shown.
---
function set_prompt_filter()
-- get_cwd() is differently encoded than the clink.prompt.value, so everything other than
-- pure ASCII will get garbled. So try to parse the current directory from the original prompt
-- and only if that doesn't work, use get_cwd() directly.
-- The matching relies on the default prompt which ends in X:\PATH\PATH>
-- (no network path possible here!)
local old_prompt = clink.prompt.value
local cwd = old_prompt:match('.*(.:[^>]*)>')
if cwd == nil then cwd = clink.get_cwd() end
-- environment systems like pythons virtualenv change the PROMPT and usually
-- set some variable. But the variables are differently named and we would never
-- get them all, so try to parse the env name out of the PROMPT.
-- envs are usually put in round or square parentheses and before the old prompt
local env = old_prompt:match('.*%(([^%)]+)%).+:')
-- also check for square brackets
if env == nil then env = old_prompt:match('.*%[([^%]]+)%].+:') end
-- build our own prompt
-- orig: $E[1;32;40m$P$S{git}{hg}$S$_$E[1;30;40m{lamb}$S$E[0m
-- color codes: "\x1b[1;37;40m"
local cmder_prompt = "\x1b[1;32;40m{cwd} {git}{hg}{svn} \n\x1b[1;30;40m{lamb} \x1b[0m"
cmder_prompt = string.gsub(cmder_prompt, "{cwd}", cwd)
if env == nil then
lambda = "λ"
else
lambda = "("..env..") λ"
end
clink.prompt.value = string.gsub(cmder_prompt, "{lamb}", lambda)
end
---
@ -71,6 +103,20 @@ local function get_hg_dir(path)
return get_dir_contains(path, '.hg')
end
local function get_svn_dir(path)
return get_dir_contains(path, '.svn')
end
function get_svn_branch(svn_dir)
for line in io.popen("svn info 2>nul"):lines() do
local m = line:match("^Relative URL:")
if m then
return line:sub(line:find("/")+1,line:len())
end
end
return false
end
-- adapted from from clink-completions' git.lua
local function get_git_dir(path)
@ -86,7 +132,7 @@ local function get_git_dir(path)
-- Checks if provided directory contains git directory
local function has_git_dir(dir)
return #clink.find_dirs(dir..'/.git') > 0 and dir..'/.git'
return clink.is_dir(dir..'/.git') and dir..'/.git'
end
local function has_git_file(dir)
@ -132,8 +178,15 @@ end
-- @return {bool}
---
function get_hg_status()
for line in io.popen("hg status"):lines() do
return false
for line in io.popen("hg status -0"):lines() do
return false
end
return true
end
function get_svn_status()
for line in io.popen("svn status -q"):lines() do
return false
end
return true
end
@ -193,7 +246,13 @@ end
-- @return {bool}
---
function get_git_status()
return io.popen("git diff --quiet --ignore-submodules HEAD 2>nul")
local file = io.popen("git status --no-lock-index --porcelain 2>nul")
for line in file:lines() do
file:close()
return false
end
file:close()
return true
end
function git_prompt_filter()
@ -226,9 +285,37 @@ function git_prompt_filter()
return false
end
clink.prompt.register_filter(lambda_prompt_filter, 40)
function svn_prompt_filter()
-- Colors for svn status
local colors = {
clean = "\x1b[1;37;40m",
dirty = "\x1b[31;1m",
}
if get_svn_dir() then
-- if we're inside of svn repo then try to detect current branch
local branch = get_svn_branch()
if branch then
if get_svn_status() then
color = colors.clean
else
color = colors.dirty
end
clink.prompt.value = string.gsub(clink.prompt.value, "{svn}", color.."("..branch..")")
return false
end
end
-- No mercurial present or not in mercurial file
clink.prompt.value = string.gsub(clink.prompt.value, "{svn}", "")
return false
end
-- insert the set_prompt at the very beginning so that it runs first
clink.prompt.register_filter(set_prompt_filter, 1)
clink.prompt.register_filter(hg_prompt_filter, 50)
clink.prompt.register_filter(git_prompt_filter, 50)
clink.prompt.register_filter(svn_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

14
vendor/cmder.sh vendored
View File

@ -38,25 +38,25 @@ export PATH
# Drop *.sh or *.zsh files into "${CMDER_ROOT}\config\profile.d"
# to source them at startup.
if [ ! -d "${CMDER_ROOT}/config/profile.d" ] ; then
mkdir -p ${CMDER_ROOT}/config/profile.d
mkdir -p "${CMDER_ROOT}/config/profile.d"
fi
if [ -d "${CMDER_ROOT}/config/profile.d" ] ; then
unset profile_d_scripts
pushd ${CMDER_ROOT}/config/profile.d >/dev/null
profile_d_scripts=$(ls ${CMDER_ROOT}/config/profile.d/*.sh 2>/dev/null)
pushd "${CMDER_ROOT}/config/profile.d" >/dev/null
profile_d_scripts=$(ls *.sh 2>/dev/null)
if [ ! "x${profile_d_scripts}" = "x" ] ; then
for x in ${profile_d_scripts} ; do
# echo Sourcing "${x}"...
. $x
# echo Sourcing "${CMDER_ROOT}/config/profile.d/${x}"...
. "${CMDER_ROOT}/config/profile.d/${x}"
done
fi
popd >/dev/null
fi
if [ -f ${CMDER_ROOT}/config/user-profile.sh ] ; then
. ${CMDER_ROOT}/config/user-profile.sh
if [ -f "${CMDER_ROOT}/config/user-profile.sh" ] ; then
. "${CMDER_ROOT}/config/user-profile.sh"
else
echo Creating user startup file: "${CMDER_ROOT}/config/user-profile.sh"
cat <<-eof >"${CMDER_ROOT}/config/user-profile.sh"

16
vendor/cmder_exinit vendored
View File

@ -51,29 +51,29 @@ if [ ! "$CMDER_ROOT" = "" ] ; then
# Drop *.sh or *.zsh files into "${CMDER_ROOT}\config\profile.d"
# to source them at startup.
if [ ! -d "${CMDER_ROOT}/config/profile.d" ] ; then
mkdir -p ${CMDER_ROOT}/config/profile.d
mkdir -p "${CMDER_ROOT}/config/profile.d"
fi
if [ -d "${CMDER_ROOT}/config/profile.d" ] ; then
unset profile_d_scripts
pushd ${CMDER_ROOT}/config/profile.d >/dev/null
pushd "${CMDER_ROOT}/config/profile.d" >/dev/null
if [ ! "x${ZSH_VERSION}" = "x" ]; then
profile_d_scripts=$(ls ${CMDER_ROOT}/config/profile.d/*.zsh 2>/dev/null)
profile_d_scripts=$(ls *.zsh 2>/dev/null)
elif [ ! "x${BASH_VERSION}" = "x" ]; then
profile_d_scripts=$(ls ${CMDER_ROOT}/config/profile.d/*.sh 2>/dev/null)
profile_d_scripts=$(ls *.sh 2>/dev/null)
fi
if [ ! "x${profile_d_scripts}" = "x" ] ; then
for x in ${profile_d_scripts} ; do
# echo Sourcing "${x}"...
. $x
# echo Sourcing "${CMDER_ROOT}/config/profile.d/${x}"...
. "${CMDER_ROOT}/config/profile.d/${x}"
done
fi
popd >/dev/null
fi
if [ -f ${CMDER_ROOT}/config/user-profile.sh ] ; then
. ${CMDER_ROOT}/config/user-profile.sh
if [ -f "${CMDER_ROOT}/config/user-profile.sh" ] ; then
. "${CMDER_ROOT}/config/user-profile.sh"
else
echo Creating user startup file: "${CMDER_ROOT}/config/user-profile.sh"
cat <<-eof >"${CMDER_ROOT}/config/user-profile.sh"

57
vendor/git-prompt.sh vendored
View File

@ -1,22 +1,39 @@
PS1='\[\033]0;$MSYSTEM:${PWD//[^[:ascii:]]/?}\007\]' # set window title
PS1="$PS1"'\[\033[32m\]' # change to green
PS1="$PS1"'\u@\h ' # user@host<space>
PS1="$PS1"'\[\033[33m\]' # change to brownish yellow
PS1="$PS1"'\w' # current working directory
if test -z "$WINELOADERNOEXEC"
if test -f /etc/profile.d/git-sdk.sh
then
GIT_EXEC_PATH="$(git --exec-path 2>/dev/null)"
COMPLETION_PATH="${GIT_EXEC_PATH%/libexec/git-core}"
COMPLETION_PATH="${COMPLETION_PATH%/lib/git-core}"
COMPLETION_PATH="$COMPLETION_PATH/share/git/completion"
if test -f "$COMPLETION_PATH/git-prompt.sh"
then
. "$COMPLETION_PATH/git-completion.bash"
. "$COMPLETION_PATH/git-prompt.sh"
PS1="$PS1"'\[\033[36m\]' # change color to cyan
PS1="$PS1"'`__git_ps1`' # bash function
fi
TITLEPREFIX=SDK-${MSYSTEM#MINGW}
else
TITLEPREFIX=$MSYSTEM
fi
PS1="$PS1"'\[\033[0m\]' # change color
PS1="$PS1"'\n' # new line
PS1="$PS1"'λ ' # prompt: always λ
if test -f ~/.config/git/git-prompt.sh
then
. ~/.config/git/git-prompt.sh
else
PS1='\[\033]0;$MSYSTEM:${PWD//[^[:ascii:]]/?}\007\]' # set window title
# PS1="$PS1"'\n' # new line
PS1="$PS1"'\[\033[32m\]' # change to green
PS1="$PS1"'\u@\h ' # user@host<space>
# PS1="$PS1"'\[\033[35m\]' # change to purple
# PS1="$PS1"'$MSYSTEM ' # show MSYSTEM
PS1="$PS1"'\[\033[33m\]' # change to brownish yellow
PS1="$PS1"'\w' # current working directory
if test -z "$WINELOADERNOEXEC"
then
GIT_EXEC_PATH="$(git --exec-path 2>/dev/null)"
COMPLETION_PATH="${GIT_EXEC_PATH%/libexec/git-core}"
COMPLETION_PATH="${COMPLETION_PATH%/lib/git-core}"
COMPLETION_PATH="$COMPLETION_PATH/share/git/completion"
if test -f "$COMPLETION_PATH/git-prompt.sh"
then
. "$COMPLETION_PATH/git-completion.bash"
. "$COMPLETION_PATH/git-prompt.sh"
PS1="$PS1"'\[\033[36m\]' # change color to cyan
PS1="$PS1"'`__git_ps1`' # bash function
fi
fi
PS1="$PS1"'\[\033[0m\]' # change color
PS1="$PS1"'\n' # new line
PS1="$PS1"'λ ' # prompt: always λ
fi
MSYS2_PS1="$PS1" # for detection by MSYS2 SDK's bash.basrc

145
vendor/init.bat vendored
View File

@ -6,17 +6,16 @@
:: !!! THIS FILE IS OVERWRITTEN WHEN CMDER IS UPDATED
:: !!! Use "%CMDER_ROOT%\config\user-profile.cmd" to add your own startup commands
:: Set to > 0 for verbose output to aid in debugging.
if not defined verbose-output ( set verbose-output=0 )
:: Find root dir
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"
)
:: Remove trailing '\'
if "%CMDER_ROOT:~-1%" == "\" SET CMDER_ROOT=%CMDER_ROOT:~0,-1%
:: Change the prompt style
:: Mmm tasty lamb
prompt $E[1;32;40m$P$S{git}{hg}$S$_$E[1;30;40m{lamb}$S$E[0m
if "%CMDER_ROOT:~-1%" == "\" SET "CMDER_ROOT=%CMDER_ROOT:~0,-1%"
:: Pick right version of clink
if "%PROCESSOR_ARCHITECTURE%"=="x86" (
@ -27,9 +26,9 @@ if "%PROCESSOR_ARCHITECTURE%"=="x86" (
:: Tell the user about the clink config files...
if not exist "%CMDER_ROOT%\config\settings" (
echo Generating clink initial settings in %CMDER_ROOT%\config\settings
echo Additional *.lua files in %CMDER_ROOT%\config are loaded on startup.
)
echo Generating clink initial settings in "%CMDER_ROOT%\config\settings"
echo Additional *.lua files in "%CMDER_ROOT%\config" are loaded on startup.
)
:: Run clink
"%CMDER_ROOT%\vendor\clink\clink_x%architecture%.exe" inject --quiet --profile "%CMDER_ROOT%\config" --scripts "%CMDER_ROOT%\vendor"
@ -40,24 +39,55 @@ if not exist "%CMDER_ROOT%\config\settings" (
set PLINK_PROTOCOL=ssh
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 "%USERPROFILE%\AppData\Local\Programs\Git" (
set "GIT_INSTALL_ROOT=%USERPROFILE%\AppData\Local\Programs\Git"
) else if exist "%CMDER_ROOT%\vendor\git-for-windows" (
set "GIT_INSTALL_ROOT=%CMDER_ROOT%\vendor\git-for-windows"
:: The idea:
:: * if the users points as to a specific git, use that
:: * test if a git is in path and if yes, use that
:: * last, use our vendored git
:: also check that we have a recent enough version of git (e.g. test for GIT\cmd\git.exe)
if defined GIT_INSTALL_ROOT (
if exist "%GIT_INSTALL_ROOT%\cmd\git.exe" (goto :FOUND_GIT)
)
:: check if git is in path...
setlocal enabledelayedexpansion
for /F "delims=" %%F in ('where git.exe 2^>nul') do @(
pushd %%~dpF
cd ..
set "test_dir=!CD!"
popd
if exist "!test_dir!\cmd\git.exe" (
set "GIT_INSTALL_ROOT=!test_dir!"
set test_dir=
goto :FOUND_GIT
) else (
echo Found old git version in "!test_dir!", but not using...
set test_dir=
)
)
:: our last hope: our own git...
:VENDORED_GIT
if exist "%CMDER_ROOT%\vendor\git-for-windows" (
set "GIT_INSTALL_ROOT=%CMDER_ROOT%\vendor\git-for-windows"
call :verbose-output Add the minimal git commands to the front of the path
set "PATH=!GIT_INSTALL_ROOT!\cmd;%PATH%"
) else (
goto :NO_GIT
)
:FOUND_GIT
:: Add git to the path
if defined GIT_INSTALL_ROOT (
set "PATH=%GIT_INSTALL_ROOT%\bin;%GIT_INSTALL_ROOT%\usr\bin;%GIT_INSTALL_ROOT%\usr\share\vim\vim74;%PATH%"
rem add the unix commands at the end to not shadow windows commands like more
call :verbose-output Enhancing PATH with unix commands from git in "%GIT_INSTALL_ROOT%\usr\bin"
set "PATH=%PATH%;%GIT_INSTALL_ROOT%\usr\bin;%GIT_INSTALL_ROOT%\usr\share\vim\vim74"
:: 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"
)
:NO_GIT
endlocal & set "PATH=%PATH%" & set "SVN_SSH=%SVN_SSH%" & set "GIT_INSTALL_ROOT=%GIT_INSTALL_ROOT%"
:: Enhance Path
set "PATH=%CMDER_ROOT%\bin;%PATH%;%CMDER_ROOT%\"
@ -69,41 +99,72 @@ if not exist "%CMDER_ROOT%\config\profile.d" (
pushd "%CMDER_ROOT%\config\profile.d"
for /f "usebackq" %%x in ( `dir /b *.bat *.cmd 2^>nul` ) do (
REM echo Calling %CMDER_ROOT%\config\profile.d\%%x...
call :verbose-output Calling "%CMDER_ROOT%\config\profile.d\%%x"...
call "%CMDER_ROOT%\config\profile.d\%%x"
)
popd
:: make sure we have an example file
if not exist "%CMDER_ROOT%\config\aliases" (
echo Creating intial aliases in %CMDER_ROOT%\config\aliases
copy "%CMDER_ROOT%\vendor\aliases.example" "%CMDER_ROOT%\config\aliases" > null
:: Allows user to override default aliases store using profile.d
:: scripts run above by setting the 'aliases' env variable.
::
:: Note: If overriding default aliases store file the aliases
:: must also be self executing, see '.\user-aliases.cmd.example',
:: and be in profile.d folder.
set "user-aliases=%CMDER_ROOT%\config\user-aliases.cmd"
:: The aliases environment variable is used by alias.bat to id
:: the default file to store new aliases in.
if not defined aliases (
set "aliases=%user-aliases%"
)
:: Add aliases
doskey /macrofile="%CMDER_ROOT%\config\aliases"
:: Make sure we have a self-extracting user-aliases.cmd file
setlocal enabledelayedexpansion
if not exist "%user-aliases%" (
echo Creating initial user-aliases store in "%user-aliases%"...
copy "%CMDER_ROOT%\vendor\user-aliases.cmd.example" "%user-aliases%"
) else (
type "%user-aliases%" | findstr /i ";= Add aliases below here" >nul
if "!errorlevel!" == "1" (
echo Creating initial user-aliases store in "%user-aliases%"...
copy "%CMDER_ROOT%\%user-aliases%" "%user-aliases%.old_format"
copy "%CMDER_ROOT%\vendor\user-aliases.cmd.example" "%user-aliases%"
)
)
:: Update old 'user-aliases' to new self executing 'user-aliases.cmd'
if exist "%CMDER_ROOT%\config\aliases" (
echo Updating old "%CMDER_ROOT%\config\aliases" to new format...
type "%CMDER_ROOT%\config\aliases" >> "%user-aliases%" && del "%CMDER_ROOT%\config\aliases"
) else if exist "%user-aliases%.old_format" (
echo Updating old "%user-aliases%" to new format...
type "%user-aliases%.old_format" >> "%user-aliases%" && del "%user-aliases%.old_format"
)
endlocal
:: Add aliases to the environment
call "%user-aliases%"
:: See vendor\git-for-windows\README.portable for why we do this
:: Basically we need to execute this post-install.bat because we are
:: manually extracting the archive rather than executing the 7z sfx
if exist "%CMDER_ROOT%\vendor\git-for-windows\post-install.bat" (
echo Running Git for Windows one time Post Install....
cd /d "%CMDER_ROOT%\vendor\git-for-windows\"
call :verbose-output Running Git for Windows one time Post Install....
pushd "%CMDER_ROOT%\vendor\git-for-windows\"
"%CMDER_ROOT%\vendor\git-for-windows\git-bash.exe" --no-needs-console --hide --no-cd --command=post-install.bat
cd /d %USERPROFILE%
pushd "%USERPROFILE%"
)
:: Set home path
if not defined HOME set HOME=%USERPROFILE%
if not defined HOME set "HOME=%USERPROFILE%"
:: This is either a env variable set by the user or the result of
:: cmder.exe setting this variable due to a commandline argument or a "cmder here"
if defined CMDER_START (
cd /d "%CMDER_START%"
pushd "%CMDER_START%"
)
if exist "%CMDER_ROOT%\config\user-profile.cmd" (
rem create this file and place your own command in there
REM Create this file and place your own command in there
call "%CMDER_ROOT%\config\user-profile.cmd"
) else (
echo Creating user startup file: "%CMDER_ROOT%\config\user-profile.cmd"
@ -111,8 +172,24 @@ if exist "%CMDER_ROOT%\config\user-profile.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 :: uncomment this to have the ssh agent load when cmder starts
echo :: call "%%GIT_INSTALL_ROOT%%/cmd/start-ssh-agent.cmd"
echo.
echo :: uncomment this next two lines to use pageant as the ssh authentication agent
echo :: SET SSH_AUTH_SOCK=/tmp/.ssh-pageant-auth-sock
echo :: call "%%GIT_INSTALL_ROOT%%/cmd/start-ssh-pageant.cmd"
echo.
echo :: you can add your plugins to the cmder path like so
echo :: set "PATH=%%CMDER_ROOT%%\vendor\whatever;%%PATH%%"
echo.
) > "%CMDER_ROOT%\config\user-profile.cmd"
)
exit /b
::
:: sub-routines below here
::
:verbose-output
if %verbose-output% gtr 0 echo %*
exit /b

121
vendor/profile.ps1 vendored
View File

@ -17,10 +17,14 @@ if(!$PSScriptRoot) {
$PSScriptRoot = Split-Path $Script:MyInvocation.MyCommand.Path
}
# do not load bundled psget if a module installer is already available
# -> recent PowerShell versions include PowerShellGet out of the box
$moduleInstallerAvailable = [bool](Get-Command -Name 'Install-Module' -ErrorAction SilentlyContinue | Out-Null)
# Add Cmder modules directory to the autoload path.
$CmderModulePath = Join-path $PSScriptRoot "psmodules/"
if( -not $env:PSModulePath.Contains($CmderModulePath) ){
if(-not $moduleInstallerAvailable -and -not $env:PSModulePath.Contains($CmderModulePath) ){
$env:PSModulePath = $env:PSModulePath.Insert(0, "$CmderModulePath;")
}
@ -41,19 +45,28 @@ try {
# Check if git is on PATH, i.e. Git already installed on system
Get-command -Name "git" -ErrorAction Stop >$null
} catch {
$env:Path += $(";" + $env:CMDER_ROOT + "\vendor\git-for-windows\cmd")
# for bash.exe, which in the cmd version is found as <GIT>\usr\bin\bash.exe
$env:Path += $(";" + $env:CMDER_ROOT + "\vendor\git-for-windows\bin")
}
try {
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
$gitLoaded = $false
function Import-Git($Loaded){
if($Loaded) { return }
$GitModule = Get-Module -Name Posh-Git -ListAvailable
if($GitModule | select version | where version -le ([version]"0.6.1.20160330")){
Import-Module Posh-Git > $null
}
if(-not ($GitModule) ) {
Write-Warning "Missing git support, install posh-git with 'Install-Module posh-git' and restart cmder."
}
# Make sure we only run once by alawys returning true
return $true
}
function checkGit($Path) {
if (Test-Path -Path (Join-Path $Path '.git') ) {
$gitLoaded = Import-Git $gitLoaded
Write-VcsStatus
return
}
@ -63,24 +76,6 @@ function checkGit($Path) {
}
}
# 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) {
Start-SshAgent -Quiet
}
# Move to the wanted location
# This is either a env variable set by the user or the result of
# cmder.exe setting this variable due to a commandline argument or a "cmder here"
@ -95,6 +90,36 @@ if (Get-Module PSReadline -ErrorAction "SilentlyContinue") {
# Enhance Path
$env:Path = "$Env:CMDER_ROOT\bin;$env:Path;$Env:CMDER_ROOT"
#
# Prompt Section
# Users should modify their user-profile.ps1 as it will be safe from updates.
#
# Pre assign the hooks so the first run of cmder gets a working prompt.
[ScriptBlock]$PrePrompt = {}
[ScriptBlock]$PostPrompt = {}
[ScriptBlock]$CmderPrompt = {
$Host.UI.RawUI.ForegroundColor = "White"
Microsoft.PowerShell.Utility\Write-Host $pwd.ProviderPath -NoNewLine -ForegroundColor Green
checkGit($pwd.ProviderPath)
}
<#
This scriptblock runs every time the prompt is returned.
Explicitly use functions from MS namespace to protect from being overridden in the user session.
Custom prompt functions are loaded in as constants to get the same behaviour
#>
[ScriptBlock]$Prompt = {
$realLASTEXITCODE = $LASTEXITCODE
$host.UI.RawUI.WindowTitle = Microsoft.PowerShell.Management\Split-Path $pwd.ProviderPath -Leaf
PrePrompt | Microsoft.PowerShell.Utility\Write-Host -NoNewline
CmderPrompt
Microsoft.PowerShell.Utility\Write-Host "`nλ " -NoNewLine -ForegroundColor "DarkGray"
PostPrompt | Microsoft.PowerShell.Utility\Write-Host -NoNewline
$global:LASTEXITCODE = $realLASTEXITCODE
return " "
}
# Drop *.ps1 files into "$ENV:CMDER_ROOT\config\profile.d"
# to source them at startup.
if (-not (test-path "$ENV:CMDER_ROOT\config\profile.d")) {
@ -113,6 +138,48 @@ 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
# This multiline string cannot be indented, for this reason I've not indented the whole block
Write-Host -BackgroundColor Darkgreen -ForegroundColor White "First Run: Creating user startup file: $CmderUserProfilePath"
$UserProfileTemplate = @'
# Use this file to run your own startup commands
## Prompt Customization
<#
.SYNTAX
<PrePrompt><CMDER DEFAULT>
λ <PostPrompt> <repl input>
.EXAMPLE
<PrePrompt>N:\Documents\src\cmder [master]
λ <PostPrompt> |
#>
[ScriptBlock]$PrePrompt = {
}
# Replace the cmder prompt entirely with this.
# [ScriptBlock]$CmderPrompt = {}
[ScriptBlock]$PostPrompt = {
}
## <Continue to add your own>
'@
New-Item -ItemType File -Path $CmderUserProfilePath -Value $UserProfileTemplate > $null
}
# Once Created these code blocks cannot be overwritten
Set-Item -Path function:\PrePrompt -Value $PrePrompt -Options Constant
Set-Item -Path function:\CmderPrompt -Value $CmderPrompt -Options Constant
Set-Item -Path function:\PostPrompt -Value $PostPrompt -Options Constant
# Functions can be made constant only at creation time
# ReadOnly at least requires `-force` to be overwritten
Set-Item -Path function:\prompt -Value $Prompt -Options ReadOnly

16
vendor/sources.json vendored
View File

@ -1,22 +1,22 @@
[
{
"name": "git-for-windows",
"version": "v2.7.4.windows.1",
"url": "https://github.com/git-for-windows/git/releases/download/v2.7.4.windows.1/PortableGit-2.7.4-32-bit.7z.exe"
"version": "v2.14.3.windows.1",
"url": "https://github.com/git-for-windows/git/releases/download/v2.14.3.windows.1/PortableGit-2.14.3-32-bit.7z.exe"
},
{
"name": "clink",
"version": "0.4.7",
"url": "https://github.com/mridgers/clink/releases/download/0.4.7/clink_0.4.7.zip"
"version": "0.4.9",
"url": "https://github.com/Stanzilla/clink/releases/download/0.4.9/clink_DEV.zip"
},
{
"name": "conemu-maximus5",
"version": "160207",
"url": "https://github.com/Maximus5/ConEmu/releases/download/v16.02.07/ConEmuPack.160207.7z"
"version": "171025",
"url": "https://github.com/Maximus5/ConEmu/releases/download/v17.10.25/ConEmuPack.171025.7z"
},
{
"name": "clink-completions",
"version": "0.2.2",
"url": "https://github.com/vladimir-kotikov/clink-completions/archive/0.2.2.zip"
"version": "0.3.3",
"url": "https://github.com/vladimir-kotikov/clink-completions/archive/0.3.3.zip"
}
]

15
vendor/user-aliases.cmd.example vendored Normal file
View File

@ -0,0 +1,15 @@
;= @echo off
;= rem Call DOSKEY and use this file as the macrofile
;= %SystemRoot%\system32\doskey /listsize=1000 /macrofile=%0%
;= rem In batch mode, jump to the end of the file
;= goto:eof
;= Add aliases below here
e.=explorer .
gl=git log --oneline --all --graph --decorate $*
ls=ls --show-control-chars -F --color $*
pwd=cd
clear=cls
history=cat "%CMDER_ROOT%\config\.history"
unalias=alias /d $1
vi=vim $*
cmderr=cd /d "%CMDER_ROOT%"