Compare commits

..

909 Commits

Author SHA1 Message Date
2e77513674 Merge pull request #1947 from daxgames/fix_ignore_config
Fix ignore config
2018-11-10 09:46:25 -05:00
1640e9c01d fixes' 2018-11-10 09:45:23 -05:00
ddbfd1da18 Merge branch 'fix' 2018-11-10 09:38:58 -05:00
bc7c6e97b3 Fixed move of default conemu.xml to the vendor folder 2018-11-10 09:32:44 -05:00
45f05ed8fa Merge pull request #1946 from cmderdev/revert-1945-ignore_config
Revert "Ignore `%cmder_root%\config`"
2018-11-10 09:02:00 -05:00
72b676b939 Revert "Ignore %cmder_root%\config (#1945)"
This reverts commit 637b0fd3ac.
2018-11-10 06:42:27 -05:00
637b0fd3ac Ignore %cmder_root%\config (#1945)
* move default comemu.xml to vendor folder

* ignore all of config folder

* cleanup
2018-11-10 02:40:16 +01:00
ce62db6d33 cleanup 2018-11-08 21:45:21 -05:00
f3ed7b6d1b ignore all of config folder 2018-11-08 21:35:23 -05:00
57e5ae1719 move default comemu.xml to vendor folder 2018-11-08 21:25:42 -05:00
a5bdecca77 Add /f for fast init. (#1942)
The below enables Cmder Fast Init mode for `cmd.exe` sessions.  This is more like the Cmder 1.3.5 init process.  See issue #1821 

Cmder Fast Init mode bypasses or disables the following Cmder 1.3.6+ features:

* Git root and version detection.  Defaults to `%cmder_root%\vendor\git-for-windows` if it exists.
* Path enhance validation before path modify so `%Path%` enhancements are forced.
* Recursive path add for `"%CMDER_ROOT%\bin"`
* Recursive path add for `"%CMDER_USER_BIN%\bin"` if `/c [user_config_folder` is specified.
* `/d` switch to enable debug output.
* `/v` switch to enable debug output.

Add `/f` to Cmder task as shown below t enable fast init:

_Note 1: This setting is invalid in Cmder `Powershell` and `Bash` sessions~_

_Note 2: Add `/t` also to see init timer output_

![image](https://user-images.githubusercontent.com/7318053/47957637-052e3880-df90-11e8-93ef-91e1ab696d82.png)

Cuts ~2.4 seconds off of init time.

![image](https://user-images.githubusercontent.com/7318053/47957795-45db8100-df93-11e8-8ae0-551d12c4e2dc.png)
2018-11-04 01:36:51 +01:00
5be25f29f8 Initialize time_init to fix init error message 2018-11-03 18:52:26 +01:00
cb78f0486a Remove duplicate Install-Module detection
Block was inserted twice.
2018-11-03 02:15:03 +01:00
f5ac81daa0 Fix typos, remove escaping inside inline code, replace single quote with backtick 2018-11-03 02:14:49 +01:00
da0aea96f8 Fix typo and broken link 2018-11-03 02:14:49 +01:00
3a11d45552 add diag helper scripts and adds to the path (#1918)
These scripts are to help us help our users by getting a relative picture of their environment that they can submit with an incident.
2018-11-02 14:00:40 +01:00
c5a6afbf5b Merge pull request #1905 from narnaud/git_shim
Ensure the right git path is found in case of shim.
2018-10-12 22:55:48 +02:00
a607f0f2d5 Ensure the right git path is found in case of shim.
If the git found is a shim, we need to follow the path to the actual git
directory to set the GIT_INSTALL_ROOT variable.
This happens when installing git via scoop for example.
2018-10-10 07:14:50 +02:00
66da1716bc Merge pull request #1758 from xiazeyu/master
lib to check init.bat's custom args
2018-09-30 18:06:42 +02:00
bfaa194468 Merge pull request #1 from daxgames/cexec
flag_exists.cmd to cexec
2018-09-30 23:17:23 +08:00
c3956e307a Merge pull request #1889 from leochien0102/leochien0102-patch-1
Leochien0102 Fix the 'was unexpected at this time.' at start
2018-09-29 23:15:26 +02:00
3344268c24 Merge pull request #1887 from gaoslin/master
Update init.bat, fix PR #1665
2018-09-29 17:06:53 -04:00
8ff459b309 fixes 2018-09-24 19:07:48 -05:00
103d0a6cea more headers 2018-09-24 18:51:55 -05:00
8dc9bc9ae1 fix the 'was unexpected at this time.'
Change the single quotation marks to double while path concerned
2018-09-21 16:01:52 +08:00
bb4ed4af51 Update init.bat 2018-09-18 17:26:11 +08:00
ae2fda72fd Merge pull request #1884 from daxgames/fix_lua
Fix lua
2018-09-18 03:03:57 +02:00
bda09bc274 init.bat update for cexec 2018-09-16 16:23:22 -05:00
749ce17dbe git prompt yellow 2018-09-16 15:53:49 -05:00
8cf59d1cbf cleanup 2018-09-16 10:21:37 -05:00
1d36ba4ed4 fix user lua and git detection 2018-09-16 10:18:10 -05:00
564ef5220e allow conditionally setting environment variables 2018-09-15 16:25:31 -05:00
f84da84e15 cleanup 2018-09-15 15:12:45 -05:00
86544c9188 readme.md 2018-09-15 15:11:50 -05:00
4aec21ce19 readme.md 2018-09-15 15:10:35 -05:00
0be94725bd readme.md 2018-09-15 15:06:13 -05:00
9dce9d0f62 added exit codes 2018-09-15 13:55:54 -05:00
669e997602 flag_exists.cmd to flag_exec.cmd, also to lib as an option 2018-09-15 12:52:23 -05:00
0730c6e32b Merge branch 'master' into master 2018-09-15 11:28:04 +08:00
0d2e16c653 Merge pull request #1871 from daxgames/user_lua
Embed 'alias' functionality into 'vendor\bin' and Load User Lua files
2018-09-13 22:41:19 +02:00
35eab7a51a Merge pull request #1834 from b0bh00d/master
Refactored the Mercurial prompt code to be more efficient.
2018-09-13 18:07:07 +02:00
2cfa7c45fc ⬆️ ConEmu to 180626
release notes: https://conemu.github.io/en/Whats_New.html
2018-09-13 18:05:36 +02:00
ab0de6d157 ⬆️ Update Git to 2.19.0
Release notes: https://github.com/git-for-windows/git/releases/tag/v2.19.0.windows.1
2018-09-13 17:58:39 +02:00
bd9cff2691 cleanup 2018-09-05 18:07:27 -05:00
7b191d3caf cleanup 2018-09-03 14:54:52 -05:00
277972a7f2 fixed 2018-09-03 12:59:43 -04:00
b1aa687d4f handle start dir args with trailing \" 2018-09-03 11:07:06 -05:00
ec4c815264 cleanup 2018-09-03 06:08:44 -05:00
12b9af99c5 '.gitignore' 2018-09-03 06:05:20 -05:00
d58c6c2070 cleanup 2018-09-02 19:17:16 -05:00
06c7cc969c Merge branch 'user_lua' into tcc 2018-09-02 19:09:49 -05:00
44b4b7a195 '.gitignore' 2018-09-02 19:09:12 -05:00
9869f9a372 cleanup 2018-09-02 18:59:14 -05:00
85c4a5b4af cleanup 2018-09-02 18:56:17 -05:00
3f96336610 verbos output 2018-09-02 18:53:49 -05:00
a8cae77395 Merge branch 'user_lua' into tcc 2018-09-02 18:53:19 -05:00
823eeaf082 cmder_shell settings 2018-09-02 18:18:59 -05:00
823e6fee6e add cmder_shell method 2018-09-02 17:32:20 -05:00
34f8c43d98 replace - with _ in debug-output and verbose-output 2018-09-02 09:16:40 -05:00
352a16f84d trying to get tcc working 2018-09-02 09:04:46 -05:00
541fc16daf Trying to get tcc working 2018-09-01 22:08:00 -05:00
75e6644d2a rename 2018-09-01 18:35:02 -04:00
7d40ea4609 modify message 2018-09-01 18:32:21 -04:00
451fb46ce1 move user-aliases.cmd to user_aliases.cmd 2018-09-01 18:17:09 -04:00
70788dc1e5 gitignore 2018-09-01 17:43:53 -04:00
c25ff75187 move bin\alias.bat to vendor\bin\alias.cmd 2018-09-01 17:39:24 -04:00
059a31618b cleanup 2018-09-01 15:32:43 -04:00
e69e7f9b82 run user lua afer cmder lua 2018-09-01 14:59:40 -04:00
e93231114f Merge remote-tracking branch 'origin' into user_lua 2018-09-01 14:35:41 -04:00
08550751da Merge pull request #1860 from gucong3000/lang
Add %LANG% support
2018-09-01 00:32:02 +02:00
49da3745bc Fix #1806 #1675 (#1870)
## Rename user-profile.* user_profile.* to resolve #1806, #1675

* This is a backward compatible fix and will automatically and silently rename users '%cmder_root%/config/user-profile.\*' to '%cmder_root%/config/user_profile.\*' and '[user_specified_config_root]/user-profile.\*' to '[user_specified_config_root]/user_profile.\*' if the sources exist.

  * Cmder.exe does this for cmd.exe sessions.
  * The init scripts for bash and Powershell handles it for these shells
2018-09-01 00:02:56 +02:00
e4fb0d694b Revert "replace user-aliases with user_aliases"
This reverts commit d91438de47.
2018-08-31 18:41:06 +02:00
798da058cc Merge pull request #1865 from m01ar/master
Dot-Sourcing Error: PowerShell 5.1 and Windows Software Restriction Policy compatibility
2018-08-30 15:24:38 +02:00
d91438de47 replace user-aliases with user_aliases 2018-08-30 15:22:33 +02:00
08e1244fe5 fix some spelling issues 2018-08-30 15:22:28 +02:00
02f4a9dfe5 Merge pull request #1866 from arionkrause/master
Fixed typo
2018-08-30 15:15:29 +02:00
e80ad2356f Fixed typo 2018-08-29 22:07:26 -03:00
21b1f00981 Powershell 5.1 compatibility
Fixes Powershell 5.1 error when Windows Software Restriction Policy is enabled:

bin\vendor\profile.ps1 : Cannot dot-source this command because it was defined in a different language mode. To invoke this command without importing its contents, omit the '.'  operator.
At line:1 char:1
+ . 'bin\vendor\conemu-maximus5\..\profi ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [profile.ps1], NotSupportedException
    + FullyQualifiedErrorId : DotSourceNotSupported,profile.ps1
2018-08-29 14:42:01 +03:00
34bb62409a Update profile.ps1
Fixes Powershell 5.1 error when Windows Software Restriction Policy is enabled:

bin\vendor\profile.ps1 : Cannot dot-source this command because it was defined in a different language mode. To invoke this command without importing its contents, omit the '.'  operator.
At line:1 char:1
+ . 'bin\vendor\conemu-maximus5\..\profi ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [profile.ps1], NotSupportedException
    + FullyQualifiedErrorId : DotSourceNotSupported,profile.ps1
2018-08-29 14:38:59 +03:00
b901a4a569 add LANG support 2018-08-23 11:57:16 +08:00
39f47870a3 chore: unite slash 2018-08-06 16:05:31 +08:00
f4ee915678 docs: update to latest useage 2018-08-06 13:21:45 +08:00
192056e19b Merge branch 'master' into master 2018-08-06 13:14:45 +08:00
f6c2d9c31e refactor: reduce global varible useage, fixed quote issue, added parameters support 2018-08-06 13:09:59 +08:00
b3200efa7e doc: fix typo 2018-08-06 11:25:27 +08:00
b57e146e7a docs: migrated instructions to the wiki pages 2018-07-17 14:11:16 +08:00
0f99f66b42 Refactored the Mercurial prompt code to be more efficient. 2018-07-06 14:34:48 -06:00
4655888690 Merge pull request #1805 from SommerEngineering/patch-1
Fixed spelling in README.md
2018-06-10 20:35:56 +02:00
431c6300e5 Fixed spelling 2018-06-10 12:40:37 +02:00
e3cdf43afc better fix for #1265 2018-06-07 18:29:48 +02:00
6c016788d4 Revert "sanitize dir before assigning to prompt"
This reverts commit 0b2d7bd655.
2018-06-07 17:04:06 +02:00
0b2d7bd655 sanitize dir before assigning to prompt
Fixes #1265
2018-06-07 16:08:53 +02:00
27f51f48a4 Profile.ps1 (#1796)
* Fix GIT_INSTALL_ROOT again

* fix profile.ps1
2018-06-03 00:15:33 +02:00
34554d6b08 Update README
Add formatting to code, path, and executable identifiers to promote readability/scanability.
2018-05-31 14:35:43 +02:00
4df1d744d3 Fix lib base (#1794)
* Fix GIT_INSTALL_ROOT again

* fixed lib_base error

* fix lib help

* fix lib help
2018-05-31 14:35:02 +02:00
40b9ca4e28 Update CHANGELOG.md 2018-05-30 01:17:12 +02:00
19d5a87224 Fix GIT_INSTALL_ROOT again 2018-05-30 01:04:41 +02:00
44aadccbec ⬆️ ConEmu to 180528
release notes: https://conemu.github.io/en/Whats_New.html
2018-05-29 22:42:32 +02:00
83f411384c ⬆️ Update Git to 2.17.1
Release notes: https://github.com/git-for-windows/git/releases/tag/v2.17.1.windows.2
2018-05-29 22:37:21 +02:00
861f99d64b rename /bin/have.bat to /vendor/lib/flag_exists.cmd
Please use %flag_exists% instead of using have
2018-05-27 10:22:44 +08:00
6af44441fe Merge branch 'master' of github.com:xiazeyu/cmder 2018-05-18 21:03:07 +08:00
0ce1db97d0 fix: bug when no argument is passed in 2018-05-18 21:02:36 +08:00
0c39d0a799 Merge branch 'master' into master 2018-05-18 20:37:19 +08:00
add82a247b docs: update doc for have.bat 2018-05-18 20:34:10 +08:00
bf6dae4a24 feat: add have.bat as a wrapper 2018-05-18 20:32:05 +08:00
7d31eeaa5a enable unc paths by default 2018-05-17 15:50:06 +02:00
daa94c5462 Optimize comments of using arguments in user-profile.cmd 2018-05-04 20:14:40 +08:00
36403df91e Updates issue template, notes on README.me and fixes line ending (#1751)
* add integration notes, refined docs

* change img size

* verbose issue template

* move docs from README to WIKI

* increased politeness factor by 10%
2018-05-04 00:29:25 +02:00
a843e85c8b Fix GitHub download failures (#1760)
* Github changed to only accept TLS 1.2 connections, this fixes the resulting failures.
2018-05-04 00:28:14 +02:00
9a3a8f23d0 Little Changes 2018-05-01 08:57:02 -04:00
99f51b0fc0 fix conflict with init.bat build-in command parser, update user-profile.cmd 2018-05-01 13:02:21 +08:00
4f3fcae9d9 Merge pull request #1754 from cmderdev/daxgames-patch-2
Fix git install root
2018-05-01 02:24:26 +02:00
a06d4e93ec Pass arguments to user-profile.cmd 2018-04-30 20:31:01 +08:00
13ea026dc9 Fix git install root
This is untested so don't merge yet.  I'll test tonight.
2018-04-26 19:06:18 -04:00
dc8e572ca5 ⬆️ ConEmu to 180416
release notes: https://conemu.github.io/en/Whats_New.html
2018-04-19 09:07:55 +02:00
b2262522c9 ⬆️ Update Git to 2.17.0
Release notes: https://github.com/git-for-windows/git/releases/tag/v2.17.0.windows.1
2018-04-13 20:20:59 +02:00
9d0729fe42 ⬆️ ConEmu to 180411
release notes: https://conemu.github.io/en/Whats_New.html
2018-04-13 20:20:59 +02:00
a1e47ceaca Merge pull request #1745 from daxgames/fix_reg_cleanup
Fixes for recent reworks
2018-04-13 18:27:11 +02:00
2a18ba084c fix spelling 2018-04-12 21:43:31 -04:00
12e3761017 fix tab 2018-04-12 21:41:42 -04:00
b8890ed297 switch to debug output 2018-04-12 21:39:52 -04:00
063f30c193 fix git missing error on cmder mini cmd shell 2018-04-12 21:32:38 -04:00
bc72f20a2d reposition echo 2018-04-12 21:06:00 -04:00
78a9711447 fix unreg cleanup 2018-04-12 21:05:38 -04:00
55d9b25f57 double quote more paths
fixes #1681
2018-04-06 18:08:28 +02:00
7294092618 fix a typo 2018-04-06 00:00:11 +02:00
959073ac5c Merge pull request #1730 from DRSDavidSoft/dev-david
Generate Win32 version string based on build no, git tag or fallback to changelog
2018-04-05 23:51:06 +02:00
e746101ed2 Merge pull request #1739 from daxgames/fix_init
fix bash and powershell init scripts
2018-04-05 23:48:26 +02:00
65bf25f1d0 fix bash and powershell init scripts 2018-04-03 14:17:34 -04:00
94e7c24b72 minor typo fix 2018-03-31 00:03:39 +04:30
d6569192fc replace tabs to spaces 2018-03-30 23:57:21 +04:30
7d04ded1c2 add appveyor message 2018-03-30 23:52:32 +04:30
5c3f46fd88 fix git detection statement 2018-03-30 23:46:48 +04:30
502129d4f9 minor fix 2018-03-30 23:31:51 +04:30
b36b8a4cb3 new version handle logic 2018-03-30 23:23:44 +04:30
3965852c26 clean before build 2018-03-29 03:23:18 +04:30
93d2c427ad respect powershell naming convention 2018-03-29 01:18:57 +04:30
624deec2f0 minor edit – added a character to the verbose output 2018-03-28 22:34:28 +04:30
c817df2032 add build version str; fix padding 2018-03-28 22:30:09 +04:30
236aefe8c6 add build version string 2018-03-28 22:28:33 +04:30
2f3f1d474a specified custom manifest file 2018-03-28 22:28:01 +04:30
cb4d95e7a3 added build number, removed duplicated manifest 2018-03-28 22:26:17 +04:30
1dadade661 replaces spaces to tabs 2018-03-28 22:24:26 +04:30
2bc17c4ff2 renamed app.manifest 2018-03-28 22:22:56 +04:30
ae473ecea6 add escaped quotes handling 2018-03-28 21:24:02 +04:30
3aeca3c972 add required block to else statement 2018-03-28 21:16:27 +04:30
57a28f118d add template for version string 2018-03-28 21:14:15 +04:30
018bf45df4 add version string handler 2018-03-28 21:13:55 +04:30
f8359fc3f7 add verbose version info 2018-03-28 21:11:31 +04:30
249f7b9baf add build flags; use spaces 2018-03-28 21:07:14 +04:30
eaf7048ed7 add automatic version creation
with this commit, the build script extracts the latest version string found in `CHANGELOG.md`, and then creates appropriate resource files for the executable compilation
2018-03-28 20:48:57 +04:30
f4321bbc33 add functions to get version and generate rc
these functions can be used to a) extract the version from `CHANGELOG.md` and b) create a .rc2 file from the `sample` template by replacing its content
2018-03-28 20:41:18 +04:30
96736feecc added version.rc2.sample
this file controls how the version strings appears in the final compiled .exe file
2018-03-28 20:38:12 +04:30
dc9e385365 add cmder manifest file 2018-03-28 18:43:41 +04:30
a85cd81f00 added version resources and manifest. 2018-03-28 18:37:46 +04:30
1662678ebf fixed line endings 2018-03-28 18:16:14 +04:30
9462315789 fix /unregister 2018-03-24 08:57:14 -05:00
864f778099 load user clink 2018-03-24 08:03:28 -05:00
bcf8527f74 run markdownlint and update changelog 2018-03-24 03:34:39 +01:00
72ab0f064f update psget to the latest version 2018-03-24 00:01:08 +01:00
91f5c5379a actually show the new task 2018-03-23 23:49:54 +01:00
19bad7dfa9 open cmder in the current working dir as every other windows app works (#1725)
open cmder in the current working dir as every other Windows app works
2018-03-23 23:38:53 +01:00
afb8f52516 ignore .github dir and markdown files for packaging 2018-03-23 23:34:05 +01:00
6543c204b7 add default WSL bash task 2018-03-23 23:29:24 +01:00
0438ce5763 ⬆️ Update Git to 2.16.3
Release notes: https://github.com/git-for-windows/git/releases/v2.16.3.windows.1
2018-03-23 23:11:05 +01:00
471369f73b Made all sub-routines in init.bat importable libs (#1706) 2018-03-23 15:20:07 +01:00
66d36fdc1c Created issue_template.md (#1723)
Purpose:
- Prevent duplicated/similar issues
- Explain the suitable repo for each issue, avoiding ConEmu issues here.
- Help users to provide a better explanation to identify the problem
2018-03-23 14:32:15 +01:00
17247f2065 ⬆️ ConEmu to 180318
release notes: https://conemu.github.io/en/Whats_New.html
2018-03-19 20:57:10 +01:00
63f3f8020f Merge pull request #1707 from cmderdev/drop_xp
Drop Windows XP support
2018-03-14 13:26:56 +01:00
b37001b591 Update CHANGELOG.md
Update Changelog Tag url after merge
2018-03-13 18:18:46 -05:00
60880362a9 No longer use the special _xp platform tools since we no longer support XP 2018-03-13 23:53:33 +01:00
91651fc98b Drop Windows XP support 2018-03-13 23:40:07 +01:00
997e799138 New cmder.exe args and shared install capability (#1696)
@MartiUK: Squashing to avoid adding multiple "fixed" commits

* add args to init.bat

* adding args to cmder launcher

* reworked command line parsing and added a /C [path] arg for individual user config location

* removed unnecessary includes

* make shell init scripts work with CMDER_USER_CONFIG

* update tasks and readme.md

* fix git version check

* readme updates

* add register/unregister back in

* fixed git version again

* removed error if user defines user-aliases store file was not present an init.bat launch

* added enhance_path method to only update path if required

* added enhance_path method to only update path if required

* fixed a path prepend issue in enhance path

* init.bat with args is executed outside cmder/conemu sets cmder_root properly. Thanks @DRSDavidSoft

* fixed enhance path append issue

* implements recursive `/bin` path enhancing.

https://github.com/cmderdev/cmder/issues/1624

* added max depth

* changes command line arg to max_depth

* set max_depth default

* readme.md updates

* add back cmder /c [path] arg so it can be used with admin sessions since the env is not shared.

* readme.md updates

* fix /c setting of cmder_user_config

* changelog and readme

* remove bad arg

* fixed command line parsing and updated command line help on error

* Fixed ConEmu.xml file handling so it works again

* Added default user config root location if '/c' is specified and next arg is not another arg
2018-03-13 16:38:27 +01:00
ff2e09849e simplified λ prompt in lua (#1693)
* replace lambda with $

* simplified $ prompt

The $ character for the prompt is defined only once instead of twice

* fixed λ prompt
2018-03-08 12:01:48 +01:00
8237b1010c Detect and compare installed Git version against vendored Git (#1658)
* Replaced the git version comparison mechanism with actual version comparing
* Add notes regarding the git comparison method

Added a simple mechanism to call and compare the user installed git version against the vendored git version, rather than checking if the `git.exe` executable is located in a `/bin` directory.

This fixes false warnings by actually testing if the user installed git is older, or more recent.

Added a small note regarding how the `init.bat` works, and where to put custom `git.exe` binaries as well as where to find the Minified Cmder.
2018-02-22 19:20:08 +00:00
cf311fb1c2 ⬆️ Update Git to 2.16.2
Release notes: https://github.com/git-for-windows/git/releases/tag/v2.16.2.windows.1
2018-02-20 20:20:23 +01:00
78b9c97fa9 Updated Changelog.md 2018-02-19 22:55:46 +01:00
a49c1b3f3d ⬆️ ConEmu to 180206
release notes: https://conemu.github.io/blog/2018/02/06/Build-180206.html
2018-02-11 18:09:47 +01:00
fff6e4506c ⬆️ Update Git to 2.16.1(4)
Release notes: https://github.com/git-for-windows/git/releases/tag/v2.16.1.windows.4
2018-02-11 18:07:40 +01:00
a71c6a50ad always close open file handles
Fixes #1619
2018-01-16 21:59:11 +01:00
5e703796c9 git should no longer require extra file closing after the recent changes 2018-01-09 14:52:48 +01:00
b88a01822f re-order git/hg/svn functions 2018-01-09 14:52:48 +01:00
3bf07c088d Fix alias.bat handling "user-aliases.cmd" with spaces (#1531)
* Fix alias.bat handling "user-aliases.cmd" with spaces

This fixes the alias command when user-aliases.cmd is located in a path with spaces (like when Cmder is installed into the program-files directory).
I've also made the alphabetical case of the ALIASES variable consistent.

* address review comments
2018-01-09 14:52:22 +01:00
724930d69d cleanup on isle 5 2018-01-09 14:50:46 +01:00
badb027c24 use /dir Switch instead of CMDER_START 2018-01-09 14:50:46 +01:00
145a1b144b Fix for the last 2018-01-06 23:52:24 +01:00
29c5e83975 Replace --no-lock-index with the new --no-optional-locks 2018-01-06 23:43:50 +01:00
1c02c55c2f ⬆️ ConEmu to 171226
release notes: https://conemu.github.io/blog/2017/12/26/Build-171226.html
2017-12-28 14:21:28 +01:00
74fc14eadf ⬆️ ConEmu to 171217
release notes: https://conemu.github.io/blog/2017/12/17/Build-171217.html
2017-12-22 17:23:56 +01:00
0729c06c20 switch back to the official version of clink 2017-12-22 17:23:56 +01:00
6da96fb7ec add config/settings to .gitignore 2017-12-16 23:38:11 +01:00
ba610f5f7b fixes 2017-12-15 22:37:08 +01:00
7930c9bfe5 Add upgrade steps to README.md 2017-12-15 22:37:08 +01:00
bafaf7cba4 oops, fix download url 2017-11-30 10:13:25 +01:00
3c14d19a27 ⬆️ Update Git to v2.15.1(2)
Release notes: https://github.com/git-for-windows/git/releases/tag/v2.15.1.windows.2
2017-11-30 10:05:46 +01:00
13941a44ec ⬆️ Update Git to v2.15.1
Release notes: https://github.com/git-for-windows/git/releases/tag/v2.15.1.windows.1
2017-11-29 23:54:39 +01:00
ee4f85de85 Merge pull request #1416 from gucong3000/patch-1
Compatible with Visual Studio Code (cmd)
2017-11-29 13:43:13 +01:00
9d6e5c12a2 Fix startup folder issue 2017-11-13 19:33:03 +01:00
da27f9be9f ⬆️ ConEmu to 171109
release notes: https://conemu.github.io/blog/2017/11/09/Build-171109.html
2017-11-12 00:35:42 +01:00
124565f36a switch to the 64bit version of Git for Windows 2017-11-03 15:06:27 +01:00
46d468aea0 touch up clink.lua 2017-11-03 13:13:51 +01:00
dc27c53739 ⬆️ Update git-for-windows to v2.15.0.windows.1 2017-11-01 11:32:18 +00:00
7479d620b1 Merge pull request #1417 from gucong3000/patch-2
Compatible with Visual Studio Code (PowerShell) integrated terminal.
2017-10-31 21:09:23 +00:00
a8d32611a9 Fix lamda color after a ConEmu change
Seems like https://github.com/Maximus5/ConEmu/issues/1288 caused this
2017-10-29 10:46:38 +01:00
b6042a7ca1 Create LICENSE 2017-10-28 14:21:38 +02:00
dcf22af3c8 Remove startup directory overrive switch from command in README.md 2017-10-28 14:21:12 +02:00
b58ff9bb53 Make default tasks respect "Startup directory for new process"
"d" switch specified along with "-new_console" flag in default tasks
commands made them to override chosen startup directory (effectively
ignoring it), therefore it is removed. Closes #920, closes #1024,
closes #1097, closes #1303.
2017-10-28 14:21:12 +02:00
68d9425c89 Avoid using aliases in profile.ps1
Aliases such as `ls` may have been overridden in the user's profile script and the resulting behavior may be different from `Get-ChildItem`. For example binding `ls` to GNU `ls.exe` generates an error if there are no matching files.
2017-10-28 14:18:09 +02:00
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
7ca2f5503a Merge branch 'master' into patch-2
# Conflicts:
#	vendor/profile.ps1
2017-08-03 18:32:44 +08: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
a7237370e3 Compatible with Visual Studio Code (PowerShell) 2017-06-23 18:39:36 +08:00
25005930ba Compatible with Visual Studio Code 2017-06-23 17:48:03 +08: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
68743a8742 Merge pull request #890 from cmderdev/development
Merge latest Development
2016-03-20 11:54:59 +00:00
73f9400aa8 Merge pull request #723 from cmderdev/release-1.3
Release 1.3
2016-03-20 11:54:28 +00:00
3ca847fc42 ⬆️ Git@2.7.4.windows.1
Changelog: https://github.com/git-for-windows/git/releases/tag/v2.7.4.windows.1
2016-03-18 18:20:06 +01:00
0de643be42 ⬆️ Git@2.7.2.windows.1
Changelog: https://github.com/git-for-windows/git/releases/tag/v2.7.3.windows.1
2016-03-17 03:33:09 +01:00
05c113efee Fix PSReadline clearing directory prompt.
If user has PSReadline and is using it be sure to clear 1 less line to prevent the directory prompt from being cleared.

Fixes #879
2016-03-10 10:50:37 +00:00
7d2197086e Merge pull request #866 from JanSchulz/revert_set_cmderstart
Revert "Set CMDER_START to homeprofile"
2016-03-10 10:46:04 +00:00
964f18c66c Merge pull request #874 from daxgames/process_profile.d_sooner
Process profile.d scripts before adding user aliases
2016-03-07 19:19:11 +01:00
01667a5bf0 Process profile.d scripts before adding user aliases 2016-03-07 08:12:50 -06:00
3085fca9e0 synced with upstream/development 2016-03-06 17:27:27 -06:00
06c6e5fdb6 Merge pull request #873 from daxgames/echo_off
Prefer use of first line @echo off vs. @ per line to turn off echo pe…
2016-03-07 00:07:25 +01:00
0f4292aa08 Prefer use of first line @echo off vs. @ per line to turn off echo per line. - Cleaner file, no side efects 2016-03-06 15:40:06 -06:00
72876f41e2 Merge pull request #872 from daxgames/fix_bash_profile.d
silenced bash profile.d when profile.d is empty
2016-03-06 22:11:48 +01:00
722f8b7745 silenced bash profile.d when profile.d is empty 2016-03-06 15:05:40 -06:00
df768f3c5e Merge pull request #867 from daxgames/cmd_profile.d_fix
Various fixes for profile.d support
2016-03-05 02:21:46 +01:00
8dbbb902d9 fixed vendor\profile.ps1 profile.d - added post popd 2016-03-02 18:04:25 -06:00
d6eec2f3a5 silence profile.d if profile.d is empty 2016-03-02 17:37:28 -06:00
32c1d4028a added fully qualified path to cmd profile.d section 2016-03-02 15:17:43 -06:00
c904676cf4 Revert "Set CMDER_START to homeprofile"
This reverts commit 728e83a85b.

The problem with *always* setting CMDER_START is that this makes the
`-new_console:d:%USERPROFILE%` in the conemu task definitions unnecessary, as
this is now always overwritten as CMDER_START is set. This also means that a
very visible conemu UI for setting the startup dir does not work anymore which
might leave the user puzzled why.
2016-03-02 18:29:34 +01:00
997bd5c24e Enhanced alias.bat to allow file storage path 2016-03-01 21:08:08 -06:00
a74fdd2b68 Merge pull request #860 from daxgames/fix_cmd_plugin.d
Fix cmd plugin.d
2016-03-02 04:04:30 +01:00
8a5c58e626 fixed cmd profile.d support 2016-03-01 20:35:55 -06:00
bf75f70181 added config/profile.d 2016-03-01 20:35:24 -06:00
8fa151d1db Merge pull request #740 from daxgames/cmder_exinit
Cmder exinit
2016-02-29 08:11:34 +00:00
33d6f11e87 Merge pull request #855 from daxgames/profile.d_support
Added profile.d like support for all supported shells
2016-02-29 08:11:31 +00:00
434d6f2996 Fixed profile.d table 2016-02-28 10:41:10 -06:00
59e4a1684b Merge branch 'development' of https://github.com/cmderdev/cmder into profile.d_support 2016-02-27 12:52:00 -06:00
361a8eae66 Fixed profile.d support for bash 2016-02-27 12:19:03 -06:00
727d6a6abd Added bits about MinGW integration status 2016-02-27 12:05:01 -06:00
f7a18d4b6e --amend 2016-02-27 12:00:40 -06:00
9e7f860e2d Fixed and added zsh shell capability 2016-02-27 08:43:39 -06:00
6cf62dcdc7 Added details on integrating external *nix like env 2016-02-27 07:42:22 -06:00
79f8560a24 added profile.d stuff 2016-02-27 07:40:47 -06:00
4245608e6d Merge branch 'development' of https://github.com/cmderdev/cmder into cmder_exinit 2016-02-27 06:41:11 -06:00
aedd078050 ⬆️ Git@2.7.2.windows.1 2016-02-27 01:39:06 +01:00
a959409c0f --amend 2016-02-25 18:22:43 -06:00
0a6b79b9ed Added profile.d like support for all supported shells 2016-02-25 08:01:16 -06:00
85ce629dde Merge pull request #852 from JanSchulz/patch-1
Typo in Readme.md
2016-02-23 16:25:23 +00:00
78ea063fb0 Typo in Readme.md 2016-02-23 16:45:07 +01:00
a99d27a7e1 Merge branch 'development' into cmder_exinit 2016-02-19 10:10:12 -06:00
289126f870 Merge pull request #837 from JanSchulz/appveyor_badge
Add appveyor batch to README
2016-02-19 09:56:55 +00:00
e1eed7a0f1 Merge pull request #831 from cmderdev/development
1.3 Pre-Release Merge
2016-02-19 09:56:47 +00:00
c3042909e0 Merge pull request #841 from gpakosz/clink-git-prompt
Fixed get_git_dir() to take submodules into account. Fixes #833
2016-02-16 11:31:09 +01:00
64d981e470 Fixed get_git_dir() to take submodules into account. Fixes #833 2016-02-16 11:15:42 +01:00
3fab0c122c Add appveyor batch to README
This is mainly to point people to newer builds of cmder and is therefore to be
merged into the master branch.
2016-02-13 18:43:46 +01:00
9ace64f6dc Merge pull request #835 from gpakosz/git-prompt-submodules
Fixed checkGit() in case of submodules
2016-02-10 15:42:40 +00:00
95bbb8edbb Fixed checkGit() in case of submodules
Since Git 1.7.8, submodules don't contain a .git/ folder anymore.
Instead, the submodule directory is populated with a .git text file
which contains a git-dir: /path/to/superproject/git_dir/modules/name.

See,
https://github.com/git/git/blob/master/Documentation/RelNotes/1.7.8.txt#L109-L114
2016-02-10 16:33:01 +01:00
842394300f Better defaults for window size.
Should now just be a 120x30 at the 500x500px position and saves size
and position on close.
2016-02-09 13:58:41 +00:00
26e6d80364 Build on tags
For releases.
2016-02-09 13:57:31 +00:00
728e83a85b Set CMDER_START to homeprofile
This is to set CMDER_START to home when no directory is given.

This is to ensure it is set even though it will default to the home
directory anyway.

It’ll allow users to use CMDER_START even if started without a path.
2016-02-09 13:40:32 +00:00
95f6096a45 Latest 3rd party updates. 2016-02-08 22:14:04 +00:00
fab895bd9b Undo. 2016-02-08 22:09:35 +00:00
b17db6930a Merge pull request #771 from cmderdev/development
Merge latest development
2016-02-08 19:58:54 +00:00
d97bc4ca69 Merge branch 'development' into release-1.3 2016-02-08 19:56:47 +00:00
914ddb8207 Merge pull request #804 from cmderdev/buildscriptchange
Fix build script not exiting on msbuild failure.
2016-02-08 18:41:27 +00:00
7962edac56 Merge pull request #803 from cmderdev/MartiUK-patch-1
Set tasks to always use CMDER_START
2016-02-08 18:41:09 +00:00
97cae2bdc7 Bring variable into line 2016-02-08 18:26:57 +00:00
6bb07d9b19 Revert "Set tasks to always user CMDER_START"
This reverts commit 4dc1249881.
2016-02-08 18:19:58 +00:00
fccba9269d ⬆️ ConEmu@160202
Changelog: https://conemu.github.io/en/Whats_New.html
2016-02-03 03:15:56 +01:00
07b426355e ⬆️ Git@2.7.0.windows.2
Changelog: https://github.com/git-for-windows/git/releases/tag/v2.7.0.windows.2
2016-02-03 03:13:43 +01:00
261b8bfce3 Merge pull request #794 from JanSchulz/793-clink-settings
Reorganize how clink settings are loaded
2016-02-01 08:45:29 +00:00
c055ce1c13 Get USER_PROFILE differently
USER_PROFILE is a known folder, so use that functionality to get it.
2016-01-31 21:35:57 +00:00
fe45b186e0 clink.lua: add header
Introduce a header like in the rest of the scripts that this file
is overwritten on updates and should not be modified.
2016-01-15 18:06:35 +01:00
788b5262b4 Reorganize how clink settings are loaded
4bfdf04d59 moved all clink config files
to vendor/ and therefore the files in config/ were not used and .history
was also moved to vendor/.

The new arrangement uses `--script` to load our own clink.lua file which in
turn as the first thing loads the original clink.lua file. The user defined
files are again in config/. As clink regenerates these files, if they are not
present, this also means that we don't need to include the settings file
in the git repo and therefore don't overwrite it on updates.
2016-01-15 18:02:10 +01:00
73e1eb2a8b Ensure Environment Variables are propagated. 2016-01-15 13:13:16 +00:00
fabcd468a7 Use the correct type and initialise it. 2016-01-15 13:01:55 +00:00
df7a662965 Get the environment variable correctly. 2016-01-15 12:44:10 +00:00
e7243efce2 Fix build script not exiting on msbuild failure. 2016-01-15 12:28:24 +00:00
9c7a037948 Set CMDER_START to USER_PROFILE if no path given. 2016-01-15 12:10:24 +00:00
4dc1249881 Set tasks to always user CMDER_START
CMDER_START should always be set as a result of either:
1. The user passes a directory to cmder.exe using `/START $DIR`
- or -
2. Sets CMDER_START as a default environment variable.
Fixes #772
2016-01-15 11:47:54 +00:00
5b7c008202 Merge pull request #798 from JanSchulz/cmder_here
Make "cmder here" work again
2016-01-15 11:44:39 +00:00
724b9a25da ⬆️ Bump clink to 0.4.7 2016-01-15 00:16:18 +01:00
2c0c6ed416 Make "cmder here" work again
The new system works by setting "CMDER_START" if a cmder.exe gets a
startup path. The rest is then implemented in the profile.ps1 and init.bat.
The new system works as follows:

1.If a startup path is given, cmder.exe sets this as `CMDER_START` and the
  startup scripts change to that directory.
2.If the usere sets a `CMDER_START` environment variable and this is not
  overwritten by cmder.exe, this variable is taken as the startup
  directory by the startup scripts.
3.If not such path is give, the conemu startup dirs is the winner, as the
  startup scripts don't change anything.
2016-01-11 22:19:10 +01:00
c77641cf03 ⬆️ Git@2.7.0.windows1
Changelog: https://github.com/git-for-windows/git/releases/tag/v2.7.0.windows.1
2016-01-07 01:50:52 +01:00
378014d5d4 Merge pull request #781 from vladimir-kotikov/patch-3
Bump clink to 0.4.6
2015-12-28 22:50:28 +01:00
1389fe0c4d ⬆️ Bump clink to 0.4.6 2015-12-29 00:23:30 +03:00
9eb9620966 Fixed som misc stuff and prevented multi runs 2015-12-16 12:37:40 -05:00
add52c0ee6 ⬆️ Git for Windows@2.6.4
Changelog: https://github.com/git-for-windows/git/releases/tag/v2.6.4.windows.1
2015-12-16 06:13:53 +01:00
744522b97b Merge pull request #773 from glureau/development
Fix vendor/init.bat when the PATH contains spaces.
2015-12-15 19:09:58 +00:00
6879a94c10 Fix vendor/init.bat when the PATH contains spaces. 2015-12-15 18:56:22 +01:00
41836e669b ⬆️ ConEmu@151210
Changelog: https://conemu.github.io/blog/2015/12/10/Build-151210.html
Skipped:
* https://conemu.github.io/blog/2015/12/08/Build-151208.html
* https://conemu.github.io/blog/2015/12/07/Build-151207.html
* https://conemu.github.io/blog/2015/12/05/Build-151205.html
* https://conemu.github.io/blog/2015/12/02/Build-151202.html
* https://conemu.github.io/blog/2015/11/29/Build-151129.html
2015-12-11 18:48:47 +01:00
4a4e48e04c Merge pull request #766 from vladimir-kotikov/patch-2
Bump clink-completions to 0.2.2
2015-12-10 20:56:41 +01:00
5f68e4e987 ⬆️ Bump clink-completions to 0.2.2 2015-12-10 22:09:12 +03:00
bdd0f38d59 Merge pull request #746 from daxgames/readme_updates
README.md Updates
2015-12-10 17:54:10 +01:00
6280416aed Merge pull request #756 from JanSchulz/extra_line_fix
Fix: don't garble the input line for long lines in git projects
2015-12-04 20:35:04 +01:00
567889e69f Fix: don't garble the input line for long lines in git projects
If having a long line of input in histroy, which went on into the
second row and using <up> to get back to it, you got the effect
that the input was split over three lines: "text, empty, text",
but using the arrows do move to the front of the first line was
moving the cursor in the second (empty) row. You could change
the text, but you needed to do it "in the dark".  No idea why
s/os.execute/is.popen/ fixes this, but it does.

Partly adresses https://github.com/cmderdev/cmder/issues/749
2015-12-04 19:57:08 +01:00
9a1d49bfc3 Merge pull request #427 from kodybrown/development
Added code to check for the existence of a customized ini file..
2015-12-04 13:04:21 +00:00
30dbfa6144 Merge pull request #736 from JanSchulz/more_config
More config
2015-12-04 13:04:13 +00:00
73f5cbdc7b README.md Updates 2015-11-28 11:12:25 -06:00
d0909f27e1 ⬆️ ConEmu@151129
Changelog: http://conemu.github.io/blog/2015/11/26/Build-151126.html
Skipped http://conemu.github.io/blog/2015/11/22/Build-151122.html
2015-11-28 02:45:05 +01:00
b88ea50aef Added vendor/cmder_exinit. Allows integrating externally installed Msys/Msys2/Cygwin into Cmder 2015-11-26 09:32:10 -06:00
46bad57ef8 Added config/aliases to .gitignore to account for recent changes in dev branch 2015-11-26 09:27:32 -06:00
3595d3e7fc Merge pull request #737 from JanSchulz/user-profile
Use consistent naming: user-profile.{sh|bat|ps1}
2015-11-25 10:01:18 +00:00
05c6f1c9cc Merge pull request #738 from daxgames/packignore_updates
added config\user-* to packignore
2015-11-25 10:00:12 +00:00
182d0c15a3 Merge pull request #731 from daxgames/fix_icons
Fix icons
2015-11-25 09:59:59 +00:00
867910ac9e added config\user-* to packignore 2015-11-24 19:08:58 -06:00
630ac0c571 reverted last change, removed config/user-* from packignore 2015-11-24 19:03:46 -06:00
105e381e66 Document the files in config 2015-11-25 00:31:17 +01:00
854cadb185 Use consistent naming: user-profile.{sh|bat|ps1} 2015-11-25 00:23:04 +01:00
4bfdf04d59 Do not overwrite cmder.lua on update 2015-11-25 00:14:35 +01:00
c9550490f5 Merge pull request #735 from JanSchulz/config_aliases
Do not overwrite aliases on update
2015-11-24 22:54:49 +00:00
85804d729e Merge pull request #734 from chase-miller/development
Added check for git install path in init.bat.
2015-11-24 22:43:15 +00:00
4154cdf204 Do not overwrite aliases on update 2015-11-24 23:38:26 +01:00
76e14cd268 Added check for %USERPROFILE%\AppData\Local\Programs\Git path in init.bat. Installing from https://git-scm.com/download/win seems to put git in this directory. 2015-11-24 17:26:41 -05:00
8601b0f940 added config/user-* to packignore 2015-11-24 16:06:39 -06:00
ce2a311c81 Merge branch 'development' of https://github.com/cmderdev/cmder into fix_icons 2015-11-24 14:54:40 -06:00
191316282a Get 100% supported Cmder task icons from icons\Cmder.ico so tabs have an ico if launched from the cmder.bat file 2015-11-24 14:52:13 -06:00
fd9c8a74b1 Added Git for Windows icon to mintty tasks to differentiate them from 100% supported Cmder tasks 2015-11-24 14:45:52 -06:00
519b9cabbb Merge pull request #729 from daxgames/fix_vim_alias
Fixed - Powershell vim/vim alias opening a new tab when editing a file
2015-11-24 18:21:03 +01:00
9b25544c05 Fixed - Powershell vim/vim alias opening a new tab when editin a file 2015-11-24 10:58:58 -06:00
a9b06459da Merge pull request #726 from daxgames/default_aliases
Added vi/vim aliases and fixed powershell startup errors
2015-11-24 09:26:02 +00:00
5eff672a4b Added lambda prompt for bash/mintty, matches cmder and powershell prompts 2015-11-23 22:13:33 -06:00
8566b6f6ca Added vi/vim aliases and fixed powershell startup errors 2015-11-23 19:10:22 -05:00
1af65edaec Merge pull request #702 from daxgames/msys_bash
Msys bash
2015-11-23 23:31:02 +00:00
e6d2394d48 Added some documentation to the README.md file 2015-11-23 18:20:15 -05:00
6d215f58c6 Merge pull request #673 from DoCode/development
Enable the '/single' switch (#577)
2015-11-20 10:50:44 +00:00
7e4912514f Merge pull request #722 from MartiUK/development
Update to conemu 151119
2015-11-20 10:50:02 +00:00
86edf3cbb0 Merge master into release-1.3
Resolved Conflicts:
	.gitignore
	README.md
2015-11-20 10:45:33 +00:00
a3e2d7546d Update to ConEmu 151119
Changelog: https://conemu.github.io/blog/2015/11/19/Build-151119.html
2015-11-20 10:29:32 +00:00
b9362b0a3d For PSV2.0 compat don't use $PSScriptRoot
As the build script must be executed from the `<projectroot>/scripts`
directory anyway we can assume `util.ps1` is as the same path as
`build.ps1` and just reference the current folder.
2015-11-19 14:18:47 +00:00
1046198648 Merge pull request #720 from MartiUK/development
Disable appveyor test search
2015-11-19 14:04:46 +00:00
908773622d Disable appveyor test search
We don't have tests.
2015-11-19 13:57:12 +00:00
deb23a21a1 Merge pull request #719 from MartiUK/development
Fix gitter webhook
2015-11-18 14:16:53 +00:00
1ec507c1d0 Fix gitter webhook
Should notify gitter of build success and failures.
2015-11-18 14:10:26 +00:00
1b159df7c2 Merge pull request #718 from MartiUK/development
Publish appveyor artefacts
2015-11-18 13:15:14 +00:00
2e582b9db9 Fix after_build script.
We are already in the scripts directory after build.
This prevents the ItemNotFoundException seen here:
https://ci.appveyor.com/project/MartiUK/cmder/build/1.0.79-development#64
2015-11-18 13:08:31 +00:00
f9b2c768b8 Package and upload artefacts on appveyor
Useful for PRs and releases.
2015-11-18 13:01:57 +00:00
4ce55d1019 Merge remote-tracking branch 'refs/remotes/cmderdev/development' into development 2015-11-18 12:06:10 +00:00
7f43014b68 pulled in upstream development branch 2015-11-14 12:15:42 -06:00
cf15dcffc7 Added/enhanced bash with cmder.sh/user-cmder.sh, organized tasks menu
added personal files to .gitignore so they never get uploaded to the repo and added support for msys2 bash in the new git for windows

added autocreate of config/user-cmder.sh if iot does not exist and added it to the .gitignore

Added tasks: cmd::Cmder, cmd::Cmder as Admin, bash::bash, bash::bash as Admin, bash::mintty, bash::mintty as admin, powershell::powershell, powershell::powershell as Admin. Set default task to cmd::Cmder.  Cot rid of init.bat running before /bin/bash, fixes double exit requirement

Added running git for windows post-install.bat on first cmder launch

fixed file/path not found  errors when launching powershell as admin

fixed file/path not found errors when launching bash/mintty as admin

fixed PATH in vendor/cmder.sh

Added sourcing ~/.bashrc if it exists.

changed .gitignore to ignore anything with path of config/user-*

removed my personal files from .gitignore, left in config/user-*

Make sure $CMDER_ROOT does not have a trailing '/'

%CMDER_ROOT% does not have trailing '\'. allow user to specify a conemu.xml on the command line

Removed '\' from %CMDER_ROOT%
2015-11-14 12:07:56 -06:00
10d0431242 Merge pull request #698 from daxgames/fix_batch_files
Fix batch files
2015-11-14 18:35:30 +01:00
eb5ab51573 Removed training '\' from %CMDER_ROOT% and added config/user-* to .gitignore 2015-11-14 11:14:14 -06:00
87bc4178e6 fix vim path in powershell profile 2015-11-12 15:18:21 +01:00
85aaa09d97 Merge pull request #705 from wenzowski/patch-1
add bundled vim to path
2015-11-12 13:52:53 +01:00
3a2d986c36 ⬆️ Git@v2.6.3.windows.1
Changelog: https://github.com/git-for-windows/git/releases/tag/v2.6.3.windows.1
2015-11-12 13:28:34 +01:00
37626e7687 ⬆️ ConEmu@151109
Changelog: http://conemu.github.io/blog/2015/11/09/Build-151109.html
We skipped http://conemu.github.io/blog/2015/11/01/Build-151101.html for no reason btw.
2015-11-12 13:25:49 +01:00
b018f2cc50 add bundled vim to path 2015-11-11 23:28:04 -05:00
ffd61db30e Merge pull request #697 from vladimir-kotikov/patch-2
Speed up git prompt filtering
2015-11-07 01:06:36 +01:00
53e03076da Speed up git prompt filtering
This increases performance of git prompt filter by fetching branch name directly from `.git/HEAD` file instead of spawning `git` process. Apart from increasing performance this may also solve potential problems with `git` output, as reported in https://github.com/cmderdev/cmder/issues/692
2015-11-07 02:44:43 +03:00
6e3b83460c Merge remote-tracking branch 'upstream/development' into development 2015-10-31 16:29:10 -06:00
3657795b35 Don't package the appveyor file 2015-10-27 07:24:19 +01:00
df37981707 ⬆️ ConEmu@v15.10.25
Changelog: http://conemu.github.io/blog/2015/10/25/Build-151025.html
2015-10-27 07:12:21 +01:00
669bc8bfa6 Update Readme 2015-10-25 03:00:37 +01:00
c2823af661 Merge pull request #676 from vladimir-kotikov/patch-1
Upgrade clink-completions to 0.2.1
2015-10-22 16:28:12 +01:00
66a75ce0dc ⬆️ Bump clink-completions to 0.2.1 2015-10-21 23:19:19 +03:00
15013369cb ⬆️ ConEmu@151015
Changelogs:
https://conemu.github.io/blog/2015/10/06/Build-151006.html
https://conemu.github.io/blog/2015/10/15/Build-151015.html
2015-10-21 21:24:42 +02:00
50c5742794 ⬆️ Git@2.6.2.windows.1 2015-10-21 21:21:54 +02:00
a57c11e171 Enable the '/single' switch by using the registry as statemachine for the current location ('CMDER_START')
Fixed issue #577
2015-10-20 16:49:08 +02:00
417051f496 Fix alt text on gitter link too 2015-10-16 13:35:34 +01:00
0f6441a7ee Update README.md
Update Gitter badge
2015-10-16 13:34:36 +01:00
5e07567a72 Pre-set tasks for the 9 number keys
Task macros ready for users who want to configure their own extra tasks
2015-10-16 13:09:58 +01:00
0f68e48a7b Merge pull request #665 from cmderdev/martiuk-dev
Build from behind proxy & appveyor
2015-10-16 11:02:33 +01:00
46fed27096 Build behind proxy and appveyor.
Fixes #79. Uses Download-File function from d654a53ec43038c42344f9cdbe0abc5b8ff9b387

Create appveyor.yml

Should send build notifications to gitter as well.

Adds appveyor build status badge.

Always compile launcher for AppVeyor

This is to catch any errors that may be caused by changes to the launcher or any outside scripts.
2015-10-16 10:54:43 +01:00
80bafd165f Merge pull request #667 from Pireax/posh-user-script-fix
Fixed problem with Invoke-Expression
2015-10-15 20:46:03 +02:00
1d47a98329 lambda was encoded with UTF-8 without BOM, didn't show properly 2015-10-15 19:57:05 +02:00
07180effac Fixed problem with Invoke-Expression 2015-10-15 19:56:38 +02:00
1e61b858c3 wipe the build dir clean before packing so leftovers don't end up in the release zips 2015-10-15 07:52:05 +02:00
7ebfffc9da Remove incorrect charater at start of line. 2015-10-14 19:24:54 +01:00
719d598048 Merge branch 'development' of github:cmderdev/cmder into development 2015-10-14 18:52:42 +01:00
5e56fbcf38 Merge branch 'development' of github:cmderdev/cmder into development 2015-10-14 18:50:51 +01:00
5a1aa7e25b add overwrite notice to posh profile, too 2015-10-14 19:50:49 +02:00
215ba574aa Merge pull request #666 from Pireax/posh-user-script
Add user startup file for powershell
2015-10-14 19:21:22 +02:00
45cdfc33f2 Remove the -full build switch. Add a compile example.
To get the functionality of -Full back just supply your own sources.json
with the vendors you wish.
Fix a typo and update the project url.
2015-10-14 18:19:08 +01:00
0ab9b74013 Add user startup file for powershell 2015-10-14 18:50:52 +02:00
f71a1f3903 Update packignore 2015-10-14 15:45:42 +02:00
fedcee011d fix vim path 2015-10-14 15:35:51 +02:00
1526bb631f Merge pull request #663 from JanSchulz/fix-startup-file-generation
Fix init.bat generation
2015-10-14 15:19:25 +02:00
27240995f4 Let developers without VS installed test build scripts
Developers can test the build process without needing to recompile a new
launcher exe. This saves some setup steps to get a new developer started.

Also warn that this build can't be release as by definition it can't be
fully tested.
2015-10-14 13:08:26 +01:00
b8f7bde353 Fix init.bat generation 2015-10-14 12:48:14 +02:00
0051614e4b Update packignore 2015-10-14 05:13:13 +02:00
d6b54eec24 Merge pull request #612 from JanSchulz/user-startup
Add a user startup file which can be modified
2015-10-13 18:12:27 +02:00
052ab118e2 Merge pull request #398 from mikesigs/development
Handle quoted paths
2015-10-13 17:52:12 +02:00
c46eb6a525 Merge remote-tracking branch 'upstream/development' into development
Conflicts:
	bin/alias.bat
2015-10-12 21:32:33 -06:00
48259b87ac Add a user startup file which can be modified
Up to now, init.bat would be overwritten when a user updated
Cmder. The new mechanism will create a new (mostly empty) file
for the user to enter commands which will then be executed on
each following startup.
2015-10-12 15:15:33 +02:00
2a26026749 Update README.md
Update Gitter badge
2015-10-12 14:30:04 +02:00
d68816bd11 Update readme 2015-10-12 13:29:47 +02:00
419c785db5 Merge pull request #575 from Bobo1239/enhance-path
Enhance Path in profile.ps1
2015-10-12 13:24:07 +02:00
c15e3f4ebd Merge pull request #585 from Stanzilla/revert_powershell
Revert "Run PowerShell as default"
2015-10-12 13:23:43 +02:00
1f75f85b7c Merge pull request #605 from Stanzilla/bumpgit
Converting msysgit support to git-for-windows support.
2015-10-12 13:23:06 +02:00
4203a8a4ea Merge pull request #653 from vladimir-kotikov/development
Upgrade clink-completions to 0.2.0
2015-10-12 13:11:44 +02:00
cf8a992e37 Merge pull request #601 from Stanzilla/bump_conemu
⬆️ ConEmu@150816
2015-10-12 13:10:23 +02:00
cec7fa3398 Merge eec3fd5578 2015-10-12 13:08:16 +02:00
83c685cdc7 ⬆️ ConEmu to v15.09.13 2015-10-12 13:06:50 +02:00
24fd027cda Update ConEmo project URL 2015-10-12 13:06:50 +02:00
df259195ab ⬆️ ConEmu@150816 2015-10-12 13:06:50 +02:00
20b8b09419 Add -ExecutionPolicy Bypass to the powershell tasks
Fix issue #483
2015-10-12 13:02:43 +02:00
7bc71010c2 Update .gitignore 2015-10-12 13:02:30 +02:00
e5eadc766f Merge pull request #543 from malobre/patch-1
Add  `-ExecutionPolicy Bypass` to powershell tasks
2015-10-12 12:53:36 +02:00
f638e93c21 Merge pull request #548 from thomgit/master
Update .gitignore
2015-10-12 12:53:12 +02:00
6608e16c3b Merge pull request #634 from Stanzilla/revert_cleanupgit
Revert 8b8f98c
2015-10-12 12:52:39 +02:00
d979140bb5 Merge pull request #569 from eeree/issue_568
Fixed: 'Enable-GitColors is Obsolete...' warning
2015-10-12 12:52:08 +02:00
568e2cfcdd Merge pull request #600 from Maximus5/br-xml-location
Use standard path for ConEmu.xml
2015-10-12 12:50:28 +02:00
a9ee246241 Merge pull request #606 from pyprism/patch-1
New URL to ConEmu now hosted on github.
2015-10-07 13:01:34 +01:00
d4ee65405d Merge pull request #651 from jkingsman/typos-phrasing
Fix typos and better phrasing.
2015-10-07 13:00:06 +01:00
3c1aa08313 Merge pull request #652 from jkingsman/patch-2
Make wording clearer
2015-10-07 12:58:22 +01:00
36291ab789 ⬆️ Git for Windows to v2.6.1.windows.1 2015-10-06 21:16:32 +02:00
73c8c0c233 Upgrade clink-completions 2015-10-06 21:45:32 +03:00
61a9b83c42 Make wording clearer 2015-10-02 19:06:18 -07:00
5bcddd6b44 fix typos and better phrasing 2015-10-02 18:58:55 -07:00
32cd7dcb58 ⬆️ Git to v2.6.0.windows.1 2015-09-30 20:35:13 +02:00
b40b0067c0 ⬆️ Git to v2.5.3.windows.1 2015-09-23 20:51:53 +02:00
4edec1675a update to 2.5.2 release 2 2015-09-16 06:18:29 +02:00
4ed35fe110 Revert 8b8f98c
Breaks Git: #503 #521, because git <command> actually uses git-<command>.
2015-09-11 23:51:10 +02:00
583109b695 update to 2.5.2 2015-09-11 22:53:21 +02:00
f783cd8add fix readme 2015-09-05 00:04:51 +02:00
6952d602d2 update to 2.5.1
https://github.com/git-for-windows/git/releases/tag/v2.5.1.windows.1
2015-09-02 19:50:44 +02:00
eec3fd5578 Backup and restore ConEmu.xml on ./build.ps1 2015-09-01 20:09:17 +03:00
7c907a5174 Use standard path for ConEmu.xml 2015-09-01 20:09:17 +03:00
30f7847852 Merge pull request #619 from Stanzilla/bump_clink
Update clink to 0.4.5
2015-09-01 13:10:54 +01:00
801a4ac901 update readme 2015-08-31 05:05:16 +02:00
143e659187 ⬆️ clink to 0.4.5 2015-08-31 04:48:46 +02:00
7fd43b939b delete our own, now obsolete agent launcher 2015-08-31 04:40:10 +02:00
5ce077a74a call git's own ssh-agent script instead of our own 2015-08-28 02:53:49 +02:00
fc85915b2c git 2.5 packages the unix commands in <git>/usr/bin instead of <git>/binso add that to the path, too. 2015-08-28 02:47:02 +02:00
63d35a9760 Update README.md 2015-08-24 06:38:11 +06:00
373a58e1e6 forgot one 2015-08-23 20:21:45 +02:00
3e06fcbf07 First step at converting msysgit support to git-for-windows support. 2015-08-23 20:09:06 +02:00
ea1edda966 Merge remote-tracking branch 'bliker/development' into development 2015-08-18 23:56:11 +01:00
2857e4d6bc Merge remote-tracking branch 'bliker/master' into development 2015-08-18 23:55:44 +01:00
ecbf7a01d1 Revert "Run PowerShell as default"
This reverts commit aaf70a4d9f.
2015-08-09 14:16:24 +02:00
dc9263a11c Merge pull request #578 from Stanzilla/development
update VS to 2015 release version and switch to /MT for static linking
2015-08-04 14:55:02 +01:00
8659b9c6ed update VS to 2015 release version and switch to /MT for static linking 2015-08-04 15:00:32 +02:00
316a42b8f9 Enhance Path in profile.ps1 2015-08-03 16:06:41 +02:00
676297c0d4 Fixed: 'Enable-GitColors is Obsolete...' warning 2015-07-31 21:45:32 +02:00
3aff065210 Update .gitignore 2015-07-09 11:42:53 +05:30
f6a0447a9a Add -ExecutionPolicy Bypass to the powershell tasks
Fix issue #483
2015-07-01 12:55:20 +02:00
70b0615b34 Merge pull request #517 from bondz/patch-1
Remove depreciated Enable-GitColors in posh-git
2015-06-05 12:02:50 +01:00
2a1a736ceb Remove depreciated Enable-GitColors
The function Enable-GitColors is depreciated in dahlbyk/posh-git@4e778e2480 and should be removed here as well.
2015-06-04 23:25:09 +01:00
40fd96b135 Remove leftover history.
This is not needed and confuses users.
2015-05-20 10:55:17 +01:00
271b3ea876 Avoid commiting the wrong dlls 2015-05-19 18:37:34 +01:00
c4873c6e58 Revert "Update to VS2015."
This reverts commit 53efab127e.
2015-05-19 15:48:04 +01:00
29d1378d7a Add git to PATH (while in Cmder)
Add bundled git to PATH if we can't find git on PATH.
2015-05-19 15:47:06 +01:00
c15e29ecb3 $PSScriptRoot compatibility
$PSScriptRoot is not available on PS version 2 or below.

So we'll set it ourselves.
2015-05-19 15:44:32 +01:00
c38f6b3a89 Merge branch 'master' into development 2015-05-17 23:45:07 +01:00
99ea376713 v1.2 2015-05-17 23:44:51 +01:00
2051078cc6 Merge pull request #479 from bliker/development
Fix cleanup script.
2015-05-17 23:21:23 +01:00
6c5034164c Fix cleanup script. 2015-05-17 22:42:00 +01:00
4651201b6c Merge branch 'master' of https://github.com/bliker/cmder 2015-05-17 22:26:31 +01:00
3966ed9433 Merge branch 'development' 2015-05-17 22:25:08 +01:00
2383777418 Merge conflict 2015-05-17 22:24:38 +01:00
a18320c938 Improve warning text when posh-git is missing. 2015-05-17 22:13:23 +01:00
83a853bd52 Fix build script. 2015-05-17 22:13:04 +01:00
53efab127e Update to VS2015. 2015-05-17 22:12:49 +01:00
4de72b68dd Update ConEmu.xml for latest update. 2015-05-17 22:11:10 +01:00
f196375f53 Update to latest ConEmu. 2015-05-17 22:08:35 +01:00
696a0d7622 Merge branch 'development' of https://github.com/MartiUK/cmder into development 2015-04-30 11:49:25 +01:00
7217d5c536 Merge pull request #451 from MartiUK/development
Update sources.json
2015-04-02 13:03:22 +01:00
e549f88b00 Removed extra quotation mark 2015-04-02 12:02:34 +01:00
687fb72397 Update sources for 1.2
Updated sources.
2015-04-02 12:00:44 +01:00
a5968d3d49 Merge pull request #2 from bliker/development
Run PowerShell as default
2015-03-26 10:21:54 +00:00
aaf70a4d9f Run PowerShell as default 2015-03-25 15:11:35 +00:00
717b9f990e Write vendor version to .cmderver file
For a future feature.
2015-03-25 15:09:23 +00:00
4f0e51c6a8 Merge pull request #441 from Jackbennett/ps-register-cmder
Helper function using powershell to register the cmder context menu
2015-03-25 15:08:14 +00:00
520e7cfc0d Merge pull request #440 from Jackbennett/proper-git-check
git and Posh-git check
2015-03-25 15:07:51 +00:00
84dc9c5f0c Helper function using powershell to register the cmder context menu
Function must be run as an administrator since we're touching the
registry.

A neat by product is that users can now re-run this command and set custom
icons.

I'm not sure what the `%V` command does but it's not opening in the targeted
folder as yet.

The output is a little ugly at rpesent.
2015-03-25 14:34:25 +00:00
c466698d6b Only write VCS Status if we're in a git repo
In an effort to speed up the prompt we will only call write-vcsstatus if
there is a .git folder in the current or any parent path recursively.

As this function is called every new prompt line it needs to be as fast as
possible.
2015-03-25 12:29:10 +00:00
18fc5e37c7 Check that git can really be used as well as posh-git
Explicitly call `import posh-git` because it doesn't have a module
manifest thus powershell can't autoload it when using a cmdlet.

At present the cmder repo doesn't try to download posh-git so it might be
missing from the users session.
2015-03-25 12:22:07 +00:00
2292348f95 Merge pull request #438 from vladimir-kotikov/development
Improves performance of prompt filtering
2015-03-22 02:46:52 +00:00
2855a699a1 Removes error messages when getting repo status
When `get_git_status` fails the inner `os.execute` call print error
message to console. This removes all error messages fro such cases.
2015-03-22 00:42:40 +03:00
d8c9d32cb2 Improve performance of git and mercurial prompt
This implements custom logic to detect if we're inside of working tree
and skips os calls if not. This will improve performance of prompt
handling, especially for mercurial prompt.
2015-03-22 00:42:40 +03:00
522a75835f Merge pull request #434 from vladimir-kotikov/development
Preview PR for including external completions into Cmder
2015-03-20 21:38:06 +00:00
b75b3239e7 Adds clink-completions as an external dependency
* Adds package to sources.json
* Merges all cmder's lua modules into one -> cmder.lua to exclude future conflicts
* Adds external modules loading logic
2015-03-20 22:29:34 +03:00
69eb956d65 Merge pull request #432 from Jackbennett/ps-revert-newline
Revert new line from commit dc834cc28f
2015-03-18 21:14:39 +00:00
6c074693a4 Merge pull request #431 from Jackbennett/ps-profile-modulePath
Leverage the Module Autoload path and save doing it ourselves.
2015-03-18 21:14:20 +00:00
dfa58acccc Revert new line from commit dc834cc28f
This matches how cmd looks in conemu for cmder and PS seems to add some
padding around command output so I really don't see what the extra new
line is doing.

Saving dat precious vertical space.
2015-03-18 15:47:01 +00:00
e811c60ab2 Leverage the Module Autoload path and save doing it ourselves.
This should be faster too as we won't automatically import all functions
to the session. Powershell now knows where to look before declaring they
don't exist.
2015-03-18 15:33:55 +00:00
004761b32f Delete all except git.exe, reducing final size
Using git-$COMMAND is no longer supported anyway.
2015-03-18 14:55:50 +00:00
8b8f98c078 Merge pull request #429 from Jackbennett/mend-build
Fix build script removing a trailing comma. Download into a temp folder.
2015-03-18 14:54:55 +00:00
58a89e779b Merge pull request #430 from Jackbennett/native-ps
Adds support for PS 4.0 native hash command to remove a dependency
2015-03-18 14:54:31 +00:00
aad729eb87 Adds support for PS 4.0 native hash command to remove a dependency
PS 4.0 requires installing WMF 4.0 on windows 7, 8, Server 2012
Native on 8.1, Server 2012r2
2015-03-18 13:50:00 +00:00
2c184f8721 Fix build script removing a traling comma. Download into a temp folder.
I made a bad patch with the parameters syntax. I'm making the temp files
go into a subfolder as if the build script stop theres a .tmp that could
be accidentially tracked by source control.
2015-03-18 13:21:43 +00:00
3c289b455b Initial git cleanup PS
It's not functional, yet.
2015-03-18 12:28:34 +00:00
66d5170514 Remove unnecessary binaries.
Just remember to add them in to the package.
2015-03-18 11:12:30 +00:00
b25e46d7a7 Merge pull request #364 from narnaud/pr-local-git
Prefer user installed git over cmder one.
2015-03-18 11:00:44 +00:00
60d3c67194 Merge pull request #324 from cgrail/patch-2
Border less window mode
2015-03-18 10:57:55 +00:00
34947c4f0f Fix the /d flag
Was deleted in last commit.
2015-03-18 10:56:25 +00:00
3b637e9866 Merge branch 'glucas-alias-show' into development 2015-03-18 10:54:44 +00:00
efe244b5fa Resolved conflict in alias.bat merge 2015-03-18 10:54:22 +00:00
aa9cb38672 Change clink matching style to default. Fixes #218
Users should change this to their preference, this is reverting it to
how it should be "out of the box".
2015-03-18 10:37:08 +00:00
7169f49fff Merge pull request #311 from sescandell/fix-adminlaunch
FIX CMDER_ROOT for admin launch
2015-03-18 10:35:15 +00:00
021263d81c Merge pull request #273 from LeoColomb/master
Fixes small Powershell' loader issues
2015-03-18 10:33:58 +00:00
5dbb84d78b Build XP Compatible Binaries
Because people still use an operating system from 2001.
2015-03-18 10:16:40 +00:00
1cea2c3278 Merge remote-tracking branch 'upstream/development' into development 2015-03-17 14:42:03 -06:00
187156487e Added code to check for the existence of a customized ini file named ConEmu-%COMPUTERNAME%.ini, before checking for the standard ini file ConEmu.ini. 2015-03-17 14:39:27 -06:00
c0dcce4880 Merge pull request #422 from ragekit/development
Added git shell task.
2015-03-16 12:14:23 +00:00
4b2590bfd3 Added git shell task. 2015-03-15 14:00:46 +01:00
df4e83de43 Merge pull request #410 from Jackbennett/patch-1
Install steps clarity
2015-02-26 16:51:12 +00:00
4a681bbc60 Install steps clarity
In reference to #389 I thought I'd just clear up this instruction even more.
2015-02-26 11:01:10 +00:00
1ae1194555 Merge pull request #406 from Jackbennett/development
Use a -Full parameter to download all sources rather than the minimum
2015-02-25 16:38:15 +00:00
e566589871 Merge pull request #407 from Jackbennett/update-sources
Update Conemu <preview release>, update clink 4.4
2015-02-25 16:35:50 +00:00
a0d87e8368 Update Conemu <preview realease>, update clink
Lets move to the much newer ConEmu preview release.
Pulling the newer clink also
2015-02-25 15:14:33 +00:00
31c169a761 Use a -Full parameter to download all sources rather than the minimum
Use a full switch to indicate if we want to go and pull a copy of git
since its huge and if a developer is cloning the repo to work on and needs
to build it they already have git.
2015-02-25 13:58:11 +00:00
af30a90ef0 Merge pull request #401 from utek/hg_prompt
Adding mercuial prompt
2015-02-24 12:49:25 +00:00
8a885167c3 mercurial prompt 2015-02-23 13:23:39 +01:00
0311e129ca Handle quoted paths
I was annoyed at having to use short paths all the time in my aliases. It wasn't until I found a command that actually refused to work with a shortpath (running iisexpress.exe) I was determined to find a solution. 

It appears that the reason the quoted paths weren't working was due to the ::validate alias stuff. The for command would stumble on a quoted path, arguing that /foo was unexpected...

The additions on lines 7-8 wrap the input in quotes and then strip the inner quotes. This variable is used in the for loop (instead of %*) for validating the alias. So long as the alias is valid (contains no spaces) then the existing method of appending the new alias to the aliases file works just fine because it still uses %*.
2015-02-22 23:48:33 -06:00
8275f005b2 Added 2 to 2013
We aren't living in the past.
2015-02-19 10:37:43 +00:00
b216079966 Merge pull request #390 from gitter-badger/gitter-badge
Add a Gitter chat badge to README.md
2015-02-12 10:34:13 +00:00
c3d1ccba79 Added Gitter badge 2015-02-12 10:31:44 +00:00
7834fe0a26 Merge pull request #378 from asika32764/patch-2
Support UTF-8 file list
2015-01-28 17:46:43 +00:00
64aaa96bfb Support UTF-8 file list 2015-01-29 00:57:17 +08:00
a708fff824 Merge pull request #374 from CumpsD/patch-1
Updated vendor references
2015-01-21 23:44:16 +00:00
f78e24094b Merge pull request #308 from SheGe/feature/psprompt
Lambda color in powershell was changed to DarkGray
2015-01-21 23:41:00 +00:00
d3e85417ce Update ConEmu.xml
Fixes missing 'PowerShell as Admin' Task
2015-01-21 23:40:09 +00:00
33810f993f Change PowerShell as admin macro
'PowerShell' and 'PowerShell as Admin' task were conflicting as the same
macro `Ctrl + Alt + 2` but the 'As Admin' task is set to `Ctrl + Alt +
3`
2015-01-21 23:24:10 +00:00
ed7a20cec2 Updated vendor references
- Upgrade to git is needed for a security issue in 1.9.4
- Upgrade of ConEmu is needed for High DPI support
2015-01-21 22:25:01 +01:00
45ff72b48b Prefer user installed git over cmder one.
Also set SVN_SSH (pointing to git ssh) so we can use git svn on
ssh svn repositories.
2015-01-12 22:17:30 +01:00
f5ce49b8b3 Merge pull request #353 from Celeo/master
Updating to msysgit 1.9.5
2015-01-08 22:09:52 +00:00
17b4525e60 Merge pull request #362 from vladimir-kotikov/clink-update
Update clink to latest (0.4.3) version
2015-01-08 22:09:20 +00:00
6c69536295 Merge pull request #358 from vladimir-kotikov/alias-rework
Rework `alias` command to not to use external tools
2015-01-08 22:08:11 +00:00
b831c4569f Updates clink to latest (0.4.3) version 2015-01-09 00:29:57 +03:00
dba00b9175 Adds info about command options 2015-01-08 20:43:45 +03:00
01849c3365 Fix quotation for aliases variable 2014-12-24 22:24:54 +03:00
30ddd53288 alias command without arguments now outputs all defined aliases 2014-12-24 22:24:47 +03:00
0ae09e9a4a Add /d option to alias command that removes existing alias
* Remove separate unalias script and add `unalias` alias ^) for `alias /d`
2014-12-24 22:24:42 +03:00
e224d133f3 Rework alias command to handle duplicates
* Removed unnecessary perl script
2014-12-24 22:24:35 +03:00
503ddcb895 Updating to msysgit 1.9.5
https://github.com/blog/1938-vulnerability-announced-update-your-git-clients

Updating to msysgit 1.9.5
2014-12-19 19:41:55 -08:00
11753fdd2a Merge pull request #352 from ogrim/sshagent
Adding script to enable SSH-agent #193
2014-12-18 11:42:10 +00:00
ad4a2103ea Support %HOME% variables containing spaces 2014-12-18 10:30:14 +01:00
6106a555fe Adding info on SSH agent to README.md 2014-12-17 19:15:54 +01:00
75707f9a65 Adding script to enable SSH-agent #193
Adding agent-script to bin-folder and a commented out call in init.bat
2014-12-17 14:32:40 +01:00
dc834cc28f Fixes Powershell loader issues
* Fix modules order required
* Add newline before prompt
* Fix color name
2014-12-01 20:40:07 +01:00
bbbda146b8 Merge pull request #326 from kohenkatz/development
changes copied from PR#256
2014-11-21 10:48:13 +00:00
e5531537ad changes copied from 0f295234cc and 18fea0ac03 2014-11-20 11:08:37 -05:00
44e6184487 Update msysgit & conemu
Updated links to latest versions of msysgit and conemu; 1.9.4-preview20140929 and 141117 respectively.
2014-11-20 11:29:03 +00:00
57ec099e0f Border less window mode
Copy of the https://github.com/bliker/cmder/pull/320

Now for the development branch.

Disable ugly grey windows borders. Especially beautiful for the Quake mode.
2014-11-19 11:34:01 -08:00
b700016a15 Merge pull request #313 from glucas/unalias-command
Add an unalias command
2014-11-11 17:54:47 +00:00
469d299ae8 Update alias.bat to show an existing alias
When calling alias.bat with a single argument, check if that argument is
an existing alias and if so, display it.

Otherwise, proceed as before.
2014-11-11 12:13:31 -05:00
79fbae0854 Add an unalias command
Add bin/unalias.bat to perform the opposite action of alias.bat.
Removes a given alias from the current shell environment and the
aliases file.

Fixes issue #281.
2014-11-11 10:40:57 -05:00
f4bca30e11 Merge pull request #312 from bliker/revert-256-master
Revert "Add single mode support."
2014-11-06 11:48:37 +00:00
b067d48f6c Revert "Add single mode support." 2014-11-06 11:48:00 +00:00
188305426f Merge pull request #256 from TheCjw/master
Add single mode support.
2014-11-06 11:28:11 +00:00
ea3863bc6b FIX CMDER_ROOT for admin launch
When launching a cmd in admin mode, if %ConEmuDir%\..\.. contains any space, it breaks the scripts.
Thanks to this patch, the path is correctly defined now.
2014-11-04 12:26:25 +01:00
c8193ea368 Lambda color in powershell was changed to DarkGray 2014-10-29 21:27:30 +01:00
25991ac6a1 Merge pull request #304 from glucas/pull-alias-reload
Add option to reload aliases from file
2014-10-25 21:40:49 +01:00
717b556d7a Add option to reload aliases from file
Add a quick way to reload the aliases file in the current shell using:

    alias /reload
2014-10-24 15:39:37 -04:00
20c9ba207d Merge pull request #300 from melku/clean_aliases_script
Clean aliases script
2014-10-23 21:20:38 +01:00
d6edd152ad Merge pull request #299 from robgithub/development
Adding history alias
2014-10-23 20:35:55 +01:00
Rob
6a241b5e7c Adding history alias
simple alias that operates as history command
2014-10-23 18:59:58 +01:00
373e1ef36d Merge pull request #298 from LeoColomb/patch-1
Fixes the ambiguity about notice and parameter
2014-10-23 17:48:54 +01:00
5b91665040 Fixes ambigius about notice and parameter 2014-10-23 18:45:54 +02:00
e95127268e Don't ignore icons when packing (Fixes #292)
Icons were being ignored and causing the `/REGISTER ALL *` command to
give the context menu option a broken image..
2014-10-23 10:38:36 +01:00
1067ca0fc6 Create the contributing file.
Something for potential contributors.
2014-10-23 10:15:43 +01:00
9c29adfe68 Merge pull request #296 from brunobatista/patch-1
Fixed small issue in README
2014-10-23 09:51:15 +01:00
312fec2550 Fixed small issue in README 2014-10-22 23:24:13 -02:00
247c65ef05 Add an error message if an alias is detected as invalid 2014-10-16 01:09:24 -04:00
45c9742ea5 remove lua version 2014-10-16 01:03:19 -04:00
5bd0c29c25 Convert the clean alias script to perl 2014-10-16 01:00:59 -04:00
1e2f954724 Add a lua script to clean the aliases file
Note that cmder doesn't ship with lua. Next step is converting this
script to perl, which ships with msysgit.
2014-10-16 00:20:36 -04:00
f5eb662783 Delete PsGet.psd1 2014-09-17 15:02:31 +02:00
e363139b30 Merge pull request #271 from LeoColomb/master
Add custom loader for Powershell & improve its implementation
2014-09-17 12:04:40 +01:00
0e5f070347 Merge pull request #272 from bliker/master
Update Dev Branch
2014-09-17 12:03:54 +01:00
98350e14e8 Add custom loader for Powershell, improve its implementation in Cmder
Fixes #104, fixes #53, fixes #65 (my bad), related to #136, and should
fix #139
2014-09-17 09:55:15 +02:00
18fea0ac03 Update prompt text 2014-09-04 23:41:39 +08:00
0f295234cc Adding single mode support. 2014-09-04 23:29:51 +08:00
dcc9f5e59a Merge pull request #253 from bliker/revert-243-fix-home
Revert "Start in the HOME folder."
2014-09-02 16:24:13 +01:00
73795739f0 Revert "Start in the HOME folder." 2014-09-02 16:22:44 +01:00
67b963b7ee Merge branch 'development' 2014-08-31 12:28:04 +01:00
93589b1c8d 1.1.4.1 launcher build 2014-08-31 12:27:37 +01:00
a6f35d6373 Bump version 2014-08-31 12:16:51 +01:00
bbcabfb730 Merge branch 'development' 2014-08-31 12:03:13 +01:00
75801cbdc8 Merge branch '1.1.4.1' into development 2014-08-31 12:01:51 +01:00
9822fa844e Ignore version files.
Version files don't need to be tracked.
2014-08-30 16:47:21 +01:00
a9f5d552bc Reintroduce VS2013 dlls.
Fixes #246.
2014-08-30 16:46:22 +01:00
63120b8998 Merge pull request #243 from narnaud/fix-home
Start in the HOME folder.
2014-08-28 15:02:37 +01:00
8cdce27653 Merge pull request #249 from narnaud/fix-build
Ensure-Exists is necessary for build.ps1, add it back.
2014-08-28 12:59:32 +01:00
a5691285ec Ensure-Exists is necessary for build.ps1, add it back. 2014-08-28 13:34:59 +02:00
3223a0391a Start in the HOME folder. 2014-08-28 13:09:30 +02:00
a39c632d71 Merge pull request #166 from glucas/run_as_admin
Find cmder files when running as Administrator.
2014-08-27 09:58:14 +01:00
8c6847ee0d Merge branch 'development' 2014-08-27 00:03:47 +01:00
f66f598fca Increment version 2014-08-27 00:03:06 +01:00
de8d2d22f6 Fix the build 2014-08-26 23:52:49 +01:00
72c045dc2d Merge pull request #244 from narnaud/fix-clinkversion
Fix clink version
2014-08-26 12:37:52 +01:00
5ee2fb2a8d Fix clink version 2014-08-26 13:20:38 +02:00
2ba40773b3 Merge pull request #241 from narnaud/fix-vim
The latest msysgit comes with vim 7.4.
2014-08-26 08:51:57 +01:00
662663813e The latest msysgit comes with vim 7.4. 2014-08-26 05:50:07 +02:00
2ec650557e Merge pull request #199 from Jackbennett/docs-integration
New section for user help with an integration feature of Cmder.
2014-08-18 16:09:43 +01:00
932e517c2f Merge pull request #208 from MartiUK/master
Bump versions
2014-08-04 22:13:33 +01:00
6a9d6dd37e bump versions again 2014-08-04 22:13:23 +01:00
e9707b2022 Bump versions 2014-06-19 08:27:44 +01:00
ef91a9c272 New section for user help with an integration feature of Cmder. 2014-05-16 19:37:46 +01:00
9939b1ba7f CMDER_ROOT variable is now also in path
Now you can call cmder /whatever from cmder shell
2014-04-29 15:32:56 +02:00
c032b5f8a0 Using verbose output 2014-04-28 13:22:22 +02:00
9ce90d337b Using earlier version of msvcp and vcr 2014-04-28 13:22:22 +02:00
2a722ee3f3 Remove XP Launcher from TODO list. 2014-04-23 09:29:19 +01:00
3cfd032007 Merge pull request #180 from CoolOppo/patch-1
Update Clink URL
2014-04-14 08:03:47 +01:00
21f0f1dbb2 Update Clink URL
The current Clink URL takes you to the old page on Google
2014-04-13 14:43:05 -04:00
38c13a7f4b Merge branch 'master' of https://github.com/bliker/cmder 2014-04-11 14:31:44 +02:00
97980f5f34 XP compatible launcher 2014-04-11 14:31:16 +02:00
e3e1effef3 Disable click 2014-04-11 14:09:22 +02:00
2542358965 Color scheme from upstream
Before the monokai in the Conemu was different and not matching
colors correctly. Now that was fixed so no need to keep ours.
2014-04-11 14:02:56 +02:00
6b37074dd5 Reordered the PATH, closing #37
Now the msysgit is being loaded first, so find will invoke
the correct and better version
2014-04-11 14:02:34 +02:00
1b7e647b4b Merge pull request #177 from Jackbennett/7zip
Try to find 7-zip if it's installed before an error.
2014-04-11 13:56:32 +02:00
e6618f21a3 Try to find 7-zip if it's installed before an error.
Create an alias to 7z.exe in the script scope.
2014-04-10 18:34:31 +01:00
56a9a2036f Disable left click cursor change by default
Fixes #109
2014-04-10 14:51:03 +02:00
f6c3a0c390 Merge pull request #152 from bliker/scripts
New build and pack scripts
2014-04-10 14:44:39 +02:00
46f6f677dc Silencing the noise 2014-04-10 14:42:20 +02:00
d5d8b0944b Removed old ruby scripts 2014-04-10 13:13:20 +02:00
8e676b3fc7 Added history files 2014-04-10 13:12:38 +02:00
b9379b3ae2 Computing hashes 2014-04-10 13:11:41 +02:00
db49c14422 Fixed paths 2014-04-10 13:11:25 +02:00
46bebee94c More recent package versions 2014-04-10 12:57:45 +02:00
691000fa15 Merge pull request #159 from kohenkatz/fix-context-menu
Add registration for right-click on folder item; Add context-menu icon
2014-04-10 11:45:39 +01:00
df064ec4be Merged 2014-04-10 12:43:34 +02:00
e1c60104ba Updated build and pack Powershell 2014-04-10 12:41:19 +02:00
3a8daf57f7 Merge pull request #167 from schlamar/patch-1
Only cd to $HOME if started in CMDER_ROOT.
2014-03-19 19:50:14 +00:00
fa33052096 Only cd to $HOME if started in CMDER_ROOT. 2014-03-19 12:25:41 +01:00
fe31accba4 Merge pull request #165 from glucas/use_home
Allow for existing HOME variable
2014-03-14 10:23:18 +00:00
3b053f8848 Remove extraneous quotes.
Extra quotes in previous commit caused PATH to be set incorrectly in admin
shell.
2014-03-13 12:36:07 -04:00
c76950293e Find cmder files when running as Administrator.
When starting a shell as Administrator, the CMDER_ROOT variable is
not propagated from the parent (non-Admin) environment.
Fix this by using paths relative to %ConEmuDir%.

Fixes issue #94.
2014-03-13 11:48:50 -04:00
ea22c658b7 CD to HOME by default. 2014-03-11 15:12:35 -04:00
303bfda521 Use HOME if already set. 2014-03-11 15:08:24 -04:00
1f8b0c009a Merge pull request #162 from Jackbennett/scripts
Minor changes for #152
2014-03-05 16:48:01 +01:00
cf74dba780 merging in new additions to the pull request 2014-03-05 14:49:23 +00:00
a9bfd2d2a2 Silencing the output from 7z so I can actually see what else the script is
doing.
Adding some clearer dubugging info for cleaning up folders
2014-03-05 14:00:35 +00:00
b0b8eaef1e Error checking for 7z extraction 2014-03-05 14:31:01 +01:00
5243d8bb8d In powershell you pretty much never want to use Write-Host, its output can't be redirected along the pipeline. You couldn't pipe this output to a logfile. 2014-03-05 13:28:18 +00:00
1225d410fa Merge branch 'scripts' of https://github.com/bliker/cmder into scripts
Conflicts:
	scripts/build.ps1
2014-03-05 12:39:33 +00:00
c661b1f300 Removed unused function 2014-03-05 12:08:26 +00:00
4c1f96c51d Adjusted the build script behavior
Removed some absolute path, and refactored the code so
it handles the nested folder archives
2014-03-05 12:08:24 +00:00
f4b6d8f9a8 Refactored mail download loop, better error handling 2014-03-05 11:22:58 +01:00
0314ee5d46 Removed unused function 2014-03-02 22:04:58 +01:00
6a761a88c1 Adjusted the build script behavior
Removed some absolute path, and refactored the code so
it handles the nested folder archives
2014-03-02 22:00:04 +01:00
447be262f8 A better way to find string length 2014-02-27 18:44:46 -05:00
371ffbc069 Add registration for right-click on folder item; Add context-menu icon
Existing code registered right-click only for blank areas of the
Explorer window.  This change adds a menu item for right-clicking on a
folder in the file list.
Also adds the program's icon to help find it in a crowded context menu.
2014-02-27 18:34:37 -05:00
6d0d93e0fd Merge pull request #157 from Jackbennett/scripts
Getting the build script to a working state
2014-02-26 22:29:31 +01:00
b4a264b1bc This commit amends far more than I would have liked to.
working script will;
Remove existing folders named in the sources
Download the packages listed in sources.json
Extracts the above packages
deletes the downloaded package
2014-02-26 16:46:23 +00:00
3bd0fe517f Need to use an optional package field;
incase url's that don't put the file in the url.
2014-02-26 16:42:48 +00:00
83cd726a41 First sources.json draft 2014-02-24 17:55:34 +01:00
b30056c4b3 First draft of new build script 2014-02-24 17:33:14 +01:00
7688823886 Checking for git and clink 2014-02-18 15:59:44 +01:00
878499cc0b Added bash 2014-02-02 19:08:59 +01:00
0f118fe42d Merge pull request #125 from saaguero/patch-1
Ability to change Font Size using Ctrl+MouseWheel
2014-01-31 08:27:58 -08:00
f719f9d51f Merge pull request #98 from jcheng31/patch-1
Update fast new tab shortcut in README.
2014-01-31 08:27:01 -08:00
86d77b9e6b Ability to change Font Size using Ctrl+MouseWheel 2014-01-28 18:10:15 -02:00
937df38131 Todo list & bonus alias
Added todo list and added an alias.
2014-01-21 23:48:41 +00:00
4120875e33 bump version 2014-01-02 21:23:40 +01:00
c91f8ac461 Conditional delete 2013-12-31 16:12:12 +01:00
c43ad3cb40 Cleanup of the cleanup file
Moved the cleanup to another branch
2013-12-31 15:51:03 +01:00
e0540e43da Update new tab shortcut in README. 2013-12-26 16:11:11 +08:00
cfa0bc9a26 Merge branch 'master' of https://github.com/bliker/cmder 2013-12-24 20:45:56 +01:00
4ac8f5ad82 keep the launcher for winxp 2013-12-24 20:45:43 +01:00
640bdba8bb Merge pull request #88 from sc0tt/master
Make cmd use Cmder icon
2013-12-24 11:42:45 -08:00
88e17fc44a Adding .dlls to git for now 2013-12-24 14:41:36 +01:00
67bdd93c3e Merge pull request #85 from MartiUK/gitcleanup
Git exe Cleanup + some bonuses
2013-12-24 05:38:49 -08:00
804126cf7d Merge pull request #2 from sicil1ano/dev
Git directory cleanup ruby script
2013-12-13 10:30:06 -08:00
94f0ea5c1a Fix Icon
Use the Cmder icon for the application instead of the Cmd.exe icon
2013-12-13 13:27:59 -05:00
71513486ee renamed gitcleanup script 2013-12-13 19:09:25 +01:00
3aeae2871a added missing next 2013-12-13 19:05:21 +01:00
d0e383e5c0 added cleanup script for git directory 2013-12-13 00:49:15 +01:00
2c8364ce58 fixed little mistake in vendor/readme 2013-12-13 00:32:22 +01:00
fc3422e1ba fixed errors and grammar 2013-12-13 00:32:22 +01:00
72aac17c3e Latest release 2013-12-12 19:18:04 +01:00
feec00f233 Merge pull request #1 from MartiUK/master
Remove any ruby implementations of gitcleanup
2013-12-12 04:30:06 -08:00
d9a6bb7e5f Remove any ruby implementations of gitcleanup 2013-12-12 12:29:09 +00:00
d396dd9d33 Initial commit of gitcleanup.py
Initial commit of gitcleanup.py
2013-12-12 12:24:08 +00:00
4f5a96aec7 whops 2013-12-09 18:52:04 +01:00
cbe2f25dcb Hi there 2013-12-09 18:48:30 +01:00
fcea0b5b49 Real launcher added! :pops champagne: 2013-12-09 18:23:23 +01:00
08e478f7a9 Removed the batch launcher 2013-12-09 18:22:34 +01:00
de30ed5424 Initial git cleanup creation 2013-12-09 17:21:47 +00:00
27f0eb2c95 Quick and dirty packaging 2013-12-09 18:17:35 +01:00
394c24eb16 Now also compiles the launcher 2013-12-09 11:24:44 +01:00
d1d8c3ef76 Build and pack now 2013-12-09 01:00:36 +01:00
4744fb1c61 Messages are useless, I always clear them 2013-12-09 00:56:16 +01:00
3c979780f9 handles spaces better, also using CMDER_ROOT for everything 2013-12-09 00:55:18 +01:00
092c046456 Tricky whitespace 2013-12-09 00:52:46 +01:00
c1029ab245 Use windows native copy instead of cp 2013-12-07 21:56:19 +01:00
fc19a8b328 Merge branch 'master' of https://github.com/bliker/cmder 2013-12-07 21:44:46 +01:00
340d70a596 This somehow works in git folder 2013-12-07 21:44:33 +01:00
fa179f6528 Lambda is now handled by clink 2013-12-07 21:04:38 +01:00
e5e9e67ee7 Merge pull request #77 from jdsumsion/patch-1
Fixed a couple tiny typos in the readme
2013-12-07 10:52:06 -08:00
8e0312aec4 Merge pull request #62 from austinwagner/master
Add executable launcher
2013-12-07 10:50:34 -08:00
8f6a473a40 Add Cmder Here
Add option to launcher to register and unregister Cmder Here
2013-12-07 09:17:35 -05:00
2b12546cb0 Merge pull request #75 from brkc/term-cygwin
Change TERM from msys to cygwin.
2013-12-07 05:57:31 -08:00
ed42db82f6 Fixed a couple tiny typos in the readme
Also added a shortcut I saw in the config.
2013-12-05 11:08:08 -07:00
5c20bbb08d Merge pull request #74 from MartiUK/patch-2
Removed "C:\Users\bliker" reference in config/ConEmu.xml
2013-12-05 06:16:58 -08:00
56613b9758 Change TERM from msys to cygwin. 2013-12-05 06:03:13 -05:00
1ef7ca682f Removed "C:\Users\bliker" reference in config/ConEmu.xml
Fixes #71
2013-12-05 08:24:34 +00:00
9feec9e0c2 Better dirty check 2013-11-30 19:26:56 +01:00
686e3516ed Fix for #40 2013-11-30 19:22:19 +01:00
48e4046754 Add launcher
Fixes bliker/cmder#39
Launcher replaces functionality of batch file to allow taskbar pinning
2013-11-30 09:15:42 -05:00
d3d2b80d88 Merge pull request #60 from austinwagner/master
Remove wget dependency and verify existence of 7z.exe in build script
2013-11-29 08:59:26 -08:00
6126437762 Check for 7-zip before build 2013-11-29 11:48:32 -05:00
168958ce2b Remove wget dependency in build script 2013-11-29 11:47:08 -05:00
ee50cc5e7c Whops, fixed the start dir 2013-11-29 16:21:07 +01:00
f7d1dfa2b7 Added icon 2013-11-29 14:09:46 +01:00
12d21de1c3 Changed shortcut for new console to LShift + alt + #, Closing #9 and #17 2013-11-29 12:20:59 +01:00
a231fd9f60 Unecessary whitespace removed + pwd alias added 2013-11-29 12:15:31 +01:00
9d5d3e1556 Allow to run cmd task from custom location. 2013-11-29 12:09:20 +01:00
d95f25207d Merge pull request #51 from MartiUK/patch-1
Allow use of Vim from msysgit.
2013-11-28 10:40:48 -08:00
f3d93c0f99 Allow use of Vim from msysgit.
Added vim location to PATH setup in init.bat.
2013-11-28 16:32:37 +00:00
47b725bf0f Merge pull request #34 from schlamar/gitattributes
Fix line ending handling if autocrlf is false.
2013-11-28 03:49:46 -08:00
6ae803987b Merge pull request #32 from Shoozza/patch-4
Fix spelling in init.bat
2013-11-27 14:54:32 -08:00
027be08286 Merge pull request #26 from Vivix/master
Added minimal validation and usage help.
2013-11-27 10:49:43 -08:00
42bad3e509 Merge pull request #22 from Shoozza/patch-1
Fix spelling
2013-11-27 08:53:17 -08:00
2ac148ce22 Merge pull request #18 from tonylau/patch-1
Fixed grammar
2013-11-27 08:48:11 -08:00
55aef09412 Fix line ending handling if autocrlf is false. 2013-11-27 10:20:34 +01:00
0bde8b361a Fix spelling in init.bat 2013-11-27 10:11:29 +01:00
f9c6d61ee0 Added minimal validation and usage help. 2013-11-27 04:36:48 +01:00
bbcbd2ece9 Fix spelling 2013-11-27 01:44:04 +01:00
6f6d9f29ec Fixed grammar 2013-11-26 19:50:59 +00:00
4d926e0836 Merge pull request #15 from jyggen/patch-1
Fixed issue when rootDir contains spaces.
2013-11-22 03:15:46 -08:00
75cb46392e Fixed issue when rootDir contains spaces. 2013-11-22 11:11:04 +01:00
471e341a97 Now with icons! 2013-11-15 17:06:46 +01:00
c2b37021d4 Now with git in prompt (fix for #13) 2013-11-15 17:06:15 +01:00
3fefa9698e Ignore exe 2013-11-15 17:05:17 +01:00
14799b307d Restored to batch file. Now compiled in distributed package 2013-11-15 17:04:38 +01:00
4c4930704f Fix for #1 #11 handling of C:\Users\Samuel directory 2013-11-13 14:34:19 +01:00
42d22f1e17 Removed home declaration 2013-11-03 18:04:36 +01:00
2d0a7093d4 Changed to LCtrl in tab opening 2013-11-03 18:00:18 +01:00
f8b96665a8 Added Thumbs file 2013-11-03 17:55:48 +01:00
049e54dfe0 Merge branch 'master' of https://github.com/bliker/cmder 2013-10-12 13:25:08 +02:00
dc0cc7350b New link from Maximus5 2013-10-12 13:24:51 +02:00
8489977575 Merge pull request #5 from BeingTomGreen/patch-1
minor typo fix
2013-10-08 10:20:38 -07:00
ee898d9d28 minor typo fix 2013-10-08 11:29:35 +01:00
87 changed files with 8307 additions and 792 deletions

7
.gitattributes vendored Normal file
View File

@ -0,0 +1,7 @@
# Auto detect text files and perform LF normalization
* text=auto
*.cmd text eol=crlf
*.bat text eol=crlf
*.ps1 text eol=crlf
*.md text eol=lf
*.sh text eol=lf

78
.github/issue_template.md vendored Normal file
View File

@ -0,0 +1,78 @@
<!--
Thank you for reporting a bug for the Cmder project!
------------------------------------------------------------------
Please make sure you read and follow the following instructions
carefully before reporting bugs, and/or requesting new features.
Make sure that you have:
• Searched for existing issues (including the **closed** ones)
for the similar problems here:
https://github.com/cmderdev/cmder/issues?q=is:issue
• Read the README.md and the Wiki:
- https://github.com/cmderdev/cmder/blob/master/README.md
- https://github.com/cmderdev/cmder/wiki
(What you may be asking here could already be explained there!)
• Please understand that Cmder by default uses ConEmu as the
underlying Terminal Emulator. If your issue is regarding
the **Terminal Emulator**, please visit the ConEmu issues page:
https://github.com/Maximus5/ConEmu/issues?q=is:issue
If there isn't an existing issue, you may open a new one there.
(We don't resolve issues regarding ConEmu here, so please
make sure you open the issue in the correct place.)
more info: https://conemu.github.io/en/ThirdPartyProblems.html
• If you are asking for guides on how to integrate Cmder into
your favorite IDE of choice, or how to perform an specific
task with Cmder, make sure you visit our label section first!
You may already have an answer under the Guides or Questions section.
For a list of labels, visit:
- https://github.com/cmderdev/cmder/labels
(Be sure to also check “Closed” issues in the labels section!)
• If the issue is regarding the other upstream technologies that
Cmder uses (e.g. Clink, Git, etc), please make sure that the
bug you are reporting only applies when they are used in
combination with Cmder. If the bug applies when the mentioned
tools are NOT used within Cmder, there's a good chance that
you should open the bug at the corresponding repo instead.
Read more on about Cmder on ConEmu docs:
https://conemu.github.io/en/cmder.html
Thank you for making sure you are opening a new valid issue!
-->
<!--
Some tips on how to write a better report:
- Put an `x` into all the boxes [ ] relevant to your issue (example: [x]).
- Use the *Preview* tab to see how your issue will actually look like, before sending it.
- Make sure the description is worded well enough to be understood, and with as much context and examples as possible.
- Post a screenshot or the command the triggered the problem, if applicable.
- Avoid using ambiguous phrases like: doesn't work, there'a problem, etc.
Help us reproduce the issue by explaining what went wrong, and what did you expect to happen.
- Please keep the ticket language to English only here.
We can't process your issue if it's written in Russian or Chinese as we can't understand them.
- ⚠ Read the following page to avoid posting a bad issue: https://conemu.github.io/en/BadIssue.html
-->
### Purpose of the issue
- [ ] Bug report (encountered problems/errors)
- [ ] Feature request (request for new functionality)
- [ ] Question
### Description of the issue
<!-- Provide a clear, simple description of your issue here -->

25
.gitignore vendored
View File

@ -1,7 +1,24 @@
## Those files should be taken from their repositary
vendor/*
!vendor/*.md
!vendor/*.bat
config/.history
bin/*
!bin/Readme.md
vendor/*/*
!vendor/bin/*
!vendor/lib/*
!vendor/*
!vendor/psmodules/PsGet
config/*
!config/Readme.md
Thumbs.db
*.exe
*.dll
build/
Version v*
*.bak
.github_changelog_generator
launcher/.vs
launcher/src/version.rc2

830
CHANGELOG.md Normal file
View File

@ -0,0 +1,830 @@
# Change Log
## [1.3.6](https://github.com/cmderdev/cmder/tree/v1.3.6) (2018-05-30)
**Updated components:**
* Git updated to v2.17.1.windows.2
* ConEmu updated to 180528
**Updates:**
* Cmder now opens in the in the current working dir
* TBD
## [1.3.6-pre2](https://github.com/cmderdev/cmder/tree/v1.3.6-pre2) (2018-03-01)
**Updated components:**
* Git updated to v2.16.3.windows.1
* ConEmu updated to 180318
**Updates:**
* Removed all sub routines from `init.bat` and made them into importable libraries that can be used in any `*.bat|cmd` file.
* Libraries are in `%cmder_root%\vendor\lib`.
* Import libraries into any `*.bat|cmd` file using `call "%cmder_root%\vendor\lib\[library file name]"`.
* Call library methods by typing `"%lib_path% enhance_path "c:\bin"`.
* Get help on library method usage by typing `"%cmder_root%\vendor\lib\[library file name]" /h`.
## [1.3.6-pre1](https://github.com/cmderdev/cmder/tree/v1.3.6-pre1) (2018-03-01)
**Fixed bugs:**
* Fixed Git version check recently added to master.
**Updates:**
* Modified Cmder tasks in default ConEmu.xml to allow easily adding command line args for init.bat by adding some quotes. This resulted in a ton of misc changes to this file. See Adds below.
* Reworked `cmder.exe` command line argument handling to make it more flexible and easily added to.
* Reworked README.md tables to make them more readable in editors.
**Implemented enhancements:**
* Added `cmder.exe` command line args documentation to `README.md`.
* Added `:enhance_path` method to vendor\init.bat that modifies the path only if required.
* To prepend: `call :enhance_path "%cmder_root%"`
* to append: `call :enhance_path "%cmder_root%" append`
* Added `:enhance_path_recursive` method to vendor\init.bat that adds a path and all its sub directories to the path if required.
* Max recurse depth default is '1' configurable using `init.bat /max_depth [1-5]`. 6+ results in error.
* To prepend and go 3 levels deep: `call :enhance_path "%cmder_root%" 3`
* To append and go 2 levels deep: `call :enhance_path "%cmder_root%" 2 append`
* Added ability to init.bat to accept command line args and documented them in README.md. Allows users to change the behaviour of init.bat without editing the file.
| Argument | Description | Default |
| ----------------------------- | ------------------------------------------------------------------------------------------------ | ------------------------------------- |
| /c [user cmder root] | Enables user bin and config folders for 'Cmder as admin' sessions due to non-shared environment. | not set |
| /d | Enables debug output. | not set |
| /git_install_root [file path] | User specified Git installation root path. | '%CMDER_ROOT%\vendor\Git-for-Windows' |
| /home [home folder] | User specified folder path to set `%HOME%` environment variable. | '%userprofile%' |
| /max_depth [1-5] | Define max recurse depth when adding to the path for `%cmder_root%\bin` and `%cmder_user_bin%` | 1 |
| /svn_ssh [path to ssh.exe] | Define %SVN_SSH% so we can use git svn with ssh svn repositories. | '%GIT_INSTALL_ROOT%\bin\ssh.exe' |
| /user_aliases [file path] | File path pointing to user aliases. | '%CMDER_ROOT%\config\user-liases.cmd' |
| /v | Enables verbose output. | not set |
* Added new `cmder.exe /C \<path\>` argument
* To use run Cmder.exe with "/C" command line argument. Example: `cmder.exe /C %userprofile%\cmder_config`
* To use run with `Cmder as Admin` sessions you must specify "/c" command line argument to `init.bat` in tasks. See [README.md](./Readme.md) for details.
* Enables shared Cmder install with Non-Portable Individual User Config
* Supported by all supported shells (cmder, powershell, git bash, and external bash)
* This will create the following directory structure if it is missing.
```plain
c:\users\[username]\cmder_config
├───bin
└───config
└───profile.d
```
* Shell init scripts run in the following order
1. %cmder_root%\config\profile.d\*.[cmd|ps1|sh]
1. %cmder_root%\config\user-profile.[cmd|ps1|sh]
1. %userprofile%\cmder_config\config\profile.d\*.[cmd|ps1|sh]
1. %userprofile%\cmder_config\config\user-profile.[cmd|ps1|sh]
## [1.3.5](https://github.com/cmderdev/cmder/releases/tag/v1.3.5) (2018-02-11)
This is the first Cmder release that comes with Git for Windows in the 64bit version. If you are still using a 32bit version, you have to fix this yourself.
**Updated components:**
* Git updated to v2.16.1.windows.4
* clink updated to 0.4.9 (official version)
* ConEmu updated to 180206
**Fixed bugs:**
* use /dir Switch instead of CMDER_START (previously [\#921](https://github.com/cmderdev/cmder/pull/921)) [\#1609](https://github.com/cmderdev/cmder/pull/1609) ([Stanzilla](https://github.com/Stanzilla))
* add config/settings to .gitignore [\#1592](https://github.com/cmderdev/cmder/pull/1592) ([daxgames](<(https://github.com/daxgames)>))
* Upgrade #1591 ([daxgames](<(https://github.com/daxgames)>))
* Fix startup folder issue [\#1547](https://github.com/cmderdev/cmder/pull/1547) (dr-tony-lin)
* Fix alias.bat handling "user-aliases.cmd" with spaces [\#1531](https://github.com/cmderdev/cmder/pull/1531) ([Varriount](https://github.com/Varriount))
* Compatible with Visual Studio Code (cmd) [\#1416](https://github.com/cmderdev/cmder/pull/1416) ([gucong3000](https://github.com/gucong3000))
## [1.3.4](https://github.com/cmderdev/cmder/releases/tag/v1.3.4) (2017-11-03)
We now use a forked version of clink since it's original author is missing and we needed Windows 10 compat.
**Updated components:**
* Git: v2.15.0.windows.1
**Fixed bugs:**
* Fix lamda color after a ConEmu change: [a8d3261](https://github.com/cmderdev/cmder/commit/a8d32611a9b93cfb58f0318ae4b8041bc8a86c68)
* Compatible with Visual Studio Code (PowerShell): [\#1417](https://github.com/cmderdev/cmder/pull/1417)
* Make default tasks respect "Startup directory for new process": [b58ff9b](https://github.com/cmderdev/cmder/commit/b58ff9bb539d7f908f427fa34f377e1513fcd825)
## [1.3.3](https://github.com/cmderdev/cmder/releases/tag/v1.3.3) (2017-10-28)
We now use a forked version of clink since it's original author is missing and we needed Windows 10 compat.
**Updated components:**
* Git: v2.14.3.windows.1
* ConEmu: 170910
* Clink: 0.4.9-FORK
* Clink-Completions: 0.3.3
## [1.3.2](https://github.com/cmderdev/cmder/releases/tag/v1.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 cmder.net 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)_

38
CONTRIBUTING.md Normal file
View File

@ -0,0 +1,38 @@
# How to contribute
Unfortunately we all can't work on cmder every day of the year, so I have decided to write some guidelines for contributing.
If you follow them your contribution will likely be pulled in quicker.
## Getting Started
* Fork the repository on GitHub (It's that easy)
* Create a feature branch based on the development branch.
## Making Changes
* Make changes in your separate branch.
* Check for unnecessary whitespace with `git diff --check` before committing.
* Make sure your commit messages are easy to understand
* Squash your 'Correcting mistakes' commits if you have a lot of them. (See the 'Squashing Commits' link below)
* Make sure your changes won't affect new users or user without a customised system, try out your changes on a fresh Windows VM to see if it would affect a new user's experience.
* Sometimes a change that helps you with your cmder experience and tools doesn't always mean other people may need/want it.
## Making Trivial Changes
### Documentation
* If the documentation is about a currently available feature in cmder or correcting already created documentation, you can safely make your changes on the master branch and pull request them onto master.
## Submitting Changes
* Push your changes to the branch in your fork of the repository.
* Submit a pull request to the develop branch of the cmder repository (unless it's a change in documentation [see above]).
* Make sure you explicitly say to not complete the pull request if you are still making changes.
# Additional Resources
* [Squashing Commits](http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html)
* [General GitHub documentation](http://help.github.com/)
* [GitHub pull request documentation](http://help.github.com/articles/creating-a-pull-request/)

View File

@ -1,2 +1,11 @@
@echo off
start vendor/conemu-maximus5/ConEmu.exe /Title Cmder /LoadCfgFile ../../config/ConEmu.xml
SET CMDER_ROOT=%~dp0
:: Remove Trailing '\'
@if "%CMDER_ROOT:~-1%" == "\" SET CMDER_ROOT=%CMDER_ROOT:~0,-1%
if exist "%~1" (
start %~dp0/vendor/conemu-maximus5/ConEmu.exe /Icon "%CMDER_ROOT%\icons\cmder.ico" /Title Cmder /LoadCfgFile "%~1"
) else (
start %~dp0/vendor/conemu-maximus5/ConEmu.exe /Icon "%CMDER_ROOT%\icons\cmder.ico" /Title Cmder /LoadCfgFile "%CMDER_ROOT%\config\ConEmu.xml"
)

21
LICENSE Normal file
View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2017 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
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

365
README.md Normal file
View File

@ -0,0 +1,365 @@
# 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/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.
![Cmder Screenshot](http://i.imgur.com/g1nNf0I.png)
## Why use it
The main advantage of Cmder is portability. It is designed to be totally self-contained with no external dependencies, which makes it great for **USB Sticks** or **cloud storage**. So you can carry your console, aliases and binaries (like wget, curl and git) with you anywhere.
The Cmder's user interface is also designed to be more eye pleasing, and you can compare the main differences between Cmder and ConEmu [here](https://conemu.github.io/en/cmder.html).
## Installation
### Single User Portable Config
1. Download the [latest release](https://github.com/cmderdev/cmder/releases/)
2. Extract the archive. *Note: This path should not be `C:\Program Files` or anywhere else that would require Administrator access for modifying configuration files*
3. (optional) Place your own executable files into the `%cmder_root%\bin` folder to be injected into your PATH.
4. Run `Cmder.exe`
### Shared Cmder install with Non-Portable Individual User Config
1. Download the [latest release](https://github.com/cmderdev/cmder/releases/)
2. Extract the archive to a shared location.
3. (optional) Place your own executable files into the `%cmder_root%\bin` folder to be injected into your PATH.
4. (optional) Create `%userprofile%\cmder_config\bin` folder to be injected into individual users PATH. Default is to auto create this on first run.
5. (optional) Place your own executable files into the `%userprofile%\cmder_config\bin` folder to be injected into your PATH.
6. Run `Cmder.exe` with `/C` command line argument. Example: `cmder.exe /C %userprofile%\cmder_config`
* This will create the following directory structure if it is missing.
```
c:\users\[username]\cmder_config
├───bin
└───config
└───profile.d
```
* Both the shared install and the individual user config locations can contain a full set of init and profile.d scripts enabling shared config with user overrides. See below.
## Cmder.exe Command Line Arguments
| Argument | Description |
| ------------------- | ----------------------------------------------------------------------- |
| `/C [user_root_path]` | Individual user Cmder root folder. Example: `%userprofile%\cmder_config` |
| `/SINGLE` | Start Cmder in single mode. |
| `/START [start_path]` | Folder path to start in. |
| `/TASK [task_name]` | Task to start after launch. |
## Context Menu Integration
So you've experimented with Cmder a little and want to give it a shot in a more permanent home;
### Shortcut to open Cmder in a chosen folder
1. Open a terminal as an Administrator
2. Navigate to the directory you have placed Cmder
3. Execute `.\cmder.exe /REGISTER ALL`
_If you get a message "Access Denied" ensure you are executing the command in an **Administrator** prompt._
In a file explorer window right click in or on a directory to see "Cmder Here" in the context menu.
## Keyboard shortcuts
### Tab manipulation
* <kbd>Ctrl</kbd> + <kbd>T</kbd> : New tab dialog (maybe you want to open cmd as admin?)
* <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>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
_(Some shortcuts are not yet documented, though they exist - please document them here)_
## Features
### Access to multiple shells in one window using tabs
You can open multiple tabs each containing one of the following shells:
| Task | Shell | Description |
| ---- | ----- | ----------- |
| 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 `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.
⚠ *NOTE:* Only the full edition of Cmder comes with a pre-installed bash, using a vendored [git-for-windows](https://gitforwindows.org/) installation. The pre-configured Bash tabs may not work on Cmder mini edition without additional configuration.
You may however, choose to use an external installation of bash, such as Microsoft's [Subsystem for Linux](https://docs.microsoft.com/en-us/windows/wsl/install-win10) (called WSL) or the [Cygwin](https://cygwin.com/) project which provides POSIX support on windows.
⚠ *NOTE:* Mintty tabs use a program called 'mintty' as the terminal emulator that is not based on the Windows Console API, rather it's rendered graphically by ConEmu. 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. As such, some differences in functionality are to be expected, such as Cmder not being able to apply a system-wide configuration to it.
As a result mintty specific config is done via the `[%USERPROFILE%|$HOME]/.minttyrc` file. You may read more about Mintty and its config file [here](https://github.com/mintty/mintty).
An example of setting Cmder portable terminal colors for mintty:
From a bash/mintty shell:
```
cd $CMDER_ROOT/vendor
git clone https://github.com/karlin/mintty-colors-solarized.git
cd mintty-colors-solarized/
echo source \$CMDER_ROOT/vendor/mintty-colors-solarized/mintty-solarized-dark.sh>>$CMDER_ROOT/config/user_profile.sh
```
You may find some Monokai color schemes for mintty to match Cmder [here](https://github.com/PhilipDaniels/mintty/blob/master/themes/Monokai) or [here](https://github.com/oumu/mintty-color-schemes/blob/master/base16-monokai-mod.minttyrc).
### Changing Cmder Default `cmd.exe` Shell Startup Behaviour Using Task Arguments
1. Press <kbd>Win</kbd> + <kbd>Alt</kbd> + <kbd>T</kbd>
1. Click either:
* `1. {cmd::Cmder as Admin}`
* `2. {cmd::Cmder}`
1. Add command line arguments where specified below:
*Note: Pay attention to the quotes!*
```
cmd /s /k ""%ConEmuDir%\..\init.bat" [ADD ARGS HERE]"
```
##### Command Line Arguments for `init.bat`
| Argument | Description | Default |
| ----------------------------- | ---------------------------------------------------------------------------------------------- | ------------------------------------- |
| `/c [user cmder root]` | Enables user bin and config folders for 'Cmder as admin' sessions due to non-shared environment. | not set |
| `/d` | Enables debug output. | not set |
| `/f` | Enables Cmder Fast Init Mode. This disables some features, see pull request [#1492](https://github.com/cmderdev/cmder/pull/1942) for more details. | not set |
| `/git_install_root [file path]` | User specified Git installation root path. | `%CMDER_ROOT%\vendor\Git-for-Windows` |
| `/home [home folder]` | User specified folder path to set `%HOME%` environment variable. | `%userprofile%` |
| `/max_depth [1-5]` | Define max recurse depth when adding to the path for `%cmder_root%\bin` and `%cmder_user_bin%` | 1 |
| `/svn_ssh [path to ssh.exe]` | Define `%SVN_SSH%` so we can use git svn with ssh svn repositories. | `%GIT_INSTALL_ROOT%\bin\ssh.exe` |
| `/user_aliases [file path]` | File path pointing to user aliases. | `%CMDER_ROOT%\config\user-aliases.cmd` |
| `/v` | Enables verbose output. | not set |
| (custom arguments) | User defined arguments processed by `cexec`. Type `cexec /?` for more useage. | not set |
### Cmder Shell User Config
Single user portable configuration is possible using the cmder specific shell config files. Edit the below files to add your own configuration:
| Shell | Cmder Portable User Config |
| ------------- | ----------------------------------------- |
| Cmder | `%CMDER_ROOT%\config\user_profile.cmd` |
| 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 if it exists after it sources `$CMDER_ROOT/config/user_profile.sh`.
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.
| Shell | Cmder `Profile.d` Scripts |
| ------------- | --------------------------------------------------|
| Cmder | `%CMDER_ROOT%\config\profile.d\*.bat and *.cmd` |
| PowerShell | `$ENV:CMDER_ROOT\config\profile.d\*.ps1` |
| Bash/Mintty | `$CMDER_ROOT/config/profile.d/*.sh` |
### Aliases
#### Cmder(`Cmd.exe`) Aliases
You can define simple aliases for `cmd.exe` sessions with a command like `alias name=command`. Cmd.exe aliases support optional parameters through the `$1-9` or the `$*` special characters so the alias `vi=vim.exe $*` typed as `vi [filename]` will open `[filename]` in `vim.exe`.
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\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`. Anything 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 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/git-for-windows/etc/profile.d/cmder.sh`. Anything 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`. Anything 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
To start the vendored SSH agent simply call `start-ssh-agent`, which is in the `vendor/git-for-windows/cmd` folder.
If you want to run SSH agent on startup, include the line `@call "%GIT_INSTALL_ROOT%/cmd/start-ssh-agent.cmd"` in `%CMDER_ROOT%/config/user_profile.cmd` (usually just uncomment it).
### Vendored Git
Cmder is by default shipped with a vendored Git installation. On each instance of launching Cmder, an attempt is made to locate any other user provided Git binaries. Upon finding a `git.exe` binary, Cmder further compares its version against the vendored one _by executing_ it. The vendored `git.exe` binary is _only_ used when it is more recent than the user-installed one.
You may use your favorite version of Git by including its path in the `%PATH%` enviroment variable. Moreover, the **Mini** edition of Cmder (found on the [downloads page](https://github.com/cmderdev/cmder/releases)) excludes any vendored Git binaries.
### Using external Cygwin/Babun, MSys2, WSL, or Git for Windows SDK with Cmder.
You may run bash (the default shell used on Linux, macOS and GNU/Hurd) externally on Cmder, using the following instructions:
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` to the `Commands` text box.
**Recommended Optional Steps:**
Copy the `vendor/cmder_exinit` file to the Cygwin/Babun, MSys2, or Git for Windows SDK environments `/etc/profile.d/` folder to use portable settings in the `$CMDER_ROOT/config` folder.
Note: MinGW could work if the init scripts include `profile.d` but this has not been tested.
The destination file extension depends on the shell you use in that environment. For example:
* bash - Copy to `/etc/profile.d/cmder_exinit.sh`
* zsh - Copy to `/etc/profile.d/cmder_exinit.zsh`
Uncomment and edit the below line in the script to use Cmder config even when launched from outside Cmder.
```
# CMDER_ROOT=${USERPROFILE}/cmder # This is not required if launched from Cmder.
```
### Customizing user sessions using `init.bat` custom arguments.
You can pass custom arguments to `init.bat` and use `cexec.cmd` in your `user_profile.cmd` to evaluate these
arguments then execute commands based on a particular flag being detected or not.
`init.bat` creates two shortcuts for using `cexec.cmd` in your profile scripts.
#### `%ccall%` - Evaluates flags, runs commands if found, and returns to the calling script and continues.
```
ccall=call C:\Users\user\cmderdev\vendor\bin\cexec.cmd
```
Example: `%ccall% /startnotepad start notepad.exe`
#### `%cexec%` - Evaluates flags, runs commands if found, and does not return to the calling script.
```
cexec=C:\Users\user\cmderdev\vendor\bin\cexec.cmd
```
Example: `%cexec% /startnotepad start notepad.exe`
It is useful when you have multiple tasks to execute `cmder` and need it to initialize
the session differently depending on the task chosen.
To conditionally start `notepad.exe` when you start a specific `cmder` task:
* Press <kbd>win</kbd>+<kbd>alt</kbd>+<kbd>t</kbd>
* Click `+` to add a new task.
* Add the below to the `Commands` block:
```batch
cmd.exe /k ""%ConEmuDir%\..\init.bat" /startnotepad"
```
* Add the below to your `%cmder_root%\config\user_profile.cmd`
```batch
%ccall% "/startNotepad" "start" "notepad.exe"`
```
To see detailed usage of `cexec`, type `cexec /?` in cmder.
### Integrating Cmder with [Hyper](https://github.com/zeit/hyper), [Microsoft VS Code](https://code.visualstudio.com/), and your favorite IDEs
Cmder by default comes with a vendored ConEmu installation as the underlying terminal emulator, as stated [here](https://conemu.github.io/en/cmder.html).
However, Cmder can in fact run in a variety of other terminal emulators, and even integrated IDEs. Assuming you have the latest version of Cmder, follow the following instructions to get Cmder working with your own terminal emulator.
For instructions on how to integrate Cmder with your IDE, please read our [Wiki section](https://github.com/cmderdev/cmder/wiki#cmder-integration).
## Upgrading
The process of upgrading Cmder depends on the version/build you are currently running.
If you have a `[cmder_root]/config/user-conemu.xml`, you are running a newer version of Cmder, follow the below process:
1. Exit all Cmder sessions and relaunch `[cmder_root]/cmder.exe`, this backs up your existing `[cmder_root]/vendor/conemu-maximus5/conemu.xml` to `[cmder_root]/config/user-conemu.xml`.
* The `[cmder_root]/config/user-conemu.xml` contains any custom settings you have made using the 'Setup Tasks' settings dialog.
2. Exit all Cmder sessions and backup any files you have manually edited under `[cmder_root]/vendor`.
* Editing files under `[cmder_root]/vendor` is not recommended since you will need to re-apply these changes after any upgrade. All user customizations should go in `[cmder_root]/config` folder.
3. Delete the `[cmder_root]/vendor` folder.
4. Extract the new `cmder.zip` or `cmder_mini.zip` into `[cmder_root]/` overwriting all files when prompted.
If you do not have a `[cmder_root]/config/user-conemu.xml`, you are running an older version of cmder, follow the below process:
1. Exit all Cmder sessions and backup `[cmder_root]/vendor/conemu-maximus5/conemu.xml` to `[cmder_root]/config/user-conemu.xml`.
2. Backup any files you have manually edited under `[cmder_root]/vendor`.
* Editing files under `[cmder_root]/vendor` is not recommended since you will need to re-apply these changes after any upgrade. All user customizations should go in `[cmder_root]/config` folder.
3. Delete the `[cmder_root]/vendor` folder.
4. Extract the new `cmder.zip` or `cmder_mini.zip` into `[cmder_root]/` overwriting all files when prompted.
## Current development builds
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/master/artifacts)
## License
All software included is bundled with own license
The MIT License (MIT)
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
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View File

@ -1,77 +0,0 @@
# Cmder
**Yes, you can [download latest release](https://github.com/bliker/cmder/releases)**
Cmder is a **software package** created out of pure frustration over absence of usable console emulator on Windows. It is based on [ConEmu](https://code.google.com/p/conemu-maximus5/) with *major* config overhaul. Monokai color scheme, amazing [clink](https://code.google.com/p/clink/) and custom prompt layout.
![Cmder Screenshot](http://i.imgur.com/g1nNf0I.png)
## Why use it
The main advantage of Cmder is portability. It is designed to be totally self-container. With no external dependencies. That makes is great for **USB Sticks** or **Dropbox**. So you can carry your console, aliases and binaries (like wget, curl and git) with you anywhere.
## Installation
1. Download the latest release
1. Extract
1. (optional) Place files into `bin` folder, it will be injected into your PATH.
1. Run cmder
*(There will be a version with installer)*
## Keyboard shortcuts
### Tab manipulation
* `Ctrl + t` : new tab dialog (maybe you want to open cmd as admin?)
* `Ctrl + w` : close tab
* `Ctrl + alt + number` : fast new tab: `1` - CMD, `2` - Powershell `*` - More to come
* `Alt + enter`: Fullscreen
### Shell
* `Shift + Up` : Traverse up in directory structure (lovely feature!)
* `End, Home, ctrl` : Traversing text with as usual on Windows
* `Ctrl + r` : History search
* `Shift + mouse` : Select and copy text from buffer
(Some shortcuts are not yet documented, thought they exist, please add them here)
## Features
### Aliases
You can define simple aliases with command `alias name=command`.
For example there is one defined for you `alias e.=explorer .`
All aliases will be saved in `/config/aliases` file
## Todo
1. Write a Todo list
## License
All software included is bundled with own license
The MIT License (MIT)
Copyright (c) 2013 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
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

60
appveyor.yml Normal file
View File

@ -0,0 +1,60 @@
#---------------------------------#
# general configuration #
#---------------------------------#
version: 1.0.{build}-{branch}
# branches to build
branches:
# blacklist
except:
- gh-pages
#---------------------------------#
# environment configuration #
#---------------------------------#
# Operating system (build VM template)
os: Visual Studio 2017
#---------------------------------#
# build configuration #
#---------------------------------#
build_script:
- ps: cd scripts; .\build.ps1 -Compile -verbose
after_build:
- ps: .\pack.ps1 -verbose
# Disable test search, since we don't have any.
test: off
#---------------------------------#
# artifacts #
#---------------------------------#
artifacts:
- path: build\cmder.zip
name: cmderzip
- path: build\cmder.7z
name: cmder7z
- path: build\cmder_mini.zip
name: cmdermini
- path: build\hashes.txt
name: hashes
#---------------------------------#
# notifications #
#---------------------------------#
notifications:
# Webhook
- provider: Webhook
url: https://webhooks.gitter.im/e/d673abb1b2e659dcd625
on_build_success: true
on_build_failure: true
on_build_status_changed: true

View File

@ -1,3 +1,3 @@
## Bin
Thif folder will be injected into path at runtime
This folder will be injected into the PATH environment variable at runtime.

View File

@ -1,4 +0,0 @@
@echo off
echo %* >> %~dp0..\config\aliases
doskey /macrofile=%~dp0..\config\aliases
echo Alias created

View File

@ -1,70 +0,0 @@
# Samuel Vasko 2013
# Cmder build script
# Like really a beta
#
# This script downloads dependencies form google code. Each software is extracted
# in a folder with same name as the project on google code. So Conemu becomes
# conemu-maximus5. Correct files are beeing picked by using labels.
# I will move the script for getting files by labels from php to here as soon I feel like it
require 'FileUtils'
def get_file project, query
# Should be changed to integrated downloader
urlToFile = 'wget -q -O - "http://samuelvasko.tk/gcode/?project='+project+'&query='+query+'"'
urlToFile = `#{urlToFile}`
urlToFile = urlToFile.split("\n").first
extension = urlToFile.split('.').last
filename = project+'.'+extension
puts "\n ------ Downloading #{project} ------- \n \n"
get_file = system("wget -O #{filename} #{urlToFile}")
unless get_file
puts "Failied to download #{project} from #{urlToFile}"
FileUtils.rm(filename) if File.exists?(filename)
exit(1)
end
system("7z x -o\"#{project}\" #{filename}")
File.unlink(project+"."+extension);
# When the folder contains another folder
# that is not what we want
if Dir.glob("#{project}/*").length == 1
temp_name = "#{project}_temp"
FileUtils.mv(project, temp_name)
FileUtils.mv(Dir.glob("#{temp_name}/*")[0], project)
FileUtils.rm_r(temp_name)
end
end
puts '
______ _ _ _ _ _
| ___ \ (_) | | (_) | |
| |_/ /_ _ _| | __| |_ _ __ __ _ ___ _ __ ___ __| | ___ _ __
| ___ \ | | | | |/ _` | | \'_ \ / _` | / __| \'_ ` _ \ / _` |/ _ \ \'__|
| |_/ / |_| | | | (_| | | | | | (_| | | (__| | | | | | (_| | __/ |
\____/ \__,_|_|_|\__,_|_|_| |_|\__, | \___|_| |_| |_|\__,_|\___|_|
__/ |
|___/
'
puts 'Cleanup'
if Dir.exists?('vendor')
Dir.glob('vendor/*') { |file| FileUtils.rm_rf(file) if File.directory?(file) }
end
Dir.chdir('vendor')
puts 'Getting files'
get_file('clink', 'label:Type-Archive label=Featured')
get_file('conemu-maximus5', 'label:Type-Archive label=Preview label=Featured')
get_file('msysgit', 'label:Type-Archive label:Featured')
puts 'Done, bye'

View File

@ -1,555 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<key name="Software">
<key name="ConEmu">
<key name=".Vanilla" modified="2013-09-07 17:36:51">
<value name="ColorTable00" type="dword" data="00222827"/>
<value name="ColorTable01" type="dword" data="009e5401"/>
<value name="ColorTable02" type="dword" data="0004aa74"/>
<value name="ColorTable03" type="dword" data="00a6831a"/>
<value name="ColorTable04" type="dword" data="003403a7"/>
<value name="ColorTable05" type="dword" data="009c5689"/>
<value name="ColorTable06" type="dword" data="0049b6b6"/>
<value name="ColorTable07" type="dword" data="00cacaca"/>
<value name="ColorTable08" type="dword" data="007c7c7c"/>
<value name="ColorTable09" type="dword" data="00f58303"/>
<value name="ColorTable10" type="dword" data="0006d08d"/>
<value name="ColorTable11" type="dword" data="00e5c258"/>
<value name="ColorTable12" type="dword" data="004b04f3"/>
<value name="ColorTable13" type="dword" data="00b87da8"/>
<value name="ColorTable14" type="dword" data="0081cccc"/>
<value name="ColorTable15" type="dword" data="00ffffff"/>
<value name="ColorTable16" type="dword" data="00000000"/>
<value name="ColorTable17" type="dword" data="00800000"/>
<value name="ColorTable18" type="dword" data="00008000"/>
<value name="ColorTable19" type="dword" data="00808000"/>
<value name="ColorTable20" type="dword" data="00000080"/>
<value name="ColorTable21" type="dword" data="00800080"/>
<value name="ColorTable22" type="dword" data="00008080"/>
<value name="ColorTable23" type="dword" data="00c0c0c0"/>
<value name="ColorTable24" type="dword" data="00808080"/>
<value name="ColorTable25" type="dword" data="00ff0000"/>
<value name="ColorTable26" type="dword" data="0000ff00"/>
<value name="ColorTable27" type="dword" data="00ffff00"/>
<value name="ColorTable28" type="dword" data="000000ff"/>
<value name="ColorTable29" type="dword" data="00ff00ff"/>
<value name="ColorTable30" type="dword" data="0000ffff"/>
<value name="ColorTable31" type="dword" data="00ffffff"/>
<value name="ExtendColors" type="hex" data="00"/>
<value name="ExtendColorIdx" type="hex" data="0e"/>
<value name="TextColorIdx" type="hex" data="10"/>
<value name="BackColorIdx" type="hex" data="10"/>
<value name="PopTextColorIdx" type="hex" data="10"/>
<value name="PopBackColorIdx" type="hex" data="10"/>
<value name="ExtendFonts" type="hex" data="00"/>
<value name="ExtendFontNormalIdx" type="hex" data="01"/>
<value name="ExtendFontBoldIdx" type="hex" data="0c"/>
<value name="ExtendFontItalicIdx" type="hex" data="0d"/>
<value name="CursorTypeActive" type="dword" data="000232c1"/>
<value name="CursorTypeInactive" type="dword" data="00823282"/>
<value name="ClipboardDetectLineEnd" type="hex" data="01"/>
<value name="ClipboardBashMargin" type="hex" data="00"/>
<value name="ClipboardTrimTrailing" type="hex" data="02"/>
<value name="ClipboardEOL" type="hex" data="00"/>
<value name="ClipboardArrowStart" type="hex" data="00"/>
<value name="ClipboardAllLines" type="hex" data="01"/>
<value name="ClipboardFirstLine" type="hex" data="01"/>
<value name="ClipboardClickPromptPosition" type="hex" data="02"/>
<value name="ClipboardDeleteLeftWord" type="hex" data="01"/>
<value name="TrueColorerSupport" type="hex" data="01"/>
<value name="FadeInactive" type="hex" data="01"/>
<value name="FadeInactiveLow" type="hex" data="00"/>
<value name="FadeInactiveHigh" type="hex" data="c8"/>
<value name="ConVisible" type="hex" data="00"/>
<value name="ConInMode" type="dword" data="ffffffff"/>
<value name="UseInjects" type="hex" data="01"/>
<value name="SetDefaultTerminal" type="hex" data="00"/>
<value name="SetDefaultTerminalStartup" type="hex" data="00"/>
<value name="DefaultTerminalNoInjects" type="hex" data="00"/>
<value name="DefaultTerminalConfirm" type="hex" data="01"/>
<value name="DefaultTerminalApps" type="string" data="explorer.exe"/>
<value name="ProcessAnsi" type="hex" data="01"/>
<value name="UseClink" type="hex" data="01"/>
<value name="StartType" type="hex" data="02"/>
<value name="CmdLine" type="string" data=""/>
<value name="StartTasksFile" type="string" data=""/>
<value name="StartTasksName" type="string" data="{cmd}"/>
<value name="StartFarFolders" type="hex" data="00"/>
<value name="StartFarEditors" type="hex" data="00"/>
<value name="StoreTaskbarkTasks" type="hex" data="00"/>
<value name="StoreTaskbarCommands" type="hex" data="00"/>
<value name="CmdLineHistory" type="multi"><line data=";C:\Users\bliker\Desktop\cmder\lib\ConEmu;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\"/></value>
<value name="SingleInstance" type="hex" data="00"/>
<value name="ShowHelpTooltips" type="hex" data="01"/>
<value name="Multi" type="hex" data="01"/>
<value name="Multi.ShowButtons" type="hex" data="01"/>
<value name="Multi.NumberInCaption" type="hex" data="00"/>
<value name="Multi.CloseConfirm" type="hex" data="00"/>
<value name="Multi.CloseEditViewConfirm" type="hex" data="00"/>
<value name="Multi.NewConfirm" type="hex" data="01"/>
<value name="Multi.UseArrows" type="hex" data="00"/>
<value name="Multi.UseNumbers" type="hex" data="01"/>
<value name="Multi.UseWinTab" type="hex" data="00"/>
<value name="Multi.AutoCreate" type="hex" data="00"/>
<value name="Multi.LeaveOnClose" type="hex" data="00"/>
<value name="Multi.HideOnClose" type="hex" data="00"/>
<value name="Multi.MinByEsc" type="hex" data="02"/>
<value name="MapShiftEscToEsc" type="hex" data="01"/>
<value name="Multi.Iterate" type="hex" data="01"/>
<value name="Multi.SplitWidth" type="hex" data="04"/>
<value name="Multi.SplitHeight" type="hex" data="04"/>
<value name="KeyboardHooks" type="hex" data="02"/>
<value name="FontName" type="string" data="Consolas"/>
<value name="FontName2" type="string" data="Lucida Console"/>
<value name="FontAutoSize" type="hex" data="00"/>
<value name="FontSize" type="dword" data="00000010"/>
<value name="FontSizeX" type="dword" data="00000000"/>
<value name="FontSizeX2" type="dword" data="00000000"/>
<value name="FontSizeX3" type="dword" data="00000000"/>
<value name="FontCharSet" type="hex" data="00"/>
<value name="Anti-aliasing" type="dword" data="00000006"/>
<value name="FontBold" type="hex" data="00"/>
<value name="FontItalic" type="hex" data="00"/>
<value name="Monospace" type="hex" data="01"/>
<value name="BackGround Image show" type="hex" data="00"/>
<value name="BackGround Image" type="string" data="c:\back.bmp"/>
<value name="bgImageDarker" type="hex" data="ff"/>
<value name="bgImageColors" type="dword" data="ffffffff"/>
<value name="bgOperation" type="hex" data="00"/>
<value name="bgPluginAllowed" type="hex" data="01"/>
<value name="AlphaValue" type="hex" data="f8"/>
<value name="AlphaValueSeparate" type="hex" data="01"/>
<value name="AlphaValueInactive" type="hex" data="ee"/>
<value name="UserScreenTransparent" type="hex" data="00"/>
<value name="ColorKeyTransparent" type="hex" data="00"/>
<value name="ColorKeyValue" type="dword" data="00010101"/>
<value name="UseCurrentSizePos" type="hex" data="01"/>
<value name="WindowMode" type="dword" data="0000051f"/>
<value name="ConWnd Width" type="dword" data="0000006f"/>
<value name="ConWnd Height" type="dword" data="0000001a"/>
<value name="Cascaded" type="hex" data="01"/>
<value name="ConWnd X" type="dword" data="0000008e"/>
<value name="ConWnd Y" type="dword" data="00000037"/>
<value name="16bit Height" type="dword" data="00000000"/>
<value name="AutoSaveSizePos" type="hex" data="00"/>
<value name="IntegralSize" type="hex" data="00"/>
<value name="QuakeStyle" type="hex" data="00"/>
<value name="QuakeAnimation" type="dword" data="0000012c"/>
<value name="HideCaption" type="hex" data="00"/>
<value name="HideChildCaption" type="hex" data="01"/>
<value name="FocusInChildWindows" type="hex" data="01"/>
<value name="HideCaptionAlways" type="hex" data="00"/>
<value name="HideCaptionAlwaysFrame" type="hex" data="ff"/>
<value name="HideCaptionAlwaysDelay" type="dword" data="000007d0"/>
<value name="HideCaptionAlwaysDisappear" type="dword" data="000007d0"/>
<value name="DownShowHiddenMessage" type="hex" data="00"/>
<value name="ConsoleFontName" type="string" data="Lucida Console"/>
<value name="ConsoleFontWidth" type="dword" data="00000003"/>
<value name="ConsoleFontHeight" type="dword" data="00000005"/>
<value name="DefaultBufferHeight" type="dword" data="000003e8"/>
<value name="AutoBufferHeight" type="hex" data="01"/>
<value name="CmdOutputCP" type="dword" data="00000000"/>
<value name="ComSpec.Type" type="hex" data="00"/>
<value name="ComSpec.Bits" type="hex" data="00"/>
<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.Path" type="string" data=""/>
<value name="ConsoleTextSelection" type="hex" data="01"/>
<value name="CTS.AutoCopy" type="hex" data="01"/>
<value name="CTS.EndOnTyping" type="hex" data="00"/>
<value name="CTS.EndOnKeyPress" type="hex" data="00"/>
<value name="CTS.Freeze" type="hex" data="00"/>
<value name="CTS.SelectBlock" type="hex" data="01"/>
<value name="CTS.SelectText" type="hex" data="01"/>
<value name="CTS.ActMode" type="hex" data="02"/>
<value name="CTS.RBtnAction" type="hex" data="03"/>
<value name="CTS.MBtnAction" type="hex" data="00"/>
<value name="CTS.ColorIndex" type="hex" data="e0"/>
<value name="ClipboardConfirmEnter" type="hex" data="01"/>
<value name="ClipboardConfirmLonger" type="dword" data="000000c8"/>
<value name="FarGotoEditorOpt" type="hex" data="01"/>
<value name="FarGotoEditorPath" type="string" data="far.exe /e%1:%2 &quot;%3&quot;"/>
<value name="FixFarBorders" type="hex" data="01"/>
<value name="FixFarBordersRanges" type="string" data="2013-25C4;"/>
<value name="ExtendUCharMap" type="hex" data="01"/>
<value name="EnhanceGraphics" type="hex" data="01"/>
<value name="EnhanceButtons" type="hex" data="00"/>
<value name="PartBrush75" type="hex" data="c8"/>
<value name="PartBrush50" type="hex" data="96"/>
<value name="PartBrush25" type="hex" data="5a"/>
<value name="PartBrushBlack" type="hex" data="20"/>
<value name="RightClick opens context menu" type="hex" data="02"/>
<value name="RightClickMacro2" type="string" data=""/>
<value name="SendAltTab" type="hex" data="00"/>
<value name="SendAltEsc" type="hex" data="00"/>
<value name="SendAltPrintScrn" type="hex" data="00"/>
<value name="SendPrintScrn" type="hex" data="00"/>
<value name="SendCtrlEsc" type="hex" data="00"/>
<value name="Min2Tray" type="hex" data="00"/>
<value name="AlwaysShowTrayIcon" type="hex" data="00"/>
<value name="SafeFarClose" type="hex" data="01"/>
<value name="SafeFarCloseMacro" type="string" data=""/>
<value name="FARuseASCIIsort" type="hex" data="00"/>
<value name="ShellNoZoneCheck" type="hex" data="00"/>
<value name="FixAltOnAltTab" type="hex" data="00"/>
<value name="DisableMouse" type="hex" data="00"/>
<value name="RSelectionFix" type="hex" data="01"/>
<value name="MouseSkipActivation" type="hex" data="01"/>
<value name="MouseSkipMoving" type="hex" data="01"/>
<value name="FarHourglass" type="hex" data="01"/>
<value name="FarHourglassDelay" type="dword" data="000001f4"/>
<value name="Dnd" type="hex" data="01"/>
<value name="DndDrop" type="hex" data="01"/>
<value name="DefCopy" type="hex" data="01"/>
<value name="DropUseMenu" type="hex" data="02"/>
<value name="DragOverlay" type="hex" data="01"/>
<value name="DragShowIcons" type="hex" data="01"/>
<value name="DebugSteps" type="hex" data="01"/>
<value name="DragPanel" type="hex" data="02"/>
<value name="DragPanelBothEdges" type="hex" data="00"/>
<value name="KeyBarRClick" type="hex" data="01"/>
<value name="StatusBar.Show" type="hex" data="00"/>
<value name="StatusBar.Flags" type="dword" data="00000002"/>
<value name="StatusFontFace" type="string" data="Tahoma"/>
<value name="StatusFontCharSet" type="dword" data="00000000"/>
<value name="StatusFontHeight" type="dword" data="0000000e"/>
<value name="StatusBar.Color.Back" type="dword" data="00404040"/>
<value name="StatusBar.Color.Light" type="dword" data="00ffffff"/>
<value name="StatusBar.Color.Dark" type="dword" data="00a0a0a0"/>
<value name="StatusBar.Hide.VCon" type="hex" data="00"/>
<value name="StatusBar.Hide.CapsL" type="hex" data="00"/>
<value name="StatusBar.Hide.NumL" type="hex" data="00"/>
<value name="StatusBar.Hide.ScrL" type="hex" data="00"/>
<value name="StatusBar.Hide.Lang" type="hex" data="01"/>
<value name="StatusBar.Hide.WPos" type="hex" data="01"/>
<value name="StatusBar.Hide.WSize" type="hex" data="01"/>
<value name="StatusBar.Hide.WClient" type="hex" data="01"/>
<value name="StatusBar.Hide.WWork" type="hex" data="01"/>
<value name="StatusBar.Hide.Style" type="hex" data="01"/>
<value name="StatusBar.Hide.StyleEx" type="hex" data="01"/>
<value name="StatusBar.Hide.hFore" type="hex" data="01"/>
<value name="StatusBar.Hide.hFocus" type="hex" data="01"/>
<value name="StatusBar.Hide.ABuf" type="hex" data="00"/>
<value name="StatusBar.Hide.CPos" type="hex" data="00"/>
<value name="StatusBar.Hide.CSize" type="hex" data="00"/>
<value name="StatusBar.Hide.BSize" type="hex" data="00"/>
<value name="StatusBar.Hide.CurX" type="hex" data="00"/>
<value name="StatusBar.Hide.CurY" type="hex" data="00"/>
<value name="StatusBar.Hide.CurS" type="hex" data="00"/>
<value name="StatusBar.Hide.CurI" type="hex" data="01"/>
<value name="StatusBar.Hide.ConEmuPID" type="hex" data="01"/>
<value name="StatusBar.Hide.ConEmuHWND" type="hex" data="01"/>
<value name="StatusBar.Hide.ConEmuView" type="hex" data="01"/>
<value name="StatusBar.Hide.Srv" type="hex" data="00"/>
<value name="StatusBar.Hide.SrvHWND" type="hex" data="01"/>
<value name="StatusBar.Hide.Transparency" type="hex" data="00"/>
<value name="StatusBar.Hide.New" type="hex" data="00"/>
<value name="StatusBar.Hide.Sync" type="hex" data="00"/>
<value name="StatusBar.Hide.Proc" type="hex" data="00"/>
<value name="StatusBar.Hide.Title" type="hex" data="01"/>
<value name="StatusBar.Hide.Resize" type="hex" data="00"/>
<value name="Tabs" type="hex" data="01"/>
<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="TabDblClick" type="dword" data="00000001"/>
<value name="TabsOnTaskBar" type="hex" data="02"/>
<value name="TaskBarOverlay" type="hex" data="01"/>
<value name="TabCloseMacro" type="string" data=""/>
<value name="TabFontFace" type="string" data="Segoe UI"/>
<value name="TabFontCharSet" type="dword" data="00000000"/>
<value name="TabFontHeight" type="dword" data="00000010"/>
<value name="SaveAllEditors" type="string" data=""/>
<value name="ToolbarAddSpace" type="dword" data="00000000"/>
<value name="TabConsole" type="string" data=" %n "/>
<value name="TabSkipWords" type="string" data="Administrator:|Администратор:"/>
<value name="TabPanels" type="string" data="&lt;%c&gt; %s"/>
<value name="TabEditor" type="string" data="&lt;%c.%i&gt;{%s}"/>
<value name="TabEditorModified" type="string" data="&lt;%c.%i&gt;[%s] *"/>
<value name="TabViewer" type="string" data="&lt;%c.%i&gt;[%s]"/>
<value name="TabLenMax" type="dword" data="00000014"/>
<value name="AdminTitleSuffix" type="string" data=" (Admin)"/>
<value name="AdminShowShield" type="hex" data="01"/>
<value name="HideInactiveConsoleTabs" type="hex" data="00"/>
<value name="ShowFarWindows" type="hex" data="01"/>
<value name="TryToCenter" type="hex" data="01"/>
<value name="CenterConsolePad" type="dword" data="00000008"/>
<value name="ShowScrollbar" type="hex" data="02"/>
<value name="ScrollBarAppearDelay" type="dword" data="00000064"/>
<value name="ScrollBarDisappearDelay" type="dword" data="000003e8"/>
<value name="IconID" type="dword" data="00000001"/>
<value name="MainTimerElapse" type="dword" data="0000000a"/>
<value name="MainTimerInactiveElapse" type="dword" data="000003e8"/>
<value name="AffinityMask" type="dword" data="00000000"/>
<value name="SkipFocusEvents" type="hex" data="00"/>
<value name="MonitorConsoleLang" type="hex" data="03"/>
<value name="DesktopMode" type="hex" data="00"/>
<value name="SnapToDesktopEdges" type="hex" data="00"/>
<value name="AlwaysOnTop" type="hex" data="00"/>
<value name="SleepInBackground" type="hex" data="01"/>
<value name="MinimizeOnLoseFocus" type="hex" data="00"/>
<value name="DisableFarFlashing" type="hex" data="00"/>
<value name="DisableAllFlashing" type="hex" data="00"/>
<value name="FindText" type="string" data=""/>
<value name="FindMatchCase" type="hex" data="00"/>
<value name="FindMatchWholeWords" type="hex" data="00"/>
<value name="FindTransparent" type="hex" data="01"/>
<value name="PanView.BackColor" type="dword" data="30ffffff"/>
<value name="PanView.PFrame" type="dword" data="00000001"/>
<value name="PanView.PFrameColor" type="dword" data="28808080"/>
<value name="PanView.SFrame" type="dword" data="00000001"/>
<value name="PanView.SFrameColor" type="dword" data="07c0c0c0"/>
<value name="PanView.Thumbs.ImgSize" type="dword" data="00000060"/>
<value name="PanView.Thumbs.SpaceX1" type="dword" data="00000001"/>
<value name="PanView.Thumbs.SpaceY1" type="dword" data="00000001"/>
<value name="PanView.Thumbs.SpaceX2" type="dword" data="00000005"/>
<value name="PanView.Thumbs.SpaceY2" type="dword" data="00000014"/>
<value name="PanView.Thumbs.LabelSpacing" type="dword" data="00000002"/>
<value name="PanView.Thumbs.LabelPadding" type="dword" data="00000000"/>
<value name="PanView.Thumbs.FontName" type="string" data="Tahoma"/>
<value name="PanView.Thumbs.FontHeight" type="dword" data="0000000e"/>
<value name="PanView.Tiles.ImgSize" type="dword" data="00000030"/>
<value name="PanView.Tiles.SpaceX1" type="dword" data="00000004"/>
<value name="PanView.Tiles.SpaceY1" type="dword" data="00000004"/>
<value name="PanView.Tiles.SpaceX2" type="dword" data="000000ac"/>
<value name="PanView.Tiles.SpaceY2" type="dword" data="00000004"/>
<value name="PanView.Tiles.LabelSpacing" type="dword" data="00000004"/>
<value name="PanView.Tiles.LabelPadding" type="dword" data="00000001"/>
<value name="PanView.Tiles.FontName" type="string" data="Tahoma"/>
<value name="PanView.Tiles.FontHeight" type="dword" data="0000000e"/>
<value name="PanView.LoadPreviews" type="hex" data="03"/>
<value name="PanView.LoadFolders" type="hex" data="01"/>
<value name="PanView.LoadTimeout" type="dword" data="0000000f"/>
<value name="PanView.MaxZoom" type="dword" data="00000258"/>
<value name="PanView.UsePicView2" type="hex" data="01"/>
<value name="PanView.RestoreOnStartup" type="hex" data="00"/>
<value name="Update.VerLocation" type="string" data=""/>
<value name="Update.CheckOnStartup" type="hex" data="01"/>
<value name="Update.CheckHourly" type="hex" data="00"/>
<value name="Update.ConfirmDownload" type="hex" data="01"/>
<value name="Update.UseBuilds" type="hex" data="01"/>
<value name="Update.UseProxy" type="hex" data="00"/>
<value name="Update.Proxy" type="string" data=""/>
<value name="Update.ProxyUser" type="string" data=""/>
<value name="Update.ProxyPassword" type="string" data=""/>
<value name="Update.ExeCmdLine" type="string" data=""/>
<value name="Update.ArcCmdLine" type="string" data=""/>
<value name="Update.DownloadPath" type="string" data="%TEMP%\ConEmu"/>
<value name="Update.LeavePackages" type="hex" data="00"/>
<value name="Update.PostUpdateCmd" type="string" data="echo Last successful update&gt;ConEmuUpdate.info &amp;&amp; date /t&gt;&gt;ConEmuUpdate.info &amp;&amp; time /t&gt;&gt;ConEmuUpdate.info"/>
<value name="Multi.Modifier" type="dword" data="00000011"/>
<value name="Multi.ArrowsModifier" type="dword" data="0000005b"/>
<value name="KeyMacroVersion" type="hex" data="02"/>
<value name="MinimizeRestore" type="dword" data="000011c0"/>
<value name="MinimizeRestore2" type="dword" data="00000000"/>
<value name="GlobalRestore" type="dword" data="00000000"/>
<value name="ForcedFullScreen" type="dword" data="12115b0d"/>
<value name="SwitchGuiFocus" type="dword" data="00000000"/>
<value name="SetFocusGui" type="dword" data="00000000"/>
<value name="SetFocusChild" type="dword" data="00000000"/>
<value name="ChildSystemMenu" type="dword" data="00000000"/>
<value name="Multi.NewConsole" type="dword" data="80808000"/>
<value name="Multi.NewConsoleShift" type="dword" data="00001154"/>
<value name="Multi.NewConsolePopup" type="dword" data="80808000"/>
<value name="Multi.NewWindow" type="dword" data="00000000"/>
<value name="Multi.NewSplitV" type="dword" data="00001000"/>
<value name="Multi.NewSplitH" type="dword" data="80808000"/>
<value name="Multi.NewAttach" type="dword" data="00005b00"/>
<value name="Multi.Next" type="dword" data="80808000"/>
<value name="Multi.NextShift" type="dword" data="80808000"/>
<value name="Multi.Recreate" type="dword" data="00005b00"/>
<value name="Multi.AltCon" type="dword" data="80808000"/>
<value name="Multi.Scroll" type="dword" data="00005b00"/>
<value name="Multi.Close" type="dword" data="00001157"/>
<value name="CloseTabKey" type="dword" data="00125b00"/>
<value name="CloseGroupKey" type="dword" data="00000000"/>
<value name="TerminateProcessKey" type="dword" data="80808000"/>
<value name="DuplicateRootKey" type="dword" data="00000000"/>
<value name="CloseConEmuKey" type="dword" data="00001273"/>
<value name="Multi.Rename" type="dword" data="80808000"/>
<value name="Multi.MoveLeft" type="dword" data="00125b25"/>
<value name="Multi.MoveRight" type="dword" data="00125b27"/>
<value name="Multi.CmdKey" type="dword" data="80808000"/>
<value name="CTS.VkBlockStart" type="dword" data="00000000"/>
<value name="CTS.VkTextStart" type="dword" data="00000000"/>
<value name="CTS.VkCopyAll" type="dword" data="00000000"/>
<value name="Multi.ShowTabsList" type="dword" data="00000000"/>
<value name="Multi.ShowTabsList2" type="dword" data="80808000"/>
<value name="ClipboardVkAllLines" type="dword" data="0000102d"/>
<value name="ClipboardVkFirstLine" type="dword" data="00001156"/>
<value name="DeleteWordToLeft" type="dword" data="00001108"/>
<value name="FindTextKey" type="dword" data="00005d46"/>
<value name="ScreenshotKey" type="dword" data="80808000"/>
<value name="ScreenshotFullKey" type="dword" data="80808000"/>
<value name="ShowStatusBarKey" type="dword" data="80808000"/>
<value name="ShowTabBarKey" type="dword" data="80808000"/>
<value name="ShowCaptionKey" type="dword" data="80808000"/>
<value name="AlwaysOnTopKey" type="dword" data="00000000"/>
<value name="Key.TabMenu" type="dword" data="80808000"/>
<value name="Key.TabMenu2" type="dword" data="80808000"/>
<value name="Key.TabPane1" type="dword" data="80808000"/>
<value name="Key.TabPane2" type="dword" data="80808000"/>
<value name="Key.Maximize" type="dword" data="80808000"/>
<value name="Key.FullScreen" type="dword" data="0000120d"/>
<value name="Key.SysMenu" type="dword" data="80808000"/>
<value name="Key.SysMenu2" type="dword" data="00001102"/>
<value name="Key.BufUp" type="dword" data="00001126"/>
<value name="Key.BufDn" type="dword" data="00001128"/>
<value name="Key.BufPgUp" type="dword" data="00001121"/>
<value name="Key.BufPgDn" type="dword" data="00001122"/>
<value name="Key.PicViewSlide" type="dword" data="80808000"/>
<value name="Key.PicViewSlower" type="dword" data="80808000"/>
<value name="Key.PicViewFaster" type="dword" data="80808000"/>
<value name="FontLargerKey" type="dword" data="80808000"/>
<value name="FontSmallerKey" type="dword" data="80808000"/>
<value name="PasteFileKey" type="dword" data="00101146"/>
<value name="PastePathKey" type="dword" data="00101144"/>
<value name="PasteCygwinKey" type="dword" data="00005d2d"/>
<value name="Key.JumpPrevMonitor" type="dword" data="80808000"/>
<value name="Key.JumpNextMonitor" type="dword" data="80808000"/>
<value name="Key.TileToLeft" type="dword" data="80808000"/>
<value name="Key.TileToRIght" type="dword" data="80808000"/>
<value name="KeyMacro01" type="dword" data="00121131"/>
<value name="KeyMacro01.Text" type="string" data="Task(&quot;cmd&quot;)"/>
<value name="KeyMacro02" type="dword" data="00121132"/>
<value name="KeyMacro02.Text" type="string" data="Task(&quot;PowerShell&quot;)"/>
<value name="KeyMacro03" type="dword" data="00000000"/>
<value name="KeyMacro03.Text" type="string" data=""/>
<value name="KeyMacro04" type="dword" data="00000000"/>
<value name="KeyMacro04.Text" type="string" data=""/>
<value name="KeyMacro05" type="dword" data="00000000"/>
<value name="KeyMacro05.Text" type="string" data=""/>
<value name="KeyMacro06" type="dword" data="00000000"/>
<value name="KeyMacro06.Text" type="string" data=""/>
<value name="KeyMacro07" type="dword" data="00000000"/>
<value name="KeyMacro07.Text" type="string" data=""/>
<value name="KeyMacro08" type="dword" data="00000000"/>
<value name="KeyMacro08.Text" type="string" data=""/>
<value name="KeyMacro09" type="dword" data="00000000"/>
<value name="KeyMacro09.Text" type="string" data=""/>
<value name="KeyMacro10" type="dword" data="00000000"/>
<value name="KeyMacro10.Text" type="string" data=""/>
<value name="KeyMacro11" type="dword" data="00000000"/>
<value name="KeyMacro11.Text" type="string" data=""/>
<value name="KeyMacro12" type="dword" data="00000000"/>
<value name="KeyMacro12.Text" type="string" data=""/>
<value name="KeyMacro13" type="dword" data="00000000"/>
<value name="KeyMacro13.Text" type="string" data=""/>
<value name="KeyMacro14" type="dword" data="00000000"/>
<value name="KeyMacro14.Text" type="string" data=""/>
<value name="KeyMacro15" type="dword" data="00000000"/>
<value name="KeyMacro15.Text" type="string" data=""/>
<value name="KeyMacro16" type="dword" data="00000000"/>
<value name="KeyMacro16.Text" type="string" data=""/>
<value name="KeyMacro17" type="dword" data="00000000"/>
<value name="KeyMacro17.Text" type="string" data=""/>
<value name="KeyMacro18" type="dword" data="00000000"/>
<value name="KeyMacro18.Text" type="string" data=""/>
<value name="KeyMacro19" type="dword" data="00000000"/>
<value name="KeyMacro19.Text" type="string" data=""/>
<value name="KeyMacro20" type="dword" data="00000000"/>
<value name="KeyMacro20.Text" type="string" data=""/>
<value name="KeyMacro21" type="dword" data="00000000"/>
<value name="KeyMacro21.Text" type="string" data=""/>
<value name="KeyMacro22" type="dword" data="00000000"/>
<value name="KeyMacro22.Text" type="string" data=""/>
<value name="KeyMacro23" type="dword" data="00000000"/>
<value name="KeyMacro23.Text" type="string" data=""/>
<value name="KeyMacro24" type="dword" data="00000000"/>
<value name="KeyMacro24.Text" type="string" data=""/>
<value name="KeyMacro25" type="dword" data="00000000"/>
<value name="KeyMacro25.Text" type="string" data=""/>
<value name="KeyMacro26" type="dword" data="00000000"/>
<value name="KeyMacro26.Text" type="string" data=""/>
<value name="KeyMacro27" type="dword" data="00000000"/>
<value name="KeyMacro27.Text" type="string" data=""/>
<value name="KeyMacro28" type="dword" data="00000000"/>
<value name="KeyMacro28.Text" type="string" data=""/>
<value name="KeyMacro29" type="dword" data="00000000"/>
<value name="KeyMacro29.Text" type="string" data=""/>
<value name="KeyMacro30" type="dword" data="00000000"/>
<value name="KeyMacro30.Text" type="string" data=""/>
<value name="KeyMacro31" type="dword" data="00000000"/>
<value name="KeyMacro31.Text" type="string" data=""/>
<value name="KeyMacro32" type="dword" data="00000000"/>
<value name="KeyMacro32.Text" type="string" data=""/>
<value name="CTS.VkBlock" type="hex" data="a4"/>
<value name="CTS.VkText" type="hex" data="a0"/>
<value name="CTS.VkAct" type="hex" data="00"/>
<value name="CTS.VkPrompt" type="hex" data="00"/>
<value name="FarGotoEditorVk" type="hex" data="a2"/>
<value name="DndLKey" type="hex" data="00"/>
<value name="DndRKey" type="hex" data="a2"/>
<value name="WndDragKey" type="dword" data="00121101"/>
<key name="Tasks" modified="2013-09-07 17:36:51">
<value name="Count" type="dword" data="00000002"/>
<key name="Task1" modified="2013-09-07 17:36:51">
<value name="Name" type="string" data="{cmd}"/>
<value name="GuiArgs" type="string" data=" /icon &quot;cmd.exe&quot;"/>
<value name="Cmd1" type="string" data="cmd /k vendor\init.bat"/>
<value name="Active" type="dword" data="00000000"/>
<value name="Count" type="dword" data="00000001"/>
</key>
<key name="Task2" modified="2013-09-07 17:36:51">
<value name="Name" type="string" data="{PowerShell}"/>
<value name="GuiArgs" type="string" data="/dir &quot;%userprofile%&quot;"/>
<value name="Cmd1" type="string" data="powershell"/>
<value name="Active" type="dword" data="00000000"/>
<value name="Count" type="dword" data="00000001"/>
</key>
</key>
<key name="Apps" modified="2013-09-07 17:36:51">
<value name="Count" type="dword" data="00000000"/>
</key>
<key name="Colors" modified="2013-09-07 17:36:51">
<key name="Palette1" modified="2013-09-07 17:36:51">
<value name="Name" type="string" data="Monokai"/>
<value name="ExtendColors" type="hex" data="00"/>
<value name="ExtendColorIdx" type="hex" data="0e"/>
<value name="TextColorIdx" type="hex" data="10"/>
<value name="BackColorIdx" type="hex" data="10"/>
<value name="PopTextColorIdx" type="hex" data="10"/>
<value name="PopBackColorIdx" type="hex" data="10"/>
<value name="ColorTable00" type="dword" data="00222827"/>
<value name="ColorTable01" type="dword" data="009e5401"/>
<value name="ColorTable02" type="dword" data="0004aa74"/>
<value name="ColorTable03" type="dword" data="00a6831a"/>
<value name="ColorTable04" type="dword" data="003403a7"/>
<value name="ColorTable05" type="dword" data="009c5689"/>
<value name="ColorTable06" type="dword" data="0049b6b6"/>
<value name="ColorTable07" type="dword" data="00cacaca"/>
<value name="ColorTable08" type="dword" data="007c7c7c"/>
<value name="ColorTable09" type="dword" data="00f58303"/>
<value name="ColorTable10" type="dword" data="0006d08d"/>
<value name="ColorTable11" type="dword" data="00e5c258"/>
<value name="ColorTable12" type="dword" data="004b04f3"/>
<value name="ColorTable13" type="dword" data="00b87da8"/>
<value name="ColorTable14" type="dword" data="0081cccc"/>
<value name="ColorTable15" type="dword" data="00ffffff"/>
<value name="ColorTable16" type="dword" data="00000000"/>
<value name="ColorTable17" type="dword" data="00800000"/>
<value name="ColorTable18" type="dword" data="00008000"/>
<value name="ColorTable19" type="dword" data="00808000"/>
<value name="ColorTable20" type="dword" data="00000080"/>
<value name="ColorTable21" type="dword" data="00800080"/>
<value name="ColorTable22" type="dword" data="00008080"/>
<value name="ColorTable23" type="dword" data="00c0c0c0"/>
<value name="ColorTable24" type="dword" data="00808080"/>
<value name="ColorTable25" type="dword" data="00ff0000"/>
<value name="ColorTable26" type="dword" data="0000ff00"/>
<value name="ColorTable27" type="dword" data="00ffff00"/>
<value name="ColorTable28" type="dword" data="000000ff"/>
<value name="ColorTable29" type="dword" data="00ff00ff"/>
<value name="ColorTable30" type="dword" data="0000ffff"/>
<value name="ColorTable31" type="dword" data="00ffffff"/>
</key>
<value name="Count" type="dword" data="00000001"/>
</key>
<value name="OneTabPerGroup" type="hex" data="00"/>
<value name="ActivateSplitMouseOver" type="hex" data="01"/>
<value name="TabBtnDblClick" type="dword" data="00000000"/>
</key>
</key>
</key>

View File

@ -1,3 +1,14 @@
## Config
All config files must be in this folder, if there is no option to set the folder directly, it has to be hardlinked.
All config files must be in this folder. If there is no option to set this folder
directly, it has to be hardlinked.
* `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.

View File

@ -1,4 +0,0 @@
e.=explorer .
gl=git log --oneline --all --graph --decorate $*
ls=ls --color $*

View File

@ -1,43 +0,0 @@
# name: Ctrl-D exits
# type: bool
# Ctrl-D exits the process when it is pressed on an empty line.
ctrld_exits = 1
# name: Ctrl-C raises exception
# type: bool
# When Ctrl-C is pressed Clink will pass it thourgh to the parent by raising the
# appropriate exception.
passthrough_ctrlc = 1
# name: Esc clears line
# type: bool
# Clink clears the current line when Esc is pressed (unless Readline's Vi mode
# is enabled).
esc_clears_line = 1
# name: Match display colour
# type: int
# Colour to use when displaying matches. A value less than 0 will be the
# opposite brightness of the default colour.
match_colour = -1
# name: Executable match style
# type: enum
# Changes how Clink will match executables when there is no path separator on
# the line. 0 = PATH only, 1 = PATH and CWD, 2 = PATH, CWD, and directories. In
# all cases both executables and directories are matched when there is a path
# separator present.
exec_match_style = -1
# name: Prompt colour
# type: int
# Surrounds the prompt in ANSI escape codes to set the prompt's colour. Disabled
# when the value is less than 0.
prompt_colour = -1
# name: Auto-answer terminate prompt
# type: enum
# Automatically answers cmd.exe's 'Terminate batch job (Y/N)?' prompts. 0 =
# disabled, 1 = answer 'Y', 2 = answer 'N'.
terminate_autoanswer = 0

BIN
icons/cmder.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

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

BIN
icons/cmder_icon.psd Normal file

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.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.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.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

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.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 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.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

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

181
launcher/.gitignore vendored Normal file
View File

@ -0,0 +1,181 @@
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
# User-specific files
*.suo
*.user
*.sln.docstates
*.filters
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
x64/
build/
bld/
[Bb]in/
[Oo]bj/
# Enable "build/" folder in the NuGet Packages folder since NuGet packages use it for MSBuild targets
!packages/*/build/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
#NUNIT
*.VisualState.xml
TestResult.xml
*_i.c
*_p.c
*_i.h
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc
# Chutzpah Test files
_Chutzpah*
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opensdf
*.sdf
*.cachefile
# Visual Studio profiler
*.psess
*.vsp
*.vspx
# TFS 2012 Local Workspace
$tf/
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
# JustCode is a .NET coding addin-in
.JustCode
# TeamCity is a build add-in
_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
# NCrunch
*.ncrunch*
_NCrunch_*
.*crunch*.local.xml
# MightyMoose
*.mm.*
AutoTest.Net/
# Installshield output folder
[Ee]xpress/
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish/
# Publish Web Output
*.Publish.xml
*.azurePubxml
# NuGet Packages Directory
## TODO: If you have NuGet Package Restore enabled, uncomment the next line
#packages/
## TODO: If the tool you use requires repositories.config, also uncomment the next line
#!packages/repositories.config
# Windows Azure Build Output
csx/
*.build.csdef
# Windows Store app package directory
AppPackages/
# Others
sql/
*.Cache
ClientBin/
[Ss]tyle[Cc]op.*
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.[Pp]ublish.xml
*.pfx
*.publishsettings
# RIA/Silverlight projects
Generated_Code/
# Backup & report files from converting an old project file to a newer
# Visual Studio version. Backup files are not needed, because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
# SQL Server files
App_Data/*.mdf
App_Data/*.ldf
# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
# Microsoft Fakes
FakesAssemblies/
# =========================
# Windows detritus
# =========================
# Windows image file caches
Thumbs.db
ehthumbs.db
# Folder config file
Desktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/

View File

@ -0,0 +1,22 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.23107.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CmderLauncher", "CmderLauncher.vcxproj", "{4A8485A5-B7DD-4C44-B7F6-3E2765DD0CD3}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{4A8485A5-B7DD-4C44-B7F6-3E2765DD0CD3}.Debug|Win32.ActiveCfg = Debug|Win32
{4A8485A5-B7DD-4C44-B7F6-3E2765DD0CD3}.Debug|Win32.Build.0 = Debug|Win32
{4A8485A5-B7DD-4C44-B7F6-3E2765DD0CD3}.Release|Win32.ActiveCfg = Release|Win32
{4A8485A5-B7DD-4C44-B7F6-3E2765DD0CD3}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,111 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{4A8485A5-B7DD-4C44-B7F6-3E2765DD0CD3}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>CmderLauncher</RootNamespace>
<WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141_xp</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
<TargetName>Cmder</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<TargetName>Cmder</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Manifest>
<AdditionalManifestFiles>src/app.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
</Manifest>
<ResourceCompile>
<PreprocessorDefinitions>_USING_V110_SDK71_;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MinSpace</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>false</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<Manifest>
<AdditionalManifestFiles>src/app.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
</Manifest>
<PostBuildEvent>
<Command>copy $(TargetPath) $(SolutionDir)..\$(TargetFileName)</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<ResourceCompile Include="src\Resource.rc">
<FileType>RC</FileType>
</ResourceCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="src\resource.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\CmderLauncher.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,593 @@
#include <windows.h>
#include <tchar.h>
#include <Shlwapi.h>
#include "resource.h"
#include <vector>
#include <shlobj.h>
#include <regex>
#include <iostream>
#pragma comment(lib, "Shlwapi.lib")
#pragma warning( disable : 4091 )
#ifndef UNICODE
#error "Must be compiled with unicode support."
#endif
#define USE_TASKBAR_API (_WIN32_WINNT >= _WIN32_WINNT_WIN7)
#define MB_TITLE L"Cmder Launcher"
#define SHELL_MENU_REGISTRY_PATH_BACKGROUND L"Directory\\Background\\shell\\Cmder"
#define SHELL_MENU_REGISTRY_PATH_LISTITEM L"Directory\\shell\\Cmder"
#define streqi(a, b) (_wcsicmp((a), (b)) == 0)
#define WIDEN2(x) L ## x
#define WIDEN(x) WIDEN2(x)
#define __WFUNCTION__ WIDEN(__FUNCTION__)
#define FAIL_ON_ERROR(x) { DWORD ec; if ((ec = (x)) != ERROR_SUCCESS) { ShowErrorAndExit(ec, __WFUNCTION__, __LINE__); } }
void ShowErrorAndExit(DWORD ec, const wchar_t * func, int line)
{
wchar_t * buffer;
if (FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
NULL, ec, 0, (LPWSTR)&buffer, 0, NULL) == 0)
{
buffer = L"Unknown error. FormatMessage failed.";
}
wchar_t message[1024];
swprintf_s(message, L"%s\nFunction: %s\nLine: %d", buffer, func, line);
LocalFree(buffer);
MessageBox(NULL, message, MB_TITLE, MB_OK | MB_ICONERROR);
exit(1);
}
typedef struct _option
{
std::wstring name;
bool hasVal;
std::wstring value;
bool set;
} option;
typedef std::pair<std::wstring, std::wstring> optpair;
bool FileExists(const wchar_t * filePath)
{
HANDLE hFile = CreateFile(filePath, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL);
if (hFile != INVALID_HANDLE_VALUE)
{
CloseHandle(hFile);
return true;
}
return false;
}
void StartCmder(std::wstring path = L"", bool is_single_mode = false, std::wstring taskName = L"", std::wstring cfgRoot = L"")
{
#if USE_TASKBAR_API
wchar_t appId[MAX_PATH] = { 0 };
#endif
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 defaultCfgPath[MAX_PATH] = { 0 };
wchar_t conEmuPath[MAX_PATH] = { 0 };
wchar_t configDirPath[MAX_PATH] = { 0 };
wchar_t userConfigDirPath[MAX_PATH] = { 0 };
wchar_t userBinDirPath[MAX_PATH] = { 0 };
wchar_t userProfiledDirPath[MAX_PATH] = { 0 };
wchar_t userProfilePath[MAX_PATH] = { 0 };
wchar_t legacyUserProfilePath[MAX_PATH] = { 0 };
wchar_t userAliasesPath[MAX_PATH] = { 0 };
wchar_t legacyUserAliasesPath[MAX_PATH] = { 0 };
wchar_t args[MAX_PATH * 2 + 256] = { 0 };
std::wstring cmderStart = path;
std::wstring cmderTask = taskName;
std::copy(cfgRoot.begin(), cfgRoot.end(), userConfigDirPath);
userConfigDirPath[cfgRoot.length()] = 0;
GetModuleFileName(NULL, exeDir, sizeof(exeDir));
#if USE_TASKBAR_API
wcscpy_s(appId, exeDir);
#endif
PathRemoveFileSpec(exeDir);
PathCombine(icoPath, exeDir, L"icons\\cmder.ico");
PathCombine(configDirPath, exeDir, L"config");
/*
Convert legacy user-profile.cmd to new name user_profile.cmd
*/
PathCombine(legacyUserProfilePath, configDirPath, L"user-profile.cmd");
if (PathFileExists(legacyUserProfilePath))
{
PathCombine(userProfilePath, configDirPath, L"user_profile.cmd");
char *lPr = (char *)malloc(MAX_PATH);
char *pR = (char *)malloc(MAX_PATH);
size_t i;
wcstombs_s(&i, lPr, (size_t)MAX_PATH,
legacyUserProfilePath, (size_t)MAX_PATH);
wcstombs_s(&i, pR, (size_t)MAX_PATH,
userProfilePath, (size_t)MAX_PATH);
rename(lPr, pR);
}
/*
Convert legacy user-aliases.cmd to new name user_aliases.cmd
*/
PathCombine(legacyUserAliasesPath, configDirPath, L"user-aliases.cmd");
if (PathFileExists(legacyUserAliasesPath))
{
PathCombine(userAliasesPath, configDirPath, L"user_aliases.cmd");
char *lPr = (char *)malloc(MAX_PATH);
char *pR = (char *)malloc(MAX_PATH);
size_t i;
wcstombs_s(&i, lPr, (size_t)MAX_PATH,
legacyUserAliasesPath, (size_t)MAX_PATH);
wcstombs_s(&i, pR, (size_t)MAX_PATH,
userAliasesPath, (size_t)MAX_PATH);
rename(lPr, pR);
}
/*
Was -c [path] specified?
*/
if (wcscmp(userConfigDirPath, L"") == 0)
{
// No - It wasn't.
PathCombine(userConfigDirPath, exeDir, L"config");
}
else
{
// Yes - It was.
PathCombine(userBinDirPath, userConfigDirPath, L"bin");
SHCreateDirectoryEx(0, userBinDirPath, 0);
PathCombine(userConfigDirPath, userConfigDirPath, L"config");
SHCreateDirectoryEx(0, userConfigDirPath, 0);
PathCombine(userProfiledDirPath, userConfigDirPath, L"profile.d");
SHCreateDirectoryEx(0, userProfiledDirPath, 0);
/*
Convert legacy user-profile.cmd to new name user_profile.cmd
*/
PathCombine(legacyUserProfilePath, userConfigDirPath, L"user-profile.cmd");
if (PathFileExists(legacyUserProfilePath))
{
PathCombine(userProfilePath, userConfigDirPath, L"user_profile.cmd");
char *lPr = (char *)malloc(MAX_PATH);
char *pR = (char *)malloc(MAX_PATH);
size_t i;
wcstombs_s(&i, lPr, (size_t)MAX_PATH,
legacyUserProfilePath, (size_t)MAX_PATH);
wcstombs_s(&i, pR, (size_t)MAX_PATH,
userProfilePath, (size_t)MAX_PATH);
rename(lPr, pR);
}
/*
Convert legacy user-aliases.cmd to new name user_aliases.cmd
*/
PathCombine(legacyUserAliasesPath, userConfigDirPath, L"user-aliases.cmd");
if (PathFileExists(legacyUserAliasesPath))
{
PathCombine(userAliasesPath, userConfigDirPath, L"user_aliases.cmd");
char *lPr = (char *)malloc(MAX_PATH);
char *pR = (char *)malloc(MAX_PATH);
size_t i;
wcstombs_s(&i, lPr, (size_t)MAX_PATH,
legacyUserAliasesPath, (size_t)MAX_PATH);
wcstombs_s(&i, pR, (size_t)MAX_PATH,
userAliasesPath, (size_t)MAX_PATH);
rename(lPr, pR);
}
}
// Set path to vendored ConEmu config file
PathCombine(cfgPath, exeDir, L"vendor\\conemu-maximus5\\ConEmu.xml");
// Set path to Cmder default ConEmu config file
PathCombine(defaultCfgPath, exeDir, L"vendor\\ConEmu.xml.default");
// Check for machine-specific then user config source file.
PathCombine(cpuCfgPath, userConfigDirPath, L"ConEmu-%COMPUTERNAME%.xml");
ExpandEnvironmentStrings(cpuCfgPath, cpuCfgPath, sizeof(cpuCfgPath) / sizeof(cpuCfgPath[0]));
// Set path to Cmder user ConEmu config file
PathCombine(userCfgPath, userConfigDirPath, L"user-ConEmu.xml");
if (PathFileExists(cpuCfgPath)) // config/ConEmu-%COMPUTERNAME%.xml file exists, use it.
{
if (PathFileExists(cfgPath)) // vendor/conemu-maximus5/ConEmu.xml file exists, copy vendor/conemu-maximus5/ConEmu.xml to config/ConEmu-%COMPUTERNAME%.xml.
{
if (!CopyFile(cfgPath, cpuCfgPath, FALSE))
{
MessageBox(NULL,
(GetLastError() == ERROR_ACCESS_DENIED)
? L"Failed to copy vendor/conemu-maximus5/ConEmu.xml file to config/ConEmu-%COMPUTERNAME%.xml! Access Denied."
: L"Failed to copy vendor/conemu-maximus5/ConEmu.xml file to config/ConEmu-%COMPUTERNAME%.xml!", MB_TITLE, MB_ICONSTOP);
exit(1);
}
}
else // vendor/conemu-maximus5/ConEmu.xml config file does not exist, copy config/ConEmu-%COMPUTERNAME%.xml to vendor/conemu-maximus5/ConEmu.xml file
{
if (!CopyFile(cpuCfgPath, cfgPath, FALSE))
{
MessageBox(NULL,
(GetLastError() == ERROR_ACCESS_DENIED)
? L"Failed to copy conig/ConEmu-%COMPUTERNAME%.xml file to vendor/conemu-maximus5/ConEmu.xml! Access Denied."
: L"Failed to copy config/ConEmu-%COMPUTERNAME%.xml file to vendor/conemu-maximus5/ConEmu.xml!", MB_TITLE, MB_ICONSTOP);
exit(1);
}
}
}
else if (PathFileExists(userCfgPath)) // config/user_conemu.xml exists, use it.
{
if (PathFileExists(cfgPath)) // vendor/conemu-maximus5/ConEmu.xml exists, copy vendor/conemu-maximus5/ConEmu.xml to config/user_conemu.xml.
{
if (!CopyFile(cfgPath, userCfgPath, FALSE))
{
MessageBox(NULL,
(GetLastError() == ERROR_ACCESS_DENIED)
? L"Failed to copy vendor/conemu-maximus5/ConEmu.xml file to config/user-conemu.xml! Access Denied."
: L"Failed to copy vendor/conemu-maximus5/ConEmu.xml file to config/user-conemu.xml!", MB_TITLE, MB_ICONSTOP);
exit(1);
}
}
else // vendor/conemu-maximus5/ConEmu.xml does not exist, copy config/user-conemu.xml to vendor/conemu-maximus5/ConEmu.xml
{
if (!CopyFile(userCfgPath, cfgPath, FALSE))
{
MessageBox(NULL,
(GetLastError() == ERROR_ACCESS_DENIED)
? L"Failed to copy config/user-conemu.xml file to vendor/conemu-maximus5/ConEmu.xml! Access Denied."
: L"Failed to copy config/user-conemu.xml file to vendor/conemu-maximus5/ConEmu.xml!", MB_TITLE, MB_ICONSTOP);
exit(1);
}
}
}
else if (PathFileExists(cfgPath)) // vendor/conemu-maximus5/ConEmu.xml exists, copy vendor/conemu-maximus5/ConEmu.xml to config/user_conemu.xml
{
if (!CopyFile(cfgPath, userCfgPath, FALSE))
{
MessageBox(NULL,
(GetLastError() == ERROR_ACCESS_DENIED)
? L"Failed to copy vendor/conemu-maximus5/ConEmu.xml file to config/user-conemu.xml! Access Denied."
: L"Failed to copy vendor/conemu-maximus5/ConEmu.xml file to config/user-conemu.xml!", MB_TITLE, MB_ICONSTOP);
exit(1);
}
}
else // vendor/ConEmu.xml config exists, copy Cmder vendor/ConEmu.xml file to vendor/conemu-maximus5/ConEmu.xml.
{
if ( ! CopyFile(defaultCfgPath, cfgPath, FALSE))
{
ShowErrorAndExit(GetLastError(), __WFUNCTION__, __LINE__);
MessageBox(NULL,
(GetLastError() == ERROR_ACCESS_DENIED)
? L"Failed to copy vendor/ConEmu.xml.default file to vendor/conemu-maximus5/ConEmu.xml! Access Denied."
: L"Failed to copy vendor/ConEmu.xml.default file to vendor/conemu-maximus5/ConEmu.xml!", MB_TITLE, MB_ICONSTOP);
exit(1);
}
}
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 (is_single_mode)
{
if (!streqi(cmderTask.c_str(), L""))
{
swprintf_s(args, L"%s /single /Icon \"%s\" /Title Cmder /dir \"%s\" /run {%s}", args, icoPath, cmderStart.c_str(), cmderTask.c_str());
}
else
{
swprintf_s(args, L"%s /single /Icon \"%s\" /Title Cmder /dir \"%s\"", args, icoPath, cmderStart.c_str());
}
}
else
{
if (!streqi(cmderTask.c_str(), L""))
{
swprintf_s(args, L"/Icon \"%s\" /Title Cmder /dir \"%s\" /run {%s}", icoPath, cmderStart.c_str(), cmderTask.c_str());
}
else
{
swprintf_s(args, L"%s /Icon \"%s\" /Title Cmder /dir \"%s\"", args, icoPath, cmderStart.c_str());
}
}
SetEnvironmentVariable(L"CMDER_ROOT", exeDir);
if (wcscmp(userConfigDirPath, configDirPath) != 0)
{
SetEnvironmentVariable(L"CMDER_USER_CONFIG", userConfigDirPath);
SetEnvironmentVariable(L"CMDER_USER_BIN", userBinDirPath);
}
// Ensure EnvironmentVariables are propagated.
STARTUPINFO si = { 0 };
si.cb = sizeof(STARTUPINFO);
#if USE_TASKBAR_API
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)
{
bool userOnly;
if (streqi(opt.c_str(), L"ALL"))
{
userOnly = false;
}
else if (streqi(opt.c_str(), L"USER"))
{
userOnly = true;
}
else
{
MessageBox(NULL, L"Unrecognized option for /REGISTER or /UNREGISTER. Must be either ALL or USER.", MB_TITLE, MB_OK);
exit(1);
}
return userOnly;
}
HKEY GetRootKey(std::wstring opt)
{
HKEY root;
if (IsUserOnly(opt))
{
FAIL_ON_ERROR(RegCreateKeyEx(HKEY_CURRENT_USER, L"Software\\Classes", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &root, NULL));
}
else
{
root = HKEY_CLASSES_ROOT;
}
return root;
}
void RegisterShellMenu(std::wstring opt, wchar_t* keyBaseName)
{
// First, get the paths we will use
wchar_t exePath[MAX_PATH] = { 0 };
wchar_t icoPath[MAX_PATH] = { 0 };
GetModuleFileName(NULL, exePath, sizeof(exePath));
wchar_t commandStr[MAX_PATH + 20] = { 0 };
swprintf_s(commandStr, L"\"%s\" \"%%V\"", exePath);
// Now that we have `commandStr`, it's OK to change `exePath`...
PathRemoveFileSpec(exePath);
PathCombine(icoPath, exePath, L"icons\\cmder.ico");
// Now set the registry keys
HKEY root = GetRootKey(opt);
HKEY cmderKey;
FAIL_ON_ERROR(RegCreateKeyEx(root, keyBaseName, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &cmderKey, NULL));
FAIL_ON_ERROR(RegSetValue(cmderKey, L"", REG_SZ, L"Cmder Here", NULL));
FAIL_ON_ERROR(RegSetValueEx(cmderKey, L"NoWorkingDirectory", 0, REG_SZ, (BYTE *)L"", 2));
FAIL_ON_ERROR(RegSetValueEx(cmderKey, L"Icon", 0, REG_SZ, (BYTE *)icoPath, wcslen(icoPath) * sizeof(wchar_t)));
HKEY command;
FAIL_ON_ERROR(RegCreateKeyEx(cmderKey, L"command", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &command, NULL));
FAIL_ON_ERROR(RegSetValue(command, L"", REG_SZ, commandStr, NULL));
RegCloseKey(command);
RegCloseKey(cmderKey);
RegCloseKey(root);
}
void UnregisterShellMenu(std::wstring opt, wchar_t* keyBaseName)
{
HKEY root = GetRootKey(opt);
HKEY cmderKey;
FAIL_ON_ERROR(RegCreateKeyEx(root, keyBaseName, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &cmderKey, NULL));
FAIL_ON_ERROR(RegDeleteTree(cmderKey, NULL));
RegDeleteKeyEx(root, keyBaseName, KEY_ALL_ACCESS, NULL);
RegCloseKey(cmderKey);
RegCloseKey(root);
}
struct cmderOptions
{
std::wstring cmderCfgRoot = L"";
std::wstring cmderStart = L"";
std::wstring cmderTask = L"";
std::wstring cmderRegScope = L"USER";
bool cmderSingle = false;
bool registerApp = false;
bool unRegisterApp = false;
bool error = false;
};
cmderOptions GetOption()
{
cmderOptions cmderOptions;
LPWSTR *szArgList;
int argCount;
szArgList = CommandLineToArgvW(GetCommandLine(), &argCount);
for (int i = 1; i < argCount; i++)
{
// MessageBox(NULL, szArgList[i], L"Arglist contents", MB_OK);
if (_wcsicmp(L"/c", szArgList[i]) == 0)
{
TCHAR userProfile[MAX_PATH];
const DWORD ret = GetEnvironmentVariable(L"USERPROFILE", userProfile, MAX_PATH);
wchar_t cmderCfgRoot[MAX_PATH] = { 0 };
PathCombine(cmderCfgRoot, userProfile, L"cmder_cfg");
cmderOptions.cmderCfgRoot = cmderCfgRoot;
if (szArgList[i + 1] != NULL && szArgList[i + 1][0] != '/')
{
cmderOptions.cmderCfgRoot = szArgList[i + 1];
i++;
}
}
else if (_wcsicmp(L"/start", szArgList[i]) == 0)
{
int len = wcslen(szArgList[i + 1]);
if (wcscmp(&szArgList[i + 1][len - 1], L"\"") == 0)
{
szArgList[i + 1][len - 1] = '\0';
}
if (PathFileExists(szArgList[i + 1]))
{
cmderOptions.cmderStart = szArgList[i + 1];
i++;
}
else
{
MessageBox(NULL, szArgList[i + 1], L"/START - Folder does not exist!", MB_OK);
}
}
else if (_wcsicmp(L"/task", szArgList[i]) == 0)
{
cmderOptions.cmderTask = szArgList[i + 1];
i++;
}
else if (_wcsicmp(L"/single", szArgList[i]) == 0)
{
cmderOptions.cmderSingle = true;
}
else if (_wcsicmp(L"/register", szArgList[i]) == 0)
{
cmderOptions.registerApp = true;
cmderOptions.unRegisterApp = false;
if (szArgList[i + 1] != NULL)
{
if (_wcsicmp(L"all", szArgList[i + 1]) == 0 || _wcsicmp(L"user", szArgList[i + 1]) == 0)
{
cmderOptions.cmderRegScope = szArgList[i + 1];
i++;
}
}
}
else if (_wcsicmp(L"/unregister", szArgList[i]) == 0)
{
cmderOptions.unRegisterApp = true;
cmderOptions.registerApp = false;
if (szArgList[i + 1] != NULL)
{
if (_wcsicmp(L"all", szArgList[i + 1]) == 0 || _wcsicmp(L"user", szArgList[i + 1]) == 0)
{
cmderOptions.cmderRegScope = szArgList[i + 1];
i++;
}
}
}
else if (cmderOptions.cmderStart == L"")
{
int len = wcslen(szArgList[i]);
if (wcscmp(&szArgList[i][len - 1], L"\"") == 0)
{
szArgList[i][len - 1] = '\0';
}
if (PathFileExists(szArgList[i]))
{
cmderOptions.cmderStart = szArgList[i];
i++;
}
else
{
MessageBox(NULL, szArgList[i], L"Folder does not exist!", MB_OK);
}
}
else
{
MessageBox(NULL, L"Unrecognized parameter.\n\nValid options:\n\n /c [CMDER User Root Path]\n\n /task [ConEmu Task Name]\n\n [/start [Start in Path] | [Start in Path]]\n\n /single\n\nor\n\n /register [USER | ALL]\n\nor\n\n /unregister [USER | ALL]\n", MB_TITLE, MB_OK);
cmderOptions.error = true;
}
}
LocalFree(szArgList);
return cmderOptions;
}
int APIENTRY _tWinMain(_In_ HINSTANCE hInstance,
_In_opt_ HINSTANCE hPrevInstance,
_In_ LPTSTR lpCmdLine,
_In_ int nCmdShow)
{
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);
UNREFERENCED_PARAMETER(nCmdShow);
cmderOptions cmderOptions = GetOption();
if (cmderOptions.registerApp == true)
{
RegisterShellMenu(cmderOptions.cmderRegScope, SHELL_MENU_REGISTRY_PATH_BACKGROUND);
RegisterShellMenu(cmderOptions.cmderRegScope, SHELL_MENU_REGISTRY_PATH_LISTITEM);
}
else if (cmderOptions.unRegisterApp == true)
{
UnregisterShellMenu(cmderOptions.cmderRegScope, SHELL_MENU_REGISTRY_PATH_BACKGROUND);
UnregisterShellMenu(cmderOptions.cmderRegScope, SHELL_MENU_REGISTRY_PATH_LISTITEM);
}
else if (cmderOptions.error == true)
{
return 1;
}
else
{
StartCmder(cmderOptions.cmderStart, cmderOptions.cmderSingle, cmderOptions.cmderTask, cmderOptions.cmderCfgRoot);
}
return 0;
}

108
launcher/src/Resource.rc Normal file
View File

@ -0,0 +1,108 @@
/* _
___ _ __ ___ __| | ___ _ __
/ __| '_ ` _ \ / _` |/ _ \ '__|
| (__| | | | | | (_| | __/ |
\___|_| |_| |_|\__,_|\___|_|
=============================================================================
The Cmder Console Emulator Project
*/
#include "resource.h"
#include "version.rc2"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "winres.h"
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
// English (United States) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE
BEGIN
"#include ""winres.h""\r\n"
"\0"
END
3 TEXTINCLUDE
BEGIN
"\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Icon
//
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
IDI_CMDER ICON "..\\..\\icons\\cmder.ico"
#endif // English (United States) resources
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
//
// Version
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION CMDER_MAJOR_VERSION,CMDER_MINOR_VERSION,CMDER_REVISION_VERSION,CMDER_BUILD_VERSION
PRODUCTVERSION CMDER_MAJOR_VERSION,CMDER_MINOR_VERSION,CMDER_REVISION_VERSION,CMDER_BUILD_VERSION
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
FILEFLAGS (CMDER_DEBUGFLAG | CMDER_BUILDFLAGS)
FILEOS VOS_NT_WINDOWS32
FILETYPE VFT_APP
FILESUBTYPE VFT2_UNKNOWN
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "100904b0"
BEGIN
VALUE "CompanyName", CMDER_COMPANY_NAME_STR "\0"
VALUE "FileDescription", CMDER_FILE_DESCRIPTION_STR "\0"
VALUE "FileVersion", CMDER_VERSION_STR "\0"
VALUE "InternalName", CMDER_INTERNAL_NAME_STR "\0"
VALUE "LegalCopyright", "Copyright (C) " CMDER_COPYRIGHT_YEAR_STR " " CMDER_COMPANY_NAME_STR "\0"
VALUE "OriginalFilename", CMDER_ORIGINAL_FILENAME_STR "\0"
VALUE "ProductName", CMDER_PRODUCT_NAME_STR "\0"
VALUE "ProductVersion", CMDER_VERSION_STR "\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x1009, 1200
END
END
/////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED

54
launcher/src/app.manifest Normal file
View File

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
<!-- Project description definition -->
<description>Cmder Console Emulator</description>
<!-- Project dependency definition -->
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0" processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*" />
</dependentAssembly>
</dependency>
<!-- Win32 User Account Control definition -->
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="asInvoker"
uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
<!-- Required for appcompat behaviour -->
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- Windows Vista -->
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
<!-- Windows 7 -->
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
<!-- Windows 8 -->
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
<!-- Windows 8.1 -->
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
<!-- Windows 10 -->
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
</application>
</compatibility>
<!-- Add dpi awareness -->
<asmv3:application>
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
<dpiAware>true/pm</dpiAware>
</asmv3:windowsSettings>
</asmv3:application>
</assembly>

BIN
launcher/src/resource.h Normal file

Binary file not shown.

View File

@ -0,0 +1,27 @@
/**
* WARNING: do NOT modify this file! the content of this file should be
* automatically genereted before AppVeyor builds using the
* respective .ps1 Powershell scripts.
*
*/
/////////////////////////////////////////////////////////////////////////////
// Define the version numbers and build information manually here:
#define CMDER_MAJOR_VERSION {Cmder-Major-Version}
#define CMDER_MINOR_VERSION {Cmder-Minor-Version}
#define CMDER_REVISION_VERSION {Cmder-Revision-Version}
#define CMDER_BUILD_VERSION {Cmder-Build-Version}
#define CMDER_VERSION_STR {Cmder-Version-Str}
#define CMDER_PRODUCT_NAME_STR "Cmder"
#define CMDER_FILE_DESCRIPTION_STR "Cmder: Lovely Console Emulator."
#define CMDER_INTERNAL_NAME_STR "Cmder"
#define CMDER_ORIGINAL_FILENAME_STR "Cmder.exe"
#define CMDER_COMPANY_NAME_STR "Samuel Vasko"
#define CMDER_COPYRIGHT_YEAR_STR "2016"
#define CMDER_DEBUGFLAG 0x0L // set to 0x1L to enable debug mode
#define CMDER_BUILDFLAGS 0x0L
/////////////////////////////////////////////////////////////////////////////

22
packignore Normal file
View File

@ -0,0 +1,22 @@
launcher
.gitignore
.gitattributes
.git
.github
*.md
build
scripts
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
Cmder.bat
vendor\tmp
appveyor.yml
vendor\cmder.sh
vendor\git-prompt.sh
config\user-*

152
scripts/build.ps1 Normal file
View File

@ -0,0 +1,152 @@
<#
.Synopsis
Build Cmder
.DESCRIPTION
Use this script to build your own edition of Cmder
This script builds dependencies from current vendor/sources.json file and unpacks them.
You will need to make this script executable by setting your Powershell Execution Policy to Remote signed
Then unblock the script for execution with UnblockFile .\build.ps1
.EXAMPLE
.\build.ps1
Executes the default build for Cmder; Conemu, clink. This is equivalent to the "minimum" style package in the releases
.EXAMPLE
.\build.ps1 -Compile
Recompile the launcher executable if you have the requisite build tools for C++ installed.
.EXAMPLE
.\build -verbose
Execute the build and see what's going on.
.EXAMPLE
.\build.ps1 -SourcesPath '~/custom/vendors.json'
Build cmder with your own packages. See vendor/sources.json for the syntax you need to copy.
.NOTES
AUTHORS
Samuel Vasko, Jack Bennett
Part of the Cmder project.
.LINK
http://cmder.net/ - Project Home
#>
[CmdletBinding(SupportsShouldProcess=$true)]
Param(
# CmdletBinding will give us;
# -verbose switch to turn on logging and
# -whatif switch to not actually make changes
# Path to the vendor configuration source file
[string]$sourcesPath = "..\vendor\sources.json",
# Vendor folder location
[string]$saveTo = "..\vendor\",
# Launcher folder location
[string]$launcher = "..\launcher",
# Config folder location
[string]$config = "..\config",
# New launcher if you have MSBuild tools installed
[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
. "$PSScriptRoot\utils.ps1"
$ErrorActionPreference = "Stop"
Push-Location -Path $saveTo
$sources = Get-Content $sourcesPath | Out-String | Convertfrom-Json
# Get the version string
$version = Get-VersionStr
# Check for requirements
Ensure-Exists $sourcesPath
Ensure-Executable "7z"
New-Item -Type Directory -Path (Join-Path $saveTo "/tmp/") -ErrorAction SilentlyContinue >$null
# Preserve modified (by user) ConEmu setting file
if ($config -ne "") {
$ConEmuXml = Join-Path $saveTo "conemu-maximus5\ConEmu.xml"
if (Test-Path $ConEmuXml -pathType leaf) {
$ConEmuXmlSave = Join-Path $config "ConEmu.xml"
Write-Verbose "Backup '$ConEmuXml' to '$ConEmuXmlSave'"
Copy-Item $ConEmuXml $ConEmuXmlSave
} else { $ConEmuXml = "" }
} else { $ConEmuXml = "" }
# 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)"
# We do not care about the extensions/type of archive
$tempArchive = "tmp/$($s.name).tmp"
Delete-Existing $tempArchive
Delete-Existing $s.name
Download-File -Url $s.url -File $vend\$tempArchive -ErrorAction Stop
Extract-Archive $tempArchive $s.name
if ((Get-Childitem $s.name).Count -eq 1) {
Flatten-Directory($s.name)
}
# Write current version to .cmderver file, for later.
"$($s.version)" | Out-File "$($s.name)/.cmderver"
}
# Restore user configuration
if ($ConEmuXml -ne "") {
Write-Verbose "Restore '$ConEmuXmlSave' to '$ConEmuXml'"
Copy-Item $ConEmuXmlSave $ConEmuXml
}
Pop-Location
if($Compile) {
Push-Location -Path $launcher
Create-RC $version ($launcher + '\src\version.rc2');
msbuild CmderLauncher.vcxproj /t:Clean,Build /p:configuration=Release
if ($LastExitCode -ne 0) {
throw "msbuild failed to build the executable."
}
else {
Write-Verbose "successfully built Cmder v$version!"
if ( $Env:APPVEYOR -eq 'True' ) {
Add-AppveyorMessage -Message "Building Cmder v$version was successful." -Category Information
}
}
Pop-Location
} else {
Write-Warning "You are not building a launcher, Use -Compile"
Write-Warning "This cannot be a release. Test build only!"
}
# Put vendor\cmder.sh in /etc/profile.d so it runs when we start bash or mintty
if ( (Test-Path $($SaveTo + "git-for-windows/etc/profile.d") ) ) {
write-verbose "Adding cmder.sh /etc/profile.d"
Copy-Item $($SaveTo + "cmder.sh") $($SaveTo + "git-for-windows/etc/profile.d/cmder.sh")
}
# Replace /etc/profile.d/git-prompt.sh with cmder lambda prompt so it runs when we start bash or mintty
if ( !(Test-Path $($SaveTo + "git-for-windows/etc/profile.d/git-prompt.sh.bak") ) ) {
write-verbose "Replacing /etc/profile.d/git-prompt.sh with our git-prompt.sh"
Move-Item $($SaveTo + "git-for-windows/etc/profile.d/git-prompt.sh") $($SaveTo + "git-for-windows/etc/profile.d/git-prompt.sh.bak")
Copy-Item $($SaveTo + "git-prompt.sh") $($SaveTo + "git-for-windows/etc/profile.d/git-prompt.sh")
}
Write-Verbose "All good and done!"

58
scripts/pack.ps1 Normal file
View File

@ -0,0 +1,58 @@
<#
.Synopsis
Pack cmder
.DESCRIPTION
Use this script to pack cmder into release archives
You will need to make this script executable by setting your Powershell Execution Policy to Remote signed
Then unblock the script for execution with UnblockFile .\pack.ps1
.EXAMPLE
.\pack.ps1
Creates default archives for cmder
.EXAMPLE
.\build -verbose
Creates default archives for cmder with plenty of information
.NOTES
AUTHORS
Samuel Vasko, Jack Bennett, Martin Kemp
Part of the Cmder project.
.LINK
https://github.com/cmderdev/cmder - Project Home
#>
[CmdletBinding(SupportsShouldProcess=$true)]
Param(
# CmdletBinding will give us;
# -verbose switch to turn on logging and
# -whatif switch to not actually make changes
# Path to the vendor configuration source file
[string]$cmderRoot = "..",
# Vendor folder locaton
[string]$saveTo = "..\build"
)
. "$PSScriptRoot\utils.ps1"
$ErrorActionPreference = "Stop"
Ensure-Executable "7z"
$targets = @{
"cmder.zip" = $null;
"cmder.7z" = $null;
"cmder_mini.zip" = "-x!`"vendor\git-for-windows`"";
}
Delete-Existing "..\Version*"
Delete-Existing "..\build\*"
$version = Get-VersionStr
(New-Item -ItemType file "$cmderRoot\Version $version") | Out-Null
foreach ($t in $targets.GetEnumerator()) {
Create-Archive $cmderRoot "$saveTo\$($t.Name)" $t.Value
$hash = (Digest-Hash "$saveTo\$($t.Name)")
Add-Content -path "$saveTo\hashes.txt" -value ($t.Name + ' ' + $hash)
}

214
scripts/utils.ps1 Normal file
View File

@ -0,0 +1,214 @@
function Ensure-Exists($path) {
if (-not (Test-Path $path)) {
Write-Error "Missing required $path! Ensure it is installed"
exit 1
}
return $true > $null
}
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") ){
set-alias -Name "7z" -Value "$env:programfiles\7-zip\7z.exe" -Scope script
}
ElseIf( ($command -eq "7z") -and (Test-Path "$env:programw6432\7-zip\7z.exe") ) {
set-alias -Name "7z" -Value "$env:programw6432\7-zip\7z.exe" -Scope script
}
Else {
Write-Error "Missing $command! Ensure it is installed and on in the PATH"
exit 1
}
}
}
function Delete-Existing($path) {
Write-Verbose "Remove $path"
Remove-Item -Recurse -force $path -ErrorAction SilentlyContinue
}
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) {
$command = "7z a -x@`"$source\packignore`" $params $target $source > `$null"
Write-Verbose "Running: $command"
Invoke-Expression $command
if ($lastexitcode -ne 0) {
Write-Error "Compressing $source failied"
}
}
# If directory contains only one child directory
# Flatten it instead
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-Hash($path) {
if(Get-Command Get-FileHash -ErrorAction SilentlyContinue){
return (Get-FileHash -Algorithm SHA256 -Path $path).Hash
}
return Invoke-Expression "md5sum $path"
}
function Get-VersionStr() {
# Clear existing variable
if ($string) { Clear-Variable -name string }
# Determine if git is available
if (Get-Command "git.exe" -ErrorAction SilentlyContinue)
{
# Determine if the current diesctory is a git repository
$GitPresent = Invoke-Expression "git rev-parse --is-inside-work-tree" -erroraction SilentlyContinue
if ( $GitPresent -eq 'true' )
{
$string = Invoke-Expression "git describe --abbrev=0 --tags"
}
}
# Fallback used when Git is not available
if ( -not($string) )
{
$string = Parse-Changelog ($PSScriptRoot + '\..\' + 'CHANGELOG.md')
}
# Add build number, if AppVeyor is present
if ( $Env:APPVEYOR -eq 'True' )
{
$string = $string + '.' + $Env:APPVEYOR_BUILD_NUMBER
}
# Remove starting 'v' characters
$string = $string -replace '^v+','' # normalize version string
return $string
}
function Parse-Changelog($file) {
# Define the regular expression to match the version string from changelog
[regex]$regex = '^## \[(?<version>[\w\-\.]+)\]\([^\n()]+\)\s+\([^\n()]+\)$';
# Find the first match of the version string which means the latest version
$version = Select-String -Path $file -Pattern $regex | Select-Object -First 1 | % { $_.Matches.Groups[1].Value }
return $version
}
function Create-RC($string, $path) {
$version = $string + '.0.0.0.0' # padding for version string
if ( !(Test-Path "$path.sample") ) {
throw "Invalid path provided for resources file."
}
$resource = Get-Content -Path "$path.sample"
$pattern = @( "Cmder-Major-Version", "Cmder-Minor-Version", "Cmder-Revision-Version", "Cmder-Build-Version" )
$index = 0
# Replace all non-numeric characters to dots and split to array
$version = $version -replace '[^0-9]+','.' -split '\.'
foreach ($fragment in $version) {
if ( !$fragment ) { break }
elseif ($index -le $pattern.length) {
$resource = $resource.Replace( "{" + $pattern[$index++] + "}", $fragment )
}
}
# Add the version string
$resource = $resource.Replace( "{Cmder-Version-Str}", '"' + $string + '"' )
# Write the results
Set-Content -Path $path -Value $resource
}
function Register-Cmder() {
[CmdletBinding()]
Param
(
# Text for the context menu item.
$MenuText = "Cmder Here"
, # Defaults to the current cmder directory when run from cmder.
$PathToExe = (Join-Path $env:CMDER_ROOT "cmder.exe")
, # Commands the context menu will execute.
$Command = "%V"
, # Defaults to the icons folder in the cmder package.
$icon = (Split-Path $PathToExe | Join-Path -ChildPath 'icons/cmder.ico')
)
Begin
{
New-PSDrive -Name HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT > $null
}
Process
{
New-Item -Path "HKCR:\Directory\Shell\Cmder" -Force -Value $MenuText
New-ItemProperty -Path "HKCR:\Directory\Shell\Cmder" -Force -Name "Icon" -Value `"$icon`"
New-ItemProperty -Path "HKCR:\Directory\Shell\Cmder" -Force -Name "NoWorkingDirectory"
New-Item -Path "HKCR:\Directory\Shell\Cmder\Command" -Force -Value "`"$PathToExe`" `"$Command`" "
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
}
}
function Download-File {
param (
$Url,
$File
)
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
# I think this is the problem
$File = $File -Replace "/", "\"
Write-Verbose "Downloading from $Url to $File"
$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)
}

907
vendor/ConEmu.xml.default vendored Normal file
View File

@ -0,0 +1,907 @@
<?xml version="1.0" encoding="utf-8"?>
<key name="Software">
<key name="ConEmu">
<key name=".Vanilla" modified="2018-02-22 06:02:11" build="171109">
<value name="ColorTable00" type="dword" data="00222827"/>
<value name="ColorTable01" type="dword" data="009e5401"/>
<value name="ColorTable02" type="dword" data="0004aa74"/>
<value name="ColorTable03" type="dword" data="00a6831a"/>
<value name="ColorTable04" type="dword" data="003403a7"/>
<value name="ColorTable05" type="dword" data="009c5689"/>
<value name="ColorTable06" type="dword" data="0049b6b6"/>
<value name="ColorTable07" type="dword" data="00cacaca"/>
<value name="ColorTable08" type="dword" data="007c7c7c"/>
<value name="ColorTable09" type="dword" data="00f58303"/>
<value name="ColorTable10" type="dword" data="0006d08d"/>
<value name="ColorTable11" type="dword" data="00e5c258"/>
<value name="ColorTable12" type="dword" data="004b04f3"/>
<value name="ColorTable13" type="dword" data="00b87da8"/>
<value name="ColorTable14" type="dword" data="0081cccc"/>
<value name="ColorTable15" type="dword" data="00ffffff"/>
<value name="ColorTable16" type="dword" data="00222827"/>
<value name="ColorTable17" type="dword" data="009e5401"/>
<value name="ColorTable18" type="dword" data="0004aa74"/>
<value name="ColorTable19" type="dword" data="00a6831a"/>
<value name="ColorTable20" type="dword" data="003403a7"/>
<value name="ColorTable21" type="dword" data="009c5689"/>
<value name="ColorTable22" type="dword" data="0049b6b6"/>
<value name="ColorTable23" type="dword" data="00cacaca"/>
<value name="ColorTable24" type="dword" data="007c7c7c"/>
<value name="ColorTable25" type="dword" data="00f58303"/>
<value name="ColorTable26" type="dword" data="0006d08d"/>
<value name="ColorTable27" type="dword" data="00e5c258"/>
<value name="ColorTable28" type="dword" data="004b04f3"/>
<value name="ColorTable29" type="dword" data="00b87da8"/>
<value name="ColorTable30" type="dword" data="0081cccc"/>
<value name="ColorTable31" type="dword" data="00ffffff"/>
<value name="ExtendColors" type="hex" data="00"/>
<value name="ExtendColorIdx" type="hex" data="0e"/>
<value name="TextColorIdx" type="hex" data="10"/>
<value name="BackColorIdx" type="hex" data="10"/>
<value name="PopTextColorIdx" type="hex" data="10"/>
<value name="PopBackColorIdx" type="hex" data="10"/>
<value name="ExtendFonts" type="hex" data="00"/>
<value name="ExtendFontNormalIdx" type="hex" data="01"/>
<value name="ExtendFontBoldIdx" type="hex" data="0c"/>
<value name="ExtendFontItalicIdx" type="hex" data="0d"/>
<value name="CursorTypeActive" type="dword" data="000232c1"/>
<value name="CursorTypeInactive" type="dword" data="00823282"/>
<value name="ClipboardDetectLineEnd" type="hex" data="01"/>
<value name="ClipboardBashMargin" type="hex" data="00"/>
<value name="ClipboardTrimTrailing" type="hex" data="02"/>
<value name="ClipboardEOL" type="hex" data="00"/>
<value name="ClipboardArrowStart" type="hex" data="00"/>
<value name="ClipboardAllLines" type="hex" data="01"/>
<value name="ClipboardFirstLine" type="hex" data="01"/>
<value name="ClipboardClickPromptPosition" type="hex" data="00"/>
<value name="ClipboardDeleteLeftWord" type="hex" data="01"/>
<value name="TrueColorerSupport" type="hex" data="01"/>
<value name="FadeInactive" type="hex" data="01"/>
<value name="FadeInactiveLow" type="hex" data="00"/>
<value name="FadeInactiveHigh" type="hex" data="c8"/>
<value name="ComSpec.UncPaths" type="hex" data="01"/>
<value name="ConVisible" type="hex" data="00"/>
<value name="ConInMode" type="dword" data="ffffffff"/>
<value name="UseInjects" type="hex" data="01"/>
<value name="SetDefaultTerminal" type="hex" data="00"/>
<value name="SetDefaultTerminalStartup" type="hex" data="00"/>
<value name="DefaultTerminalNoInjects" type="hex" data="00"/>
<value name="DefaultTerminalConfirm" type="hex" data="01"/>
<value name="DefaultTerminalApps" type="string" data="explorer.exe"/>
<value name="ProcessAnsi" type="hex" data="01"/>
<value name="UseClink" type="hex" data="01"/>
<value name="StartType" type="hex" data="02"/>
<value name="CmdLine" type="string" data=""/>
<value name="StartTasksFile" type="string" data=""/>
<value name="StartTasksName" type="string" data="{cmd::Cmder}"/>
<value name="StartFarFolders" type="hex" data="00"/>
<value name="StartFarEditors" type="hex" data="00"/>
<value name="StoreTaskbarkTasks" type="hex" data="00"/>
<value name="StoreTaskbarCommands" type="hex" data="00"/>
<value name="CmdLineHistory" type="multi"></value>
<value name="SingleInstance" type="hex" data="00"/>
<value name="ShowHelpTooltips" type="hex" data="01"/>
<value name="Multi" type="hex" data="01"/>
<value name="Multi.ShowButtons" type="hex" data="01"/>
<value name="Multi.NumberInCaption" type="hex" data="00"/>
<value name="Multi.CloseConfirm" type="hex" data="00"/>
<value name="Multi.CloseEditViewConfirm" type="hex" data="00"/>
<value name="Multi.NewConfirm" type="hex" data="01"/>
<value name="Multi.UseArrows" type="hex" data="00"/>
<value name="Multi.UseNumbers" type="hex" data="01"/>
<value name="Multi.UseWinTab" type="hex" data="00"/>
<value name="Multi.AutoCreate" type="hex" data="00"/>
<value name="Multi.LeaveOnClose" type="hex" data="00"/>
<value name="Multi.HideOnClose" type="hex" data="00"/>
<value name="Multi.MinByEsc" type="hex" data="02"/>
<value name="MapShiftEscToEsc" type="hex" data="01"/>
<value name="Multi.Iterate" type="hex" data="01"/>
<value name="Multi.SplitWidth" type="hex" data="04"/>
<value name="Multi.SplitHeight" type="hex" data="04"/>
<value name="KeyboardHooks" type="hex" data="02"/>
<value name="FontName" type="string" data="Consolas"/>
<value name="FontName2" type="string" data="Lucida Console"/>
<value name="FontAutoSize" type="hex" data="00"/>
<value name="FontSize" type="ulong" data="16"/>
<value name="FontSizeX" type="ulong" data="0"/>
<value name="FontSizeX2" type="ulong" data="0"/>
<value name="FontSizeX3" type="ulong" data="0"/>
<value name="FontCharSet" type="hex" data="00"/>
<value name="Anti-aliasing" type="ulong" data="6"/>
<value name="FontBold" type="hex" data="00"/>
<value name="FontItalic" type="hex" data="00"/>
<value name="Monospace" type="hex" data="01"/>
<value name="BackGround Image show" type="hex" data="00"/>
<value name="BackGround Image" type="string" data="c:\back.bmp"/>
<value name="bgImageDarker" type="hex" data="ff"/>
<value name="bgImageColors" type="dword" data="ffffffff"/>
<value name="bgOperation" type="hex" data="00"/>
<value name="bgPluginAllowed" type="hex" data="01"/>
<value name="AlphaValue" type="hex" data="f8"/>
<value name="AlphaValueSeparate" type="hex" data="01"/>
<value name="AlphaValueInactive" type="hex" data="ee"/>
<value name="UserScreenTransparent" type="hex" data="00"/>
<value name="ColorKeyTransparent" type="hex" data="00"/>
<value name="ColorKeyValue" type="dword" data="00010101"/>
<value name="UseCurrentSizePos" type="hex" data="01"/>
<value name="WindowMode" type="dword" data="00000520"/>
<value name="ConWnd Width" type="dword" data="00000078"/>
<value name="ConWnd Height" type="dword" data="0000001e"/>
<value name="Cascaded" type="hex" data="01"/>
<value name="ConWnd X" type="long" data="500"/>
<value name="ConWnd Y" type="long" data="500"/>
<value name="16bit Height" type="ulong" data="0"/>
<value name="AutoSaveSizePos" type="hex" data="01"/>
<value name="IntegralSize" type="hex" data="00"/>
<value name="QuakeStyle" type="hex" data="00"/>
<value name="QuakeAnimation" type="ulong" data="300"/>
<value name="HideCaption" type="hex" data="00"/>
<value name="HideChildCaption" type="hex" data="01"/>
<value name="FocusInChildWindows" type="hex" data="01"/>
<value name="HideCaptionAlways" type="hex" data="00"/>
<value name="HideCaptionAlwaysFrame" type="hex" data="00"/>
<value name="HideCaptionAlwaysDelay" type="ulong" data="2000"/>
<value name="HideCaptionAlwaysDisappear" type="ulong" data="2000"/>
<value name="DownShowHiddenMessage" type="hex" data="00"/>
<value name="ConsoleFontName" type="string" data="Lucida Console"/>
<value name="ConsoleFontWidth" type="long" data="3"/>
<value name="ConsoleFontHeight" type="long" data="5"/>
<value name="DefaultBufferHeight" type="long" data="1000"/>
<value name="AutoBufferHeight" type="hex" data="01"/>
<value name="CmdOutputCP" type="dword" data="00000000"/>
<value name="ComSpec.Type" type="hex" data="00"/>
<value name="ComSpec.Bits" type="hex" data="00"/>
<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="01"/>
<value name="ComSpec.Path" type="string" data=""/>
<value name="ConsoleTextSelection" type="hex" data="01"/>
<value name="CTS.AutoCopy" type="hex" data="01"/>
<value name="CTS.EndOnTyping" type="hex" data="00"/>
<value name="CTS.EndOnKeyPress" type="hex" data="00"/>
<value name="CTS.Freeze" type="hex" data="00"/>
<value name="CTS.SelectBlock" type="hex" data="01"/>
<value name="CTS.SelectText" type="hex" data="01"/>
<value name="CTS.ActMode" type="hex" data="02"/>
<value name="CTS.RBtnAction" type="hex" data="03"/>
<value name="CTS.MBtnAction" type="hex" data="00"/>
<value name="CTS.ColorIndex" type="hex" data="e0"/>
<value name="ClipboardConfirmEnter" type="hex" data="01"/>
<value name="ClipboardConfirmLonger" type="ulong" data="200"/>
<value name="FarGotoEditorOpt" type="hex" data="01"/>
<value name="FarGotoEditorPath" type="string" data="far.exe /e%1:%2 &quot;%3&quot;"/>
<value name="FixFarBorders" type="hex" data="01"/>
<value name="FixFarBordersRanges" type="string" data="2013-25C4;"/>
<value name="ExtendUCharMap" type="hex" data="01"/>
<value name="EnhanceGraphics" type="hex" data="01"/>
<value name="EnhanceButtons" type="hex" data="00"/>
<value name="PartBrush75" type="hex" data="c8"/>
<value name="PartBrush50" type="hex" data="96"/>
<value name="PartBrush25" type="hex" data="5a"/>
<value name="PartBrushBlack" type="hex" data="20"/>
<value name="RightClick opens context menu" type="hex" data="02"/>
<value name="RightClickMacro2" type="string" data=""/>
<value name="SendAltTab" type="hex" data="00"/>
<value name="SendAltEsc" type="hex" data="00"/>
<value name="SendAltPrintScrn" type="hex" data="00"/>
<value name="SendPrintScrn" type="hex" data="00"/>
<value name="SendCtrlEsc" type="hex" data="00"/>
<value name="Min2Tray" type="hex" data="00"/>
<value name="AlwaysShowTrayIcon" type="hex" data="00"/>
<value name="SafeFarClose" type="hex" data="01"/>
<value name="SafeFarCloseMacro" type="string" data=""/>
<value name="FARuseASCIIsort" type="hex" data="00"/>
<value name="ShellNoZoneCheck" type="hex" data="00"/>
<value name="FixAltOnAltTab" type="hex" data="00"/>
<value name="DisableMouse" type="hex" data="01"/>
<value name="RSelectionFix" type="hex" data="01"/>
<value name="MouseSkipActivation" type="hex" data="01"/>
<value name="MouseSkipMoving" type="hex" data="01"/>
<value name="FarHourglass" type="hex" data="01"/>
<value name="FarHourglassDelay" type="ulong" data="500"/>
<value name="Dnd" type="hex" data="01"/>
<value name="DndDrop" type="hex" data="01"/>
<value name="DefCopy" type="hex" data="01"/>
<value name="DropUseMenu" type="hex" data="02"/>
<value name="DragOverlay" type="hex" data="01"/>
<value name="DragShowIcons" type="hex" data="01"/>
<value name="DebugSteps" type="hex" data="01"/>
<value name="DragPanel" type="hex" data="02"/>
<value name="DragPanelBothEdges" type="hex" data="00"/>
<value name="KeyBarRClick" type="hex" data="01"/>
<value name="StatusBar.Show" type="hex" data="00"/>
<value name="StatusBar.Flags" type="dword" data="00000002"/>
<value name="StatusFontFace" type="string" data="Tahoma"/>
<value name="StatusFontCharSet" type="ulong" data="0"/>
<value name="StatusFontHeight" type="long" data="14"/>
<value name="StatusBar.Color.Back" type="dword" data="00404040"/>
<value name="StatusBar.Color.Light" type="dword" data="00ffffff"/>
<value name="StatusBar.Color.Dark" type="dword" data="00a0a0a0"/>
<value name="StatusBar.Hide.VCon" type="hex" data="00"/>
<value name="StatusBar.Hide.CapsL" type="hex" data="00"/>
<value name="StatusBar.Hide.NumL" type="hex" data="00"/>
<value name="StatusBar.Hide.ScrL" type="hex" data="00"/>
<value name="StatusBar.Hide.Lang" type="hex" data="01"/>
<value name="StatusBar.Hide.WPos" type="hex" data="01"/>
<value name="StatusBar.Hide.WSize" type="hex" data="01"/>
<value name="StatusBar.Hide.WClient" type="hex" data="01"/>
<value name="StatusBar.Hide.WWork" type="hex" data="01"/>
<value name="StatusBar.Hide.Style" type="hex" data="01"/>
<value name="StatusBar.Hide.StyleEx" type="hex" data="01"/>
<value name="StatusBar.Hide.hFore" type="hex" data="01"/>
<value name="StatusBar.Hide.hFocus" type="hex" data="01"/>
<value name="StatusBar.Hide.ABuf" type="hex" data="00"/>
<value name="StatusBar.Hide.CPos" type="hex" data="00"/>
<value name="StatusBar.Hide.CSize" type="hex" data="00"/>
<value name="StatusBar.Hide.BSize" type="hex" data="00"/>
<value name="StatusBar.Hide.CurX" type="hex" data="00"/>
<value name="StatusBar.Hide.CurY" type="hex" data="00"/>
<value name="StatusBar.Hide.CurS" type="hex" data="00"/>
<value name="StatusBar.Hide.CurI" type="hex" data="01"/>
<value name="StatusBar.Hide.ConEmuPID" type="hex" data="01"/>
<value name="StatusBar.Hide.ConEmuHWND" type="hex" data="01"/>
<value name="StatusBar.Hide.ConEmuView" type="hex" data="01"/>
<value name="StatusBar.Hide.Srv" type="hex" data="00"/>
<value name="StatusBar.Hide.SrvHWND" type="hex" data="01"/>
<value name="StatusBar.Hide.Transparency" type="hex" data="00"/>
<value name="StatusBar.Hide.New" type="hex" data="00"/>
<value name="StatusBar.Hide.Sync" type="hex" data="00"/>
<value name="StatusBar.Hide.Proc" type="hex" data="00"/>
<value name="StatusBar.Hide.Title" type="hex" data="01"/>
<value name="StatusBar.Hide.Resize" type="hex" data="00"/>
<value name="Tabs" type="hex" data="01"/>
<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="00"/>
<value name="TabDblClick" type="ulong" data="1"/>
<value name="TabsOnTaskBar" type="hex" data="02"/>
<value name="TaskBarOverlay" type="hex" data="01"/>
<value name="TabCloseMacro" type="string" data=""/>
<value name="TabFontFace" type="string" data="Segoe UI"/>
<value name="TabFontCharSet" type="ulong" data="0"/>
<value name="TabFontHeight" type="long" data="16"/>
<value name="SaveAllEditors" type="string" data=""/>
<value name="ToolbarAddSpace" type="long" data="0"/>
<value name="TabConsole" type="string" data=" %n "/>
<value name="TabSkipWords" type="string" data="Administrator:|Администратор:"/>
<value name="TabPanels" type="string" data="&lt;%c&gt; %s"/>
<value name="TabEditor" type="string" data="&lt;%c.%i&gt;{%s}"/>
<value name="TabEditorModified" type="string" data="&lt;%c.%i&gt;[%s] *"/>
<value name="TabViewer" type="string" data="&lt;%c.%i&gt;[%s]"/>
<value name="TabLenMax" type="ulong" data="20"/>
<value name="AdminTitleSuffix" type="string" data=" (Admin)"/>
<value name="AdminShowShield" type="hex" data="01"/>
<value name="HideInactiveConsoleTabs" type="hex" data="00"/>
<value name="ShowFarWindows" type="hex" data="01"/>
<value name="TryToCenter" type="hex" data="01"/>
<value name="CenterConsolePad" type="ulong" data="8"/>
<value name="ShowScrollbar" type="hex" data="02"/>
<value name="ScrollBarAppearDelay" type="ulong" data="100"/>
<value name="ScrollBarDisappearDelay" type="ulong" data="1000"/>
<value name="IconID" type="ulong" data="1"/>
<value name="MainTimerElapse" type="ulong" data="10"/>
<value name="MainTimerInactiveElapse" type="ulong" data="1000"/>
<value name="AffinityMask" type="dword" data="00000000"/>
<value name="SkipFocusEvents" type="hex" data="00"/>
<value name="MonitorConsoleLang" type="hex" data="03"/>
<value name="DesktopMode" type="hex" data="00"/>
<value name="SnapToDesktopEdges" type="hex" data="00"/>
<value name="AlwaysOnTop" type="hex" data="00"/>
<value name="SleepInBackground" type="hex" data="01"/>
<value name="MinimizeOnLoseFocus" type="hex" data="00"/>
<value name="DisableFarFlashing" type="hex" data="00"/>
<value name="DisableAllFlashing" type="hex" data="00"/>
<value name="FindText" type="string" data=""/>
<value name="FindMatchCase" type="hex" data="00"/>
<value name="FindMatchWholeWords" type="hex" data="00"/>
<value name="FindTransparent" type="hex" data="01"/>
<value name="PanView.BackColor" type="dword" data="30ffffff"/>
<value name="PanView.PFrame" type="long" data="1"/>
<value name="PanView.PFrameColor" type="dword" data="28808080"/>
<value name="PanView.SFrame" type="long" data="1"/>
<value name="PanView.SFrameColor" type="dword" data="07c0c0c0"/>
<value name="PanView.Thumbs.ImgSize" type="long" data="96"/>
<value name="PanView.Thumbs.SpaceX1" type="long" data="1"/>
<value name="PanView.Thumbs.SpaceY1" type="long" data="1"/>
<value name="PanView.Thumbs.SpaceX2" type="long" data="5"/>
<value name="PanView.Thumbs.SpaceY2" type="long" data="20"/>
<value name="PanView.Thumbs.LabelSpacing" type="long" data="2"/>
<value name="PanView.Thumbs.LabelPadding" type="long" data="0"/>
<value name="PanView.Thumbs.FontName" type="string" data="Tahoma"/>
<value name="PanView.Thumbs.FontHeight" type="long" data="14"/>
<value name="PanView.Tiles.ImgSize" type="long" data="48"/>
<value name="PanView.Tiles.SpaceX1" type="long" data="4"/>
<value name="PanView.Tiles.SpaceY1" type="long" data="4"/>
<value name="PanView.Tiles.SpaceX2" type="long" data="172"/>
<value name="PanView.Tiles.SpaceY2" type="long" data="4"/>
<value name="PanView.Tiles.LabelSpacing" type="long" data="4"/>
<value name="PanView.Tiles.LabelPadding" type="long" data="1"/>
<value name="PanView.Tiles.FontName" type="string" data="Tahoma"/>
<value name="PanView.Tiles.FontHeight" type="long" data="14"/>
<value name="PanView.LoadPreviews" type="hex" data="03"/>
<value name="PanView.LoadFolders" type="hex" data="01"/>
<value name="PanView.LoadTimeout" type="ulong" data="15"/>
<value name="PanView.MaxZoom" type="ulong" data="600"/>
<value name="PanView.UsePicView2" type="hex" data="01"/>
<value name="PanView.RestoreOnStartup" type="hex" data="00"/>
<value name="Update.VerLocation" type="string" data=""/>
<value name="Update.CheckOnStartup" type="hex" data="01"/>
<value name="Update.CheckHourly" type="hex" data="00"/>
<value name="Update.ConfirmDownload" type="hex" data="01"/>
<value name="Update.UseBuilds" type="hex" data="01"/>
<value name="Update.UseProxy" type="hex" data="00"/>
<value name="Update.Proxy" type="string" data=""/>
<value name="Update.ProxyUser" type="string" data=""/>
<value name="Update.ProxyPassword" type="string" data=""/>
<value name="Update.ExeCmdLine" type="string" data=""/>
<value name="Update.ArcCmdLine" type="string" data=""/>
<value name="Update.DownloadPath" type="string" data="%TEMP%\ConEmu"/>
<value name="Update.LeavePackages" type="hex" data="00"/>
<value name="Update.PostUpdateCmd" type="string" data="echo Last successful update&gt;ConEmuUpdate.info &amp;&amp; date /t&gt;&gt;ConEmuUpdate.info &amp;&amp; time /t&gt;&gt;ConEmuUpdate.info"/>
<value name="Multi.Modifier" type="dword" data="00000011"/>
<value name="Multi.ArrowsModifier" type="dword" data="0000005b"/>
<value name="KeyMacroVersion" type="hex" data="02"/>
<value name="MinimizeRestore" type="dword" data="000011c0"/>
<value name="MinimizeRestore2" type="dword" data="00000000"/>
<value name="GlobalRestore" type="dword" data="00000000"/>
<value name="ForcedFullScreen" type="dword" data="12115b0d"/>
<value name="SwitchGuiFocus" type="dword" data="00000000"/>
<value name="SetFocusGui" type="dword" data="00000000"/>
<value name="SetFocusChild" type="dword" data="00000000"/>
<value name="ChildSystemMenu" type="dword" data="ffffffff"/>
<value name="Multi.NewConsole" type="dword" data="80808000"/>
<value name="Multi.NewConsoleShift" type="dword" data="00001154"/>
<value name="Multi.NewConsolePopup" type="dword" data="80808000"/>
<value name="Multi.NewWindow" type="dword" data="00000000"/>
<value name="Multi.NewSplitV" type="dword" data="00001000"/>
<value name="Multi.NewSplitH" type="dword" data="80808000"/>
<value name="Multi.NewAttach" type="dword" data="00005b00"/>
<value name="Multi.Next" type="dword" data="80808000"/>
<value name="Multi.NextShift" type="dword" data="80808000"/>
<value name="Multi.Recreate" type="dword" data="00005b00"/>
<value name="Multi.AltCon" type="dword" data="80808000"/>
<value name="Multi.Scroll" type="dword" data="00005b00"/>
<value name="Multi.Close" type="dword" data="00001157"/>
<value name="CloseTabKey" type="dword" data="00125b00"/>
<value name="CloseGroupKey" type="dword" data="00000000"/>
<value name="TerminateProcessKey" type="dword" data="80808000"/>
<value name="DuplicateRootKey" type="dword" data="00000000"/>
<value name="CloseConEmuKey" type="dword" data="00001273"/>
<value name="Multi.Rename" type="dword" data="80808000"/>
<value name="Multi.MoveLeft" type="dword" data="00125b25"/>
<value name="Multi.MoveRight" type="dword" data="00125b27"/>
<value name="Multi.CmdKey" type="dword" data="80808000"/>
<value name="CTS.VkBlockStart" type="dword" data="00000000"/>
<value name="CTS.VkTextStart" type="dword" data="00000000"/>
<value name="CTS.VkCopyAll" type="dword" data="00000000"/>
<value name="Multi.ShowTabsList" type="dword" data="00000000"/>
<value name="Multi.ShowTabsList2" type="dword" data="80808000"/>
<value name="ClipboardVkAllLines" type="dword" data="0000102d"/>
<value name="ClipboardVkFirstLine" type="dword" data="00001156"/>
<value name="DeleteWordToLeft" type="dword" data="00001108"/>
<value name="FindTextKey" type="dword" data="00005d46"/>
<value name="ScreenshotKey" type="dword" data="80808000"/>
<value name="ScreenshotFullKey" type="dword" data="80808000"/>
<value name="ShowStatusBarKey" type="dword" data="80808000"/>
<value name="ShowTabBarKey" type="dword" data="80808000"/>
<value name="ShowCaptionKey" type="dword" data="80808000"/>
<value name="AlwaysOnTopKey" type="dword" data="00000000"/>
<value name="Key.TabMenu" type="dword" data="80808000"/>
<value name="Key.TabMenu2" type="dword" data="80808000"/>
<value name="Key.TabPane1" type="dword" data="80808000"/>
<value name="Key.TabPane2" type="dword" data="80808000"/>
<value name="Key.Maximize" type="dword" data="80808000"/>
<value name="Key.FullScreen" type="dword" data="0000120d"/>
<value name="Key.SysMenu" type="dword" data="80808000"/>
<value name="Key.SysMenu2" type="dword" data="00001102"/>
<value name="Key.BufUp" type="dword" data="00001126"/>
<value name="Key.BufDn" type="dword" data="00001128"/>
<value name="Key.BufPgUp" type="dword" data="00001121"/>
<value name="Key.BufPgDn" type="dword" data="00001122"/>
<value name="Key.PicViewSlide" type="dword" data="80808000"/>
<value name="Key.PicViewSlower" type="dword" data="80808000"/>
<value name="Key.PicViewFaster" type="dword" data="80808000"/>
<value name="FontLargerKey" type="dword" data="80808000"/>
<value name="FontSmallerKey" type="dword" data="80808000"/>
<value name="PasteFileKey" type="dword" data="00101146"/>
<value name="PastePathKey" type="dword" data="00101144"/>
<value name="PasteCygwinKey" type="dword" data="00005d2d"/>
<value name="Key.JumpPrevMonitor" type="dword" data="80808000"/>
<value name="Key.JumpNextMonitor" type="dword" data="80808000"/>
<value name="Key.TileToLeft" type="dword" data="80808000"/>
<value name="Key.TileToRIght" type="dword" data="80808000"/>
<value name="KeyMacro01" type="dword" data="0012a031"/>
<value name="KeyMacro01.Text" type="string" data="Task(&quot;cmd&quot;)"/>
<value name="KeyMacro02" type="dword" data="0012a032"/>
<value name="KeyMacro02.Text" type="string" data="Task(&quot;PowerShell&quot;)"/>
<value name="KeyMacro03" type="dword" data="000011d0"/>
<value name="KeyMacro03.Text" type="string" data="FontSetSize(1,2)"/>
<value name="KeyMacro04" type="dword" data="000011d1"/>
<value name="KeyMacro04.Text" type="string" data="FontSetSize(1,-2)"/>
<value name="KeyMacro05" type="dword" data="0012a033"/>
<value name="KeyMacro05.Text" type="string" data="Task(&quot;PowerShell as Admin&quot;)"/>
<value name="KeyMacro06" type="dword" data="00000000"/>
<value name="KeyMacro06.Text" type="string" data=""/>
<value name="KeyMacro07" type="dword" data="00000000"/>
<value name="KeyMacro07.Text" type="string" data=""/>
<value name="KeyMacro08" type="dword" data="00000000"/>
<value name="KeyMacro08.Text" type="string" data=""/>
<value name="KeyMacro09" type="dword" data="00000000"/>
<value name="KeyMacro09.Text" type="string" data=""/>
<value name="KeyMacro10" type="dword" data="00000000"/>
<value name="KeyMacro10.Text" type="string" data=""/>
<value name="KeyMacro11" type="dword" data="00000000"/>
<value name="KeyMacro11.Text" type="string" data=""/>
<value name="KeyMacro12" type="dword" data="00000000"/>
<value name="KeyMacro12.Text" type="string" data=""/>
<value name="KeyMacro13" type="dword" data="00000000"/>
<value name="KeyMacro13.Text" type="string" data=""/>
<value name="KeyMacro14" type="dword" data="00000000"/>
<value name="KeyMacro14.Text" type="string" data=""/>
<value name="KeyMacro15" type="dword" data="00000000"/>
<value name="KeyMacro15.Text" type="string" data=""/>
<value name="KeyMacro16" type="dword" data="00000000"/>
<value name="KeyMacro16.Text" type="string" data=""/>
<value name="KeyMacro17" type="dword" data="00000000"/>
<value name="KeyMacro17.Text" type="string" data=""/>
<value name="KeyMacro18" type="dword" data="00000000"/>
<value name="KeyMacro18.Text" type="string" data=""/>
<value name="KeyMacro19" type="dword" data="00000000"/>
<value name="KeyMacro19.Text" type="string" data=""/>
<value name="KeyMacro20" type="dword" data="00000000"/>
<value name="KeyMacro20.Text" type="string" data=""/>
<value name="KeyMacro21" type="dword" data="00000000"/>
<value name="KeyMacro21.Text" type="string" data=""/>
<value name="KeyMacro22" type="dword" data="00000000"/>
<value name="KeyMacro22.Text" type="string" data=""/>
<value name="KeyMacro23" type="dword" data="00000000"/>
<value name="KeyMacro23.Text" type="string" data=""/>
<value name="KeyMacro24" type="dword" data="00000000"/>
<value name="KeyMacro24.Text" type="string" data=""/>
<value name="KeyMacro25" type="dword" data="00000000"/>
<value name="KeyMacro25.Text" type="string" data=""/>
<value name="KeyMacro26" type="dword" data="00000000"/>
<value name="KeyMacro26.Text" type="string" data=""/>
<value name="KeyMacro27" type="dword" data="00000000"/>
<value name="KeyMacro27.Text" type="string" data=""/>
<value name="KeyMacro28" type="dword" data="00000000"/>
<value name="KeyMacro28.Text" type="string" data=""/>
<value name="KeyMacro29" type="dword" data="00000000"/>
<value name="KeyMacro29.Text" type="string" data=""/>
<value name="KeyMacro30" type="dword" data="00000000"/>
<value name="KeyMacro30.Text" type="string" data=""/>
<value name="KeyMacro31" type="dword" data="00000000"/>
<value name="KeyMacro31.Text" type="string" data=""/>
<value name="KeyMacro32" type="dword" data="00000000"/>
<value name="KeyMacro32.Text" type="string" data=""/>
<value name="CTS.VkBlock" type="hex" data="a4"/>
<value name="CTS.VkText" type="hex" data="a0"/>
<value name="CTS.VkAct" type="hex" data="00"/>
<value name="CTS.VkPrompt" type="hex" data="00"/>
<value name="FarGotoEditorVk" type="hex" data="a2"/>
<value name="DndLKey" type="hex" data="00"/>
<value name="DndRKey" type="hex" data="a2"/>
<value name="WndDragKey" type="dword" data="00121101"/>
<key name="Tasks" modified="2018-02-22 06:02:12" build="171109">
<value name="Count" type="long" data="9"/>
<key name="Task1" modified="2018-02-22 06:02:12" build="171109">
<value name="Name" type="string" data="{cmd::Cmder as Admin}"/>
<value name="GuiArgs" type="string" data=" /icon &quot;%CMDER_ROOT%\icons\cmder.ico&quot;"/>
<value name="Cmd1" type="string" data="*cmd /k &quot;&quot;%ConEmuDir%\..\init.bat&quot; &quot;"/>
<value name="Active" type="long" data="0"/>
<value name="Count" type="long" data="1"/>
<value name="Hotkey" type="dword" data="00000000"/>
<value name="Flags" type="dword" data="00000000"/>
</key>
<key name="Task2" modified="2018-02-22 06:05:13" build="171109">
<value name="Name" type="string" data="{cmd::Cmder}"/>
<value name="GuiArgs" type="string" data=" /icon &quot;%CMDER_ROOT%\icons\cmder.ico&quot;"/>
<value name="Cmd1" type="string" data="cmd /k &quot;&quot;%ConEmuDir%\..\init.bat&quot; &quot;"/>
<value name="Active" type="long" data="0"/>
<value name="Count" type="long" data="1"/>
<value name="Hotkey" type="dword" data="00000000"/>
<value name="Flags" type="dword" data="00000000"/>
</key>
<key name="Task3" modified="2018-02-22 06:05:13" build="171109">
<value name="Name" type="string" data="{PowerShell::PowerShell as Admin}"/>
<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="*PowerShell -ExecutionPolicy Bypass -NoLogo -NoProfile -NoExit -Command &quot;Invoke-Expression 'Import-Module ''%ConEmuDir%\..\profile.ps1'''&quot;"/>
<value name="Active" type="long" data="0"/>
<value name="Count" type="long" data="1"/>
<value name="Flags" type="dword" data="00000000"/>
</key>
<key name="Task4" modified="2018-02-22 06:05:13" build="171109">
<value name="Name" type="string" data="{PowerShell::PowerShell}"/>
<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="PowerShell -ExecutionPolicy Bypass -NoLogo -NoProfile -NoExit -Command &quot;Invoke-Expression 'Import-Module ''%ConEmuDir%\..\profile.ps1'''&quot;"/>
<value name="Cmd2" type="string" data="&quot;%CMDER_ROOT%\vendor\git-for-windows\git-bash.exe&quot;"/>
<value name="Active" type="long" data="0"/>
<value name="Count" type="long" data="1"/>
<value name="Flags" type="dword" data="00000000"/>
</key>
<key name="Task5" modified="2018-02-22 06:05:13" build="171109">
<value name="Name" type="string" data="{bash::mintty as Admin}"/>
<value name="Flags" type="dword" data="00000000"/>
<value name="Hotkey" type="dword" data="00000000"/>
<value name="GuiArgs" type="string" data="/icon &quot;%ConEmuDir%\..\git-for-windows\usr\share\git\git-for-windows.ico&quot;"/>
<value name="Cmd1" type="string" data="*&quot;%ConEmuDir%\..\git-for-windows\usr\bin\mintty.exe&quot; /bin/bash -l"/>
<value name="Active" type="long" data="0"/>
<value name="Count" type="long" data="1"/>
</key>
<key name="Task6" modified="2018-02-22 06:05:13" build="171109">
<value name="Name" type="string" data="{bash::mintty}"/>
<value name="Flags" type="dword" data="00000000"/>
<value name="Hotkey" type="dword" data="00000000"/>
<value name="GuiArgs" type="string" data="/icon &quot;%ConEmuDir%\..\git-for-windows\usr\share\git\git-for-windows.ico&quot;"/>
<value name="Cmd1" type="string" data="&quot;%ConEmuDir%\..\git-for-windows\usr\bin\mintty.exe&quot; /bin/bash -l"/>
<value name="Active" type="long" data="0"/>
<value name="Count" type="long" data="1"/>
<value name="Cmd2" type="string" data="&quot;%CMDER_ROOT%vendor\git-for-windows\usr\bin\mintty.exe&quot; /bin/bash -l"/>
</key>
<key name="Task7" modified="2018-02-22 06:05:13" build="171109">
<value name="Name" type="string" data="{bash::bash as Admin}"/>
<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="Active" type="long" data="0"/>
<value name="Count" type="long" data="1"/>
<value name="Cmd1" type="string" data="*cmd /c &quot;&quot;%ConEmuDir%\..\git-for-windows\bin\bash&quot; --login -i&quot;"/>
</key>
<key name="Task8" modified="2018-02-22 06:05:13" build="171109">
<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;&quot;%ConEmuDir%\..\git-for-windows\bin\bash&quot; --login -i&quot;"/>
<value name="Active" type="long" data="0"/>
<value name="Count" type="long" data="1"/>
</key>
<key name="Task9" modified="2018-03-23 23:26:53" build="180318">
<value name="Name" type="string" data="{WSL::bash}"/>
<value name="Flags" type="dword" data="00000000"/>
<value name="Hotkey" type="dword" data="00000000"/>
<value name="GuiArgs" type="string" data='-icon "%USERPROFILE%\AppData\Local\lxss\bash.ico"'/>
<value name="Cmd1" type="string" data='set "PATH=%ConEmuBaseDirShort%\wsl;%PATH%" &amp; %ConEmuBaseDirShort%\conemu-cyg-64.exe --wsl -cur_console:pm:/mnt'/>
<value name="Active" type="long" data="0"/>
<value name="Count" type="long" data="1"/>
</key>
</key>
<key name="Apps" modified="2018-02-22 06:05:13" build="171109">
<value name="Count" type="long" data="0"/>
</key>
<key name="Colors" modified="2018-02-22 06:05:13" build="171109">
<key name="Palette1" modified="2018-02-22 06:05:13" build="171109">
<value name="Name" type="string" data="Monokai"/>
<value name="ExtendColors" type="hex" data="00"/>
<value name="ExtendColorIdx" type="hex" data="0e"/>
<value name="TextColorIdx" type="hex" data="10"/>
<value name="BackColorIdx" type="hex" data="10"/>
<value name="PopTextColorIdx" type="hex" data="10"/>
<value name="PopBackColorIdx" type="hex" data="10"/>
<value name="ColorTable00" type="dword" data="00222827"/>
<value name="ColorTable01" type="dword" data="009e5401"/>
<value name="ColorTable02" type="dword" data="0004aa74"/>
<value name="ColorTable03" type="dword" data="00a6831a"/>
<value name="ColorTable04" type="dword" data="003403a7"/>
<value name="ColorTable05" type="dword" data="009c5689"/>
<value name="ColorTable06" type="dword" data="0049b6b6"/>
<value name="ColorTable07" type="dword" data="00cacaca"/>
<value name="ColorTable08" type="dword" data="007c7c7c"/>
<value name="ColorTable09" type="dword" data="00f58303"/>
<value name="ColorTable10" type="dword" data="0006d08d"/>
<value name="ColorTable11" type="dword" data="00e5c258"/>
<value name="ColorTable12" type="dword" data="004b04f3"/>
<value name="ColorTable13" type="dword" data="00b87da8"/>
<value name="ColorTable14" type="dword" data="0081cccc"/>
<value name="ColorTable15" type="dword" data="00ffffff"/>
<value name="ColorTable16" type="dword" data="00000000"/>
<value name="ColorTable17" type="dword" data="00800000"/>
<value name="ColorTable18" type="dword" data="00008000"/>
<value name="ColorTable19" type="dword" data="00808000"/>
<value name="ColorTable20" type="dword" data="00000080"/>
<value name="ColorTable21" type="dword" data="00800080"/>
<value name="ColorTable22" type="dword" data="00008080"/>
<value name="ColorTable23" type="dword" data="00c0c0c0"/>
<value name="ColorTable24" type="dword" data="00808080"/>
<value name="ColorTable25" type="dword" data="00ff0000"/>
<value name="ColorTable26" type="dword" data="0000ff00"/>
<value name="ColorTable27" type="dword" data="00ffff00"/>
<value name="ColorTable28" type="dword" data="000000ff"/>
<value name="ColorTable29" type="dword" data="00ff00ff"/>
<value name="ColorTable30" type="dword" data="0000ffff"/>
<value name="ColorTable31" type="dword" data="00ffffff"/>
</key>
<value name="Count" type="long" data="1"/>
</key>
<value name="OneTabPerGroup" type="hex" data="00"/>
<value name="ActivateSplitMouseOver" type="hex" data="01"/>
<value name="TabBtnDblClick" type="ulong" data="0"/>
<value name="ConsoleExceptionHandler" type="hex" data="00"/>
<value name="SaveCmdHistory" type="hex" data="00"/>
<value name="CTS.IBeam" type="hex" data="01"/>
<value name="Multi.SplitSizeVU" type="dword" data="00105d26"/>
<value name="Multi.SplitSizeVD" type="dword" data="00105d28"/>
<value name="Multi.SplitSizeHL" type="dword" data="00105d25"/>
<value name="Multi.SplitSizeHR" type="dword" data="00105d27"/>
<value name="Multi.SplitFocusU" type="dword" data="00005d26"/>
<value name="Multi.SplitFocusD" type="dword" data="00005d28"/>
<value name="Multi.SplitFocusL" type="dword" data="00005d25"/>
<value name="Multi.SplitFocusR" type="dword" data="00005d27"/>
<value name="CloseGroupPrcKey" type="dword" data="00000000"/>
<value name="SetDefaultTerminalStartupTSA" type="hex" data="01"/>
<value name="CTS.HtmlFormat" type="hex" data="00"/>
<value name="TabIcons" type="hex" data="01"/>
<value name="Multi.NewConsolePopup2" type="dword" data="00000000"/>
<value name="CloseAllConKey" type="dword" data="00000000"/>
<value name="CloseExceptConKey" type="dword" data="00000000"/>
<value name="CTS.VkCopyFmt0" type="dword" data="00001143"/>
<value name="CTS.VkCopyFmt1" type="dword" data="00101143"/>
<value name="CTS.VkCopyFmt2" type="dword" data="00000000"/>
<value name="ProcessNewConArg" type="hex" data="01"/>
<value name="HighlightMouseRow" type="hex" data="00"/>
<value name="HighlightMouseCol" type="hex" data="00"/>
<value name="HighlightMouseSwitch" type="dword" data="00005d4c"/>
<value name="TransparencyInc" type="dword" data="00000000"/>
<value name="TransparencyDec" type="dword" data="00000000"/>
<value name="Key.MaximizeWidth" type="dword" data="00000000"/>
<value name="Key.MaximizeHeight" type="dword" data="00000000"/>
<value name="DefaultTerminalAgressive" type="hex" data="01"/>
<value name="DefaultTerminalNewWindow" type="hex" data="00"/>
<value name="AnsiLog" type="hex" data="00"/>
<value name="AnsiLogPath" type="string" data="%ConEmuDir%\Logs\"/>
<value name="Multi.DupConfirm" type="hex" data="01"/>
<value name="Multi.DetachConfirm" type="hex" data="01"/>
<value name="CTS.Intelligent" type="hex" data="01"/>
<value name="CTS.IntelligentExceptions" type="string" data="far|vim.exe"/>
<value name="StatusBar.Hide.Time" type="hex" data="01"/>
<value name="TaskbarProgress" type="hex" data="01"/>
<value name="RetardInactivePanes" type="hex" data="00"/>
<value name="ProcessCmdStart" type="hex" data="01"/>
<value name="Multi.ShowSearch" type="hex" data="01"/>
<value name="Multi.CloseConfirmFlags" type="hex" data="04"/>
<value name="FontUseDpi" type="hex" data="01"/>
<value name="FontUseUnits" type="hex" data="00"/>
<value name="UseScrollLock" type="hex" data="01"/>
<value name="CTS.ForceLocale" type="dword" data="00000000"/>
<value name="StatusBar.Hide.VisL" type="hex" data="01"/>
<value name="StatusBar.Hide.KeyHooks" type="hex" data="01"/>
<value name="StatusBar.Hide.WVBack" type="hex" data="01"/>
<value name="StatusBar.Hide.WVDC" type="hex" data="01"/>
<value name="StatusBar.Hide.Zoom" type="hex" data="01"/>
<value name="StatusBar.Hide.Dpi" type="hex" data="01"/>
<value name="TabFlashChanged" type="long" data="8"/>
<value name="TabModifiedSuffix" type="string" data="[*]"/>
<key name="HotKeys" modified="2018-02-22 06:02:12" build="171109">
<value name="KeyMacroVersion" type="hex" data="02"/>
<value name="Multi.Modifier" type="dword" data="00000011"/>
<value name="Multi.ArrowsModifier" type="dword" data="0000005b"/>
<value name="MinimizeRestore" type="dword" data="000011c0"/>
<value name="MinimizeRestore2" type="dword" data="00000000"/>
<value name="GlobalRestore" type="dword" data="00000000"/>
<value name="CdExplorerPath" type="dword" data="00000000"/>
<value name="ForcedFullScreen" type="dword" data="12115b0d"/>
<value name="SwitchGuiFocus" type="dword" data="00000000"/>
<value name="SetFocusGui" type="dword" data="00000000"/>
<value name="SetFocusChild" type="dword" data="00000000"/>
<value name="ChildSystemMenu" type="dword" data="000011ff"/>
<value name="Multi.NewConsole" type="dword" data="00000000"/>
<value name="Multi.NewConsoleShift" type="dword" data="00001154"/>
<value name="Multi.CmdKey" type="dword" data="00000000"/>
<value name="Multi.NewWindow" type="dword" data="00000000"/>
<value name="Multi.NewConsolePopup" type="dword" data="00000000"/>
<value name="Multi.NewConsolePopup2" type="dword" data="00000000"/>
<value name="Multi.NewAttach" type="dword" data="00000000"/>
<value name="Multi.NewSplitV" type="dword" data="00000000"/>
<value name="Multi.NewSplitH" type="dword" data="00000000"/>
<value name="Multi.SplitMaximize" type="dword" data="00005d0d"/>
<value name="Multi.SplitSizeVU" type="dword" data="00105d26"/>
<value name="Multi.SplitSizeVD" type="dword" data="00105d28"/>
<value name="Multi.SplitSizeHL" type="dword" data="00105d25"/>
<value name="Multi.SplitSizeHR" type="dword" data="00105d27"/>
<value name="Key.TabPane1" type="dword" data="00000000"/>
<value name="Key.TabPane2" type="dword" data="00000000"/>
<value name="Multi.SplitFocusU" type="dword" data="00005d26"/>
<value name="Multi.SplitFocusD" type="dword" data="00005d28"/>
<value name="Multi.SplitFocusL" type="dword" data="00005d25"/>
<value name="Multi.SplitFocusR" type="dword" data="00005d27"/>
<value name="Multi.Next" type="dword" data="00000000"/>
<value name="Multi.NextShift" type="dword" data="00000000"/>
<value name="Multi.Recreate" type="dword" data="00000000"/>
<value name="Multi.AltCon" type="dword" data="00000000"/>
<value name="Multi.Pause" type="dword" data="80808013"/>
<value name="Multi.Scroll" type="dword" data="00000000"/>
<value name="Multi.GroupInput" type="dword" data="00005d47"/>
<value name="Multi.Detach" type="dword" data="00000000"/>
<value name="Multi.Close" type="dword" data="00001157"/>
<value name="CloseTabKey" type="dword" data="00000000"/>
<value name="CloseGroupKey" type="dword" data="00000000"/>
<value name="CloseGroupPrcKey" type="dword" data="00000000"/>
<value name="CloseAllConKey" type="dword" data="00000000"/>
<value name="CloseZombiesKey" type="dword" data="00000000"/>
<value name="CloseExceptConKey" type="dword" data="00000000"/>
<value name="KillProcessKey" type="dword" data="00000000"/>
<value name="KillAllButShellKey" type="dword" data="00105b2e"/>
<value name="DuplicateRootKey" type="dword" data="00000000"/>
<value name="CloseConEmuKey" type="dword" data="00001273"/>
<value name="Multi.Rename" type="dword" data="00000000"/>
<value name="AffinityPriorityKey" type="dword" data="00005d41"/>
<value name="Multi.MoveLeft" type="dword" data="00125b25"/>
<value name="Multi.MoveRight" type="dword" data="00125b27"/>
<value name="CTS.VkBlockStart" type="dword" data="00000000"/>
<value name="CTS.VkTextStart" type="dword" data="00000000"/>
<value name="CTS.VkCopyFmt0" type="dword" data="00001143"/>
<value name="CTS.VkCopyFmt1" type="dword" data="00101143"/>
<value name="CTS.VkCopyFmt2" type="dword" data="00000000"/>
<value name="CTS.VkCopyAll" type="dword" data="00000000"/>
<value name="HighlightMouseSwitch" type="dword" data="00005d4c"/>
<value name="HighlightMouseSwitchX" type="dword" data="00005d58"/>
<value name="Multi.ShowTabsList" type="dword" data="00000000"/>
<value name="Multi.ShowTabsList2" type="dword" data="00000000"/>
<value name="ClipboardVkAllLines" type="dword" data="0000102d"/>
<value name="ClipboardVkFirstLine" type="dword" data="00001156"/>
<value name="DeleteWordToLeft" type="dword" data="00001108"/>
<value name="FindTextKey" type="dword" data="00005d46"/>
<value name="ScreenshotKey" type="dword" data="00000000"/>
<value name="ScreenshotFullKey" type="dword" data="00000000"/>
<value name="ShowStatusBarKey" type="dword" data="00000000"/>
<value name="ShowTabBarKey" type="dword" data="00000000"/>
<value name="ShowCaptionKey" type="dword" data="00000000"/>
<value name="AlwaysOnTopKey" type="dword" data="00000000"/>
<value name="TransparencyInc" type="dword" data="00000000"/>
<value name="TransparencyDec" type="dword" data="00000000"/>
<value name="Key.TabMenu" type="dword" data="00000000"/>
<value name="Key.TabMenu2" type="dword" data="00000000"/>
<value name="Key.Maximize" type="dword" data="00000000"/>
<value name="Key.MaximizeWidth" type="dword" data="00000000"/>
<value name="Key.MaximizeHeight" type="dword" data="00000000"/>
<value name="Key.TileToLeft" type="dword" data="00000000"/>
<value name="Key.TileToRight" type="dword" data="00000000"/>
<value name="Key.JumpPrevMonitor" type="dword" data="00000000"/>
<value name="Key.JumpNextMonitor" type="dword" data="00000000"/>
<value name="Key.FullScreen" type="dword" data="0000120d"/>
<value name="Key.SysMenu" type="dword" data="00000000"/>
<value name="Key.SysMenu2" type="dword" data="00001102"/>
<value name="Key.BufUp" type="dword" data="00001126"/>
<value name="Key.BufDn" type="dword" data="00001128"/>
<value name="Key.BufPgUp" type="dword" data="00001121"/>
<value name="Key.BufPgDn" type="dword" data="00001122"/>
<value name="Key.BufHfPgUp" type="dword" data="00005d21"/>
<value name="Key.BufHfPgDn" type="dword" data="00005d22"/>
<value name="Key.BufTop" type="dword" data="00005d24"/>
<value name="Key.BufBottom" type="dword" data="00005d23"/>
<value name="Key.BufCursor" type="dword" data="00005d08"/>
<value name="FontLargerKey" type="dword" data="00000000"/>
<value name="FontSmallerKey" type="dword" data="00000000"/>
<value name="FontOriginalKey" type="dword" data="00001104"/>
<value name="PasteFileKey" type="dword" data="00101146"/>
<value name="PastePathKey" type="dword" data="00101144"/>
<value name="PasteCygwinKey" type="dword" data="00005d2d"/>
<value name="KeyMacro01" type="dword" data="00a01231"/>
<value name="KeyMacro01.Text" type="string" data="Task(1)"/>
<value name="KeyMacro02" type="dword" data="00a01232"/>
<value name="KeyMacro02.Text" type="string" data="Task(2)"/>
<value name="KeyMacro03" type="dword" data="000011d0"/>
<value name="KeyMacro03.Text" type="string" data="FontSetSize(1,2)"/>
<value name="KeyMacro04" type="dword" data="000011d1"/>
<value name="KeyMacro04.Text" type="string" data="FontSetSize(1,-2)"/>
<value name="KeyMacro05" type="dword" data="00a01233"/>
<value name="KeyMacro05.Text" type="string" data="Task(3)"/>
<value name="KeyMacro06" type="dword" data="00a01234"/>
<value name="KeyMacro06.Text" type="string" data="Task(4)"/>
<value name="KeyMacro07" type="dword" data="00a01235"/>
<value name="KeyMacro07.Text" type="string" data="Task(5)"/>
<value name="KeyMacro08" type="dword" data="00a01236"/>
<value name="KeyMacro08.Text" type="string" data="Task(6)"/>
<value name="KeyMacro09" type="dword" data="00a01237"/>
<value name="KeyMacro09.Text" type="string" data="Task(7)"/>
<value name="KeyMacro10" type="dword" data="00a01238"/>
<value name="KeyMacro10.Text" type="string" data="Task(8)"/>
<value name="KeyMacro11" type="dword" data="00a01239"/>
<value name="KeyMacro11.Text" type="string" data="Task(9)"/>
<value name="KeyMacro12" type="dword" data="00000000"/>
<value name="KeyMacro12.Text" type="string" data=""/>
<value name="KeyMacro13" type="dword" data="00000000"/>
<value name="KeyMacro13.Text" type="string" data=""/>
<value name="KeyMacro14" type="dword" data="00000000"/>
<value name="KeyMacro14.Text" type="string" data=""/>
<value name="KeyMacro15" type="dword" data="00000000"/>
<value name="KeyMacro15.Text" type="string" data=""/>
<value name="KeyMacro16" type="dword" data="00000000"/>
<value name="KeyMacro16.Text" type="string" data=""/>
<value name="KeyMacro17" type="dword" data="00000000"/>
<value name="KeyMacro17.Text" type="string" data=""/>
<value name="KeyMacro18" type="dword" data="00000000"/>
<value name="KeyMacro18.Text" type="string" data=""/>
<value name="KeyMacro19" type="dword" data="00000000"/>
<value name="KeyMacro19.Text" type="string" data=""/>
<value name="KeyMacro20" type="dword" data="00000000"/>
<value name="KeyMacro20.Text" type="string" data=""/>
<value name="KeyMacro21" type="dword" data="00000000"/>
<value name="KeyMacro21.Text" type="string" data=""/>
<value name="KeyMacro22" type="dword" data="00000000"/>
<value name="KeyMacro22.Text" type="string" data=""/>
<value name="KeyMacro23" type="dword" data="00000000"/>
<value name="KeyMacro23.Text" type="string" data=""/>
<value name="KeyMacro24" type="dword" data="00000000"/>
<value name="KeyMacro24.Text" type="string" data=""/>
<value name="KeyMacro25" type="dword" data="00000000"/>
<value name="KeyMacro25.Text" type="string" data=""/>
<value name="KeyMacro26" type="dword" data="00000000"/>
<value name="KeyMacro26.Text" type="string" data=""/>
<value name="KeyMacro27" type="dword" data="00000000"/>
<value name="KeyMacro27.Text" type="string" data=""/>
<value name="KeyMacro28" type="dword" data="00000000"/>
<value name="KeyMacro28.Text" type="string" data=""/>
<value name="KeyMacro29" type="dword" data="00000000"/>
<value name="KeyMacro29.Text" type="string" data=""/>
<value name="KeyMacro30" type="dword" data="00000000"/>
<value name="KeyMacro30.Text" type="string" data=""/>
<value name="KeyMacro31" type="dword" data="00000000"/>
<value name="KeyMacro31.Text" type="string" data=""/>
<value name="KeyMacro32" type="dword" data="00000000"/>
<value name="KeyMacro32.Text" type="string" data=""/>
<value name="CTS.VkBlock" type="hex" data="a4"/>
<value name="CTS.VkText" type="hex" data="a0"/>
<value name="CTS.VkAct" type="hex" data="00"/>
<value name="CTS.VkPrompt" type="hex" data="00"/>
<value name="FarGotoEditorVk" type="hex" data="a2"/>
<value name="DndLKey" type="hex" data="00"/>
<value name="DndRKey" type="hex" data="a2"/>
<value name="WndDragKey" type="dword" data="00121101"/>
<value name="Multi.Unfasten" type="dword" data="00000000"/>
<value name="Key.DebugProcess" type="dword" data="00105b44"/>
<value name="Key.DumpProcess" type="dword" data="00000000"/>
<value name="Key.DumpTree" type="dword" data="00000000"/>
<value name="Multi.SplitSwap" type="dword" data="00125d58"/>
<value name="Multi.SplitSwapU" type="dword" data="00125d26"/>
<value name="Multi.SplitSwapD" type="dword" data="00125d28"/>
<value name="Multi.SplitSwapL" type="dword" data="00125d25"/>
<value name="Multi.SplitSwapR" type="dword" data="00125d27"/>
<value name="Multi.GroupInputAll" type="dword" data="00105d47"/>
<value name="Multi.GroupInputKey" type="dword" data="00125d47"/>
<value name="Key.AltNumpad" type="dword" data="00000000"/>
<value name="Key.JumpActiveMonitor" type="dword" data="00000000"/>
<value name="Key.BufPrUp" type="dword" data="00121121"/>
<value name="Key.BufPrDn" type="dword" data="00121122"/>
<value name="Key.ResetTerm" type="dword" data="00000000"/>
</key>
<value name="StartCreateDelay" type="ulong" data="100"/>
<value name="DefaultTerminalDebugLog" type="hex" data="00"/>
<value name="LastMonitor" type="string" data="0,0,1440,1050"/>
<value name="Restore2ActiveMon" type="hex" data="00"/>
<value name="DownShowExOnTopMessage" type="hex" data="00"/>
<value name="EnvironmentSet" type="multi">
<line data="set PATH=%ConEmuBaseDir%\Scripts;%PATH%"/>
</value>
<value name="Update.InetTool" type="hex" data="00"/>
<value name="Update.InetToolCmd" type="string" data=""/>
<value name="SuppressBells" type="hex" data="01"/>
<value name="ClipboardAllLinesPosix" type="hex" data="00"/>
<value name="ClipboardFirstLinePosix" type="hex" data="00"/>
<value name="VividColors" type="hex" data="01"/>
<value name="AnsiExecution" type="hex" data="01"/>
<value name="AnsiAllowedCommands" type="multi">
<line data="cmd -cur_console:R /cGitShowBranch.cmd"/>
</value>
<value name="KillSshAgent" type="hex" data="01"/>
<value name="ProcessCtrlZ" type="hex" data="00"/>
<value name="JumpListAutoUpdate" type="hex" data="01"/>
<value name="CompressLongStrings" type="hex" data="01"/>
<value name="DynamicBufferHeight" type="hex" data="01"/>
<value name="CTS.ResetOnRelease" type="hex" data="00"/>
<value name="CTS.EraseBeforeReset" type="hex" data="01"/>
<value name="Anti-aliasing2" type="hex" data="00"/>
<value name="UseAltGrayPlus" type="hex" data="01"/>
<value name="MouseDragWindow" type="hex" data="01"/>
<value name="DebugLog" type="hex" data="00"/>
<value name="StatusBar.Hide.TMode" type="hex" data="01"/>
<value name="StatusBar.Hide.RMode" type="hex" data="01"/>
<value name="StatusBar.Hide.CellI" type="hex" data="01"/>
</key>
</key>
</key>

2
vendor/Readme.md vendored
View File

@ -1,3 +1,3 @@
## Vendor
Softwere from third parties + init sctipt
Third parties software & init script.

131
vendor/bin/alias.cmd vendored Normal file
View File

@ -0,0 +1,131 @@
@echo off
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
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,* usebackq" %%G in (`echo "%_x%"`) do (
set alias_name=%%G
set alias_value=%%H
)
:: 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
exit /b
)
:: replace already defined alias
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
exit /b
:p_del
set del_alias=%~1
findstr /b /v /i "%del_alias%=" "%ALIASES%" >> "%ALIASES%.tmp"
type "%ALIASES%".tmp > "%ALIASES%" & @del /f /q "%ALIASES%.tmp"
doskey %del_alias%=
doskey /macrofile="%ALIASES%"
goto:eof
:p_reload
doskey /macrofile="%ALIASES%"
echo Aliases reloaded
exit /b
:p_show
doskey /macros|findstr /v /r "^;=" | sort
exit /b
:p_help
echo.Usage:
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. 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

135
vendor/bin/cexec.cmd vendored Normal file
View File

@ -0,0 +1,135 @@
@echo off
setlocal
if "%~1" equ "" goto :wrongSyntax
if not defined CMDER_USER_FLAGS (
:: in case nothing was passed to %CMDER_USER_FLAGS%
set "CMDER_USER_FLAGS= "
)
set "feNot=false"
goto :parseArgument
:doShift
shift
:parseArgument
set "currenArgu=%~1"
if /i "%currenArgu%" equ "/setPath" (
:: set %flag_exists% shortcut
endlocal
set "ccall=call %~dp0cexec.cmd"
set "cexec=%~dp0cexec.cmd"
) else if /i "%currenArgu%" == "/?" (
goto :help
) else if /i "%currenArgu%" equ "/help" (
goto :help
) else if /i "%currenArgu%" equ "/h" (
goto :help
) else if /i "%currenArgu%" equ "NOT" (
set "feNot=true"
goto :doShift
) else (
if "%~1" equ "" goto :wrongSyntax
if "%~2" equ "" goto :wrongSyntax
set "feFlagName=%~1"
set "feCommand=%~2"
if not "%~3" equ "" (
set "feParam=%~3"
)
goto :detect
)
:detect
:: to avoid erroneous deteciton like "/do" "/doNOT", which both have a "/do"
:: we added a space after the flag name, like "/do ", which won't match "/doN"
set "feFlagName=%feFlagName% "
:: echo.
:: echo %CMDER_USER_FLAGS%
:: echo %feNOT%
:: echo %feFlagName%
:: echo %feCommand%
:: echo %feParam%
:: echo.
echo %CMDER_USER_FLAGS% | find /i "%feFlagName%">nul
if "%ERRORLEVEL%" == "0" (
if "%feNOT%" == "false" (
endlocal && call %feCommand% %feParam%
exit /b 0
)
) else (
if "%feNOT%" == "true" (
endlocal && call %feCommand% %feParam%
exit /b 0
)
)
endlocal
exit /b 1
:wrongSyntax
echo The syntax of the command is incorrect.
echo.
echo use /? for help
echo.
endlocal
exit /b
:help
echo.
echo CExec - Conditional Exec
echo.
echo Handles with custom arguments for cmder's init.bat.
echo written by xiazeyu, inspired DRSDavidSoft.
echo.
echo Usage:
echo.
echo cexec /setPath [NOT] flagName command/program [parameters]
echo.
echo /setPath Generate a global varibles %%ccall%% and %%cexec%% for
echo quicker use. Following arguments will be ignored.
echo.
echo NOT Specifies that cexec should carry out
echo the command only if the flag is missing.
echo.
echo /[flagName] Specifies which flag name is to detect. It's recommand
echo to use a pair of double quotation marks to wrap
echo your flag name to avoid exceed expectation.
echo.
echo command/program Specifies the command to carry out if the
echo argument name is detected. It's recommand to
echo use a pair of double quotation marks to
echo wrap your command to avoid exceed expectation.
echo.
echo parameters These are the parameters passed to the command/program.
echo It's recommand to use a pair of double quotation marks
echo to wrap your flag name to avoid exceed expectation.
echo.
echo Examples:
echo.
echo These examples are expected to be written in %cmder_root%/config/user-profile.cmd
echo CExec evaluates the environment varible "CMDER_USER_FLAGS" and conditionally
echo caries out actions based on flags that are passed.
echo.
echo Case 1:
echo.
echo The following command in `user_profile.cmd` would execute "notepad.exe" and continue running the `user_profile.cmd`
echo.
echo "%ccall%" "/startNotepad" "start" "notepad.exe"
echo.
echo If you pass parameter to init.bat like:
echo.
echo init.bat /startNotepad
echo.
echo Case 2:
echo.
echo The following command in `user_profile.cmd` would execute "notepad.exe" and stop running the `user_profile.cmd`
echo.
echo "%cexec%" NOT "/dontStartNotepad" "start" "notepad.exe"
echo.
echo UNLESS you pass parameter to init.bat like:
echo.
echo init.bat /dontStartNotepad
echo.
endlocal
exit /b

41
vendor/bin/cmder_diag.cmd vendored Normal file
View File

@ -0,0 +1,41 @@
@echo off
echo ------------------------------------
echo dir "%cmder_root%"
echo ------------------------------------
dir "%cmder_root%"
echo.
echo ------------------------------------
echo dir "%cmder_root%\vendor"
echo ------------------------------------
dir "%cmder_root%\vendor"
echo.
echo ------------------------------------
echo dir /s "%cmder_root%\bin"
echo ------------------------------------
dir /s "%cmder_root%\bin"
echo.
echo ------------------------------------
echo dir /s "%cmder_root%\config"
echo ------------------------------------
dir /s "%cmder_root%\config"
echo.
echo ------------------------------------
echo set
echo ------------------------------------
set
echo.
echo ------------------------------------
echo where git
echo ------------------------------------
where git
echo.
echo ------------------------------------
echo Make sure you sanitize this output of private data prior to posting it online for review by the CMDER Team!
echo ------------------------------------

39
vendor/bin/cmder_diag.ps1 vendored Normal file
View File

@ -0,0 +1,39 @@
write-host ------------------------------------
write-host get-childitem "$env:CMDER_ROOT"
write-host ------------------------------------
get-childitem "$env:CMDER_ROOT"
write-host ''
write-host ------------------------------------
write-host get-childitem "$env:CMDER_ROOT/vendor"
write-host ------------------------------------
get-childitem "$env:CMDER_ROOT/vendor"
write-host ''
write-host ------------------------------------
write-host get-childitem -s "$env:CMDER_ROOT/bin"
write-host ------------------------------------
get-childitem -s "$env:CMDER_ROOT/bin"
write-host ''
write-host ------------------------------------
write-host get-childitem -s "$env:CMDER_ROOT/config"
write-host ------------------------------------
get-childitem -s "$env:CMDER_ROOT/config"
write-host ''
write-host ------------------------------------
write-host get-childitem env:
write-host ------------------------------------
get-childitem env: |ft -autosize -wrap
write-host ''
write-host ------------------------------------
write-host get-command git
write-host ------------------------------------
get-command git
write-host ''
write-host ------------------------------------
write-host Make sure you sanitize this output of private data prior to posting it online for review by the CMDER Team!
write-host ------------------------------------

39
vendor/bin/cmder_diag.sh vendored Normal file
View File

@ -0,0 +1,39 @@
echo ------------------------------------
echo ls -la "$CMDER_ROOT"
echo ------------------------------------
ls -la "$CMDER_ROOT"
echo ''
echo ------------------------------------
echo ls -la "$CMDER_ROOT/vendor"
echo ------------------------------------
ls -la "$CMDER_ROOT/vendor"
echo ''
echo ------------------------------------
echo ls -la /s "$CMDER_ROOT/bin"
echo ------------------------------------
ls -laR /s "$CMDER_ROOT/bin"
echo ''
echo ------------------------------------
echo ls -la /s "$CMDER_ROOT/config"
echo ------------------------------------
ls -laR /s "$CMDER_ROOT/config"
echo ''
echo ------------------------------------
echo env
echo ------------------------------------
env
echo ''
echo ------------------------------------
echo which git
echo ------------------------------------
which git
echo ''
echo ------------------------------------
echo Make sure you sanitize this output of private data prior to posting it online for review by the CMDER Team!
echo ------------------------------------

22
vendor/bin/timer.cmd vendored Normal file
View File

@ -0,0 +1,22 @@
@echo off
set start=%~1
set end=%~2
set options="tokens=1-4 delims=:.,"
for /f %options% %%a in ("%start%") do set start_h=%%a&set /a start_m=100%%b %% 100&set /a start_s=100%%c %% 100&set /a start_ms=100%%d %% 100
for /f %options% %%a in ("%end%") do set end_h=%%a&set /a end_m=100%%b %% 100&set /a end_s=100%%c %% 100&set /a end_ms=100%%d %% 100
set /a hours=%end_h%-%start_h%
set /a mins=%end_m%-%start_m%
set /a secs=%end_s%-%start_s%
set /a ms=%end_ms%-%start_ms%
if %ms% lss 0 set /a secs = %secs% - 1 & set /a ms = 100%ms%
if %secs% lss 0 set /a mins = %mins% - 1 & set /a secs = 60%secs%
if %mins% lss 0 set /a hours = %hours% - 1 & set /a mins = 60%mins%
if %hours% lss 0 set /a hours = 24%hours%
if 1%ms% lss 100 set ms=0%ms%
:: Mission accomplished
set /a totalsecs = %hours%*3600 + %mins%*60 + %secs%
echo Elapsed Time: %hours%:%mins%:%secs%.%ms% (%totalsecs%.%ms%s total)

401
vendor/clink.lua vendored Normal file
View File

@ -0,0 +1,401 @@
-- default script for clink, called by init.bat when injecting clink
-- !!! THIS FILE IS OVERWRITTEN WHEN CMDER IS UPDATED
-- !!! Use "%CMDER_ROOT%\config\<whatever>.lua" to add your lua startup scripts
-- luacheck: globals clink
-- At first, load the original clink.lua file
-- this is needed as we set the script path to this dir and therefore the original
-- clink.lua is not loaded.
local clink_lua_file = clink.get_env('CMDER_ROOT')..'\\vendor\\clink\\clink.lua'
dofile(clink_lua_file)
-- now add our own things...
---
-- 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.
---
local 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;39;40m{lamb} \x1b[0m"
local lambda = "λ"
cwd = string.gsub(cwd, "%%", "{percent}")
cmder_prompt = string.gsub(cmder_prompt, "{cwd}", cwd)
if env ~= nil then
lambda = "("..env..") "..lambda
end
clink.prompt.value = string.gsub(cmder_prompt, "{lamb}", lambda)
end
local function percent_prompt_filter()
clink.prompt.value = string.gsub(clink.prompt.value, "{percent}", "%%")
end
---
-- Resolves closest directory location for specified directory.
-- Navigates subsequently up one level and tries to find specified directory
-- @param {string} path Path to directory will be checked. If not provided
-- current directory will be used
-- @param {string} dirname Directory name to search for
-- @return {string} Path to specified directory or nil if such dir not found
local function get_dir_contains(path, dirname)
-- return parent path for specified entry (either file or directory)
local function pathname(path)
local prefix = ""
local i = path:find("[\\/:][^\\/:]*$")
if i then
prefix = path:sub(1, i-1)
end
return prefix
end
-- Navigates up one level
local function up_one_level(path)
if path == nil then path = '.' end
if path == '.' then path = clink.get_cwd() end
return pathname(path)
end
-- Checks if provided directory contains git directory
local function has_specified_dir(path, specified_dir)
if path == nil then path = '.' end
local found_dirs = clink.find_dirs(path..'/'..specified_dir)
if #found_dirs > 0 then return true end
return false
end
-- Set default path to current directory
if path == nil then path = '.' end
-- If we're already have .git directory here, then return current path
if has_specified_dir(path, dirname) then
return path..'/'..dirname
else
-- Otherwise go up one level and make a recursive call
local parent_path = up_one_level(path)
if parent_path == path then
return nil
else
return get_dir_contains(parent_path, dirname)
end
end
end
-- adapted from from clink-completions' git.lua
local function get_git_dir(path)
-- return parent path for specified entry (either file or directory)
local function pathname(path)
local prefix = ""
local i = path:find("[\\/:][^\\/:]*$")
if i then
prefix = path:sub(1, i-1)
end
return prefix
end
-- Checks if provided directory contains git directory
local function has_git_dir(dir)
return clink.is_dir(dir..'/.git') and dir..'/.git'
end
local function has_git_file(dir)
local gitfile = io.open(dir..'/.git')
if not gitfile then return false end
local git_dir = gitfile:read():match('gitdir: (.*)')
gitfile:close()
return git_dir and dir..'/'..git_dir
end
-- Set default path to current directory
if not path or path == '.' then path = clink.get_cwd() end
-- Calculate parent path now otherwise we won't be
-- able to do that inside of logical operator
local parent_path = pathname(path)
return has_git_dir(path)
or has_git_file(path)
-- Otherwise go up one level and make a recursive call
or (parent_path ~= path and get_git_dir(parent_path) or nil)
end
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
---
-- Find out current branch
-- @return {nil|git branch name}
---
local function get_git_branch(git_dir)
git_dir = git_dir or get_git_dir()
-- If git directory not found then we're probably outside of repo
-- or something went wrong. The same is when head_file is nil
local head_file = git_dir and io.open(git_dir..'/HEAD')
if not head_file then return end
local HEAD = head_file:read()
head_file:close()
-- if HEAD matches branch expression, then we're on named branch
-- otherwise it is a detached commit
local branch_name = HEAD:match('ref: refs/heads/(.+)')
return branch_name or 'HEAD detached at '..HEAD:sub(1, 7)
end
---
-- Find out current branch
-- @return {false|mercurial branch name}
---
local function get_hg_branch()
for line in io.popen("hg branch 2>nul"):lines() do
local m = line:match("(.+)$")
if m then
return m
end
end
return false
end
---
-- Find out current branch
-- @return {false|svn branch name}
---
local 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
---
-- Get the status of working dir
-- @return {bool}
---
local function get_git_status()
local file = io.popen("git --no-optional-locks status --porcelain 2>nul")
for line in file:lines() do
file:close()
return false
end
file:close()
return true
end
---
-- Gets the conflict status
-- @return {bool} indicating true for conflict, false for no conflicts
---
function get_git_conflict()
local file = io.popen("git diff --name-only --diff-filter=U 2>nul")
for line in file:lines() do
file:close()
return true;
end
file:close()
return false
end
---
-- Get the status of working dir
-- @return {bool}
---
local function get_hg_status()
local file = io.popen("hg status -0")
for line in file:lines() do
file:close()
return false
end
file:close()
return true
end
---
-- Get the status of working dir
-- @return {bool}
---
local function get_svn_status()
local file = io.popen("svn status -q")
for line in file:lines() do
file:close()
return false
end
file:close()
return true
end
local function git_prompt_filter()
-- Colors for git status
local colors = {
clean = "\x1b[1;37;40m",
dirty = "\x1b[33;3m",
conflict = "\x1b[31;1m"
}
local git_dir = get_git_dir()
if git_dir then
-- if we're inside of git repo then try to detect current branch
local branch = get_git_branch(git_dir)
local color
if branch then
-- Has branch => therefore it is a git folder, now figure out status
local gitStatus = get_git_status()
local gitConflict = get_git_conflict()
color = colors.dirty
if gitStatus then
color = colors.clean
end
if gitConflict then
color = colors.conflict
end
clink.prompt.value = string.gsub(clink.prompt.value, "{git}", color.."("..branch..")")
return false
end
end
-- No git present or not in git file
clink.prompt.value = string.gsub(clink.prompt.value, "{git}", "")
return false
end
local function hg_prompt_filter()
local result = ""
local hg_dir = get_hg_dir()
if hg_dir then
-- Colors for mercurial status
local colors = {
clean = "\x1b[1;37;40m",
dirty = "\x1b[31;1m",
}
-- 'hg id' gives us BOTH the branch name AND an indicator that there
-- are uncommitted changes, in one fast(er) call
local pipe = io.popen("hg id 2>&1")
local output = pipe:read('*all')
local rc = { pipe:close() }
if output ~= nil and
string.sub(output,1,7) ~= "abort: " and -- not an HG working copy
string.sub(output,1,12) ~= "000000000000" and -- empty wc (needs update)
(not string.find(output, "is not recognized")) then -- 'hg' not in path
local color = colors.clean
-- split elements on space delimiter
local items = {}
for i in string.gmatch(output, "%S+") do
table.insert(items, i)
end
-- if the repo hash ends with '+', the wc has uncommitted changes
if string.sub(items[1], -1, -1) == "+" then color = colors.dirty end
-- substitute the branch in directly -- already WITH parentheses. :)
result = color .. items[2] -- string.sub(items[2], 1, string.len(items[2]) - 1)
end
end
clink.prompt.value = string.gsub(clink.prompt.value, "{hg}", result)
return false
end
local 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()
local color
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)
clink.prompt.register_filter(percent_prompt_filter, 51)
local completions_dir = clink.get_env('CMDER_ROOT')..'/vendor/clink-completions/'
for _,lua_module in ipairs(clink.find_files(completions_dir..'*.lua')) do
-- Skip files that starts with _. This could be useful if some files should be ignored
if not string.match(lua_module, '^_.*') then
local filename = completions_dir..lua_module
-- use dofile instead of require because require caches loaded modules
-- so config reloading using Alt-Q won't reload updated modules.
dofile(filename)
end
end
if clink.get_env('CMDER_USER_CONFIG') then
local cmder_config_dir = clink.get_env('CMDER_ROOT')..'/config/'
for _,lua_module in ipairs(clink.find_files(cmder_config_dir..'*.lua')) do
local filename = cmder_config_dir..lua_module
-- use dofile instead of require because require caches loaded modules
-- so config reloading using Alt-Q won't reload updated modules.
dofile(filename)
end
end

104
vendor/cmder.sh vendored Normal file
View File

@ -0,0 +1,104 @@
# DO NOT EDIT THIS FILE IT WILL BE OVERWRITTEN ON UPDATE
#
# Add portable user customizations ${CMDER_ROOT}/config/user_profile.sh,
# these customizations will follow Cmder if $CMDER_ROOT is copied
# to another machine.
#
# Add system specific users customizations to $HOME/.bashrc, these
# customizations will not follow Cmder to another machine.
function runProfiled {
unset profile_d_scripts
pushd "${1}" >/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 "${1}/${x}"...
. "${1}/${x}"
done
fi
popd >/dev/null
}
# We do this for bash as admin sessions since $CMDER_ROOT is not being set
if [ "$CMDER_ROOT" == "" ] ; then
case "$ConEmuDir" in *\\*) CMDER_ROOT=$( cd "$(cygpath -u "$ConEmuDir")/../.." ; pwd );; esac
else
case "$CMDER_ROOT" in *\\*) CMDER_ROOT="$(cygpath -u "$CMDER_ROOT")";; esac
fi
# Remove any trailing '/'
CMDER_ROOT=$(echo $CMDER_ROOT | sed 's:/*$::')
export CMDER_ROOT
if [ -d "/c/Program Files/Git" ] ; then
GIT_INSTALL_ROOT="/c/Program Files/Git"
elif [ -d "/c/Program Files(x86)/Git" ] ; then
GIT_INSTALL_ROOT="/c/Program Files(x86)/Git"
elif [ -d "${CMDER_ROOT}/vendor/git-for-windows" ] ; then
GIT_INSTALL_ROOT=${CMDER_ROOT}/vendor/git-for-windows
fi
if [[ ! "$PATH" =~ "${GIT_INSTALL_ROOT}/bin:" ]] ; then
PATH=${GIT_INSTALL_ROOT}/bin:$PATH
fi
PATH=${CMDER_ROOT}/bin:${CMDER_ROOT}/vendor/bin:$PATH:${CMDER_ROOT}
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"
fi
if [ -d "${CMDER_ROOT}/config/profile.d" ] ; then
runProfiled "${CMDER_ROOT}/config/profile.d"
fi
if [ -d "${CMDER_USER_CONFIG}/profile.d" ] ; then
runProfiled "${CMDER_USER_CONFIG}/profile.d"
fi
# Renaming to "config\user_profile.sh" to "user_profile.sh" for consistency.
if [ -f "$CMDER_ROOT/config/user-profile.sh" ] ; then
mv "$CMDER_ROOT/config/user-profile.sh" "$CMDER_ROOT/config/user_profile.sh"
fi
CmderUserProfilePath="${CMDER_ROOT}/config/user_profile.sh"
if [ -f "${CMDER_ROOT}/config/user_profile.sh" ] ; then
. "${CMDER_ROOT}/config/user_profile.sh"
fi
if [ "${CMDER_USER_CONFIG}" != "" ] ; then
# Renaming to "config\user_profile.sh" to "user_profile.sh" for consistency.
if [ -f "$CMDER_USER_CONFIG/user-profile.sh" ] ; then
mv "$CMDER_USER_CONFIG/user-profile.sh" "$CMDER_USER_CONFIG/user_profile.sh"
fi
export PATH=${CMDER_USER_CONFIG}/bin:$PATH
CmderUserProfilePath="${CMDER_USER_CONFIG}/user_profile.sh"
if [ -f "${CMDER_USER_CONFIG}/user_profile.sh" ] ; then
. "${CMDER_USER_CONFIG}/user_profile.sh"
fi
fi
if [ ! -f "${CmderUserProfilePath}" ] ; then
echo Creating user startup file: "${CmderUserProfilePath}"
cat <<-eof >"${CmderUserProfilePath}"
# use this file to run your own startup commands for msys2 bash'
# To add a new vendor to the path, do something like:
# export PATH=\${CMDER_ROOT}/vendor/whatever:\${PATH}
eof
fi
# Source the users .bashrc file if it exists
if [ -f "${HOME}/.bashrc" ] ; then
. "${HOME}/.bashrc"
fi

118
vendor/cmder_exinit vendored Normal file
View File

@ -0,0 +1,118 @@
# Copy this file to your non integrated *nix-like environment,
# Cygwin/MSys2/Git for Windows SDK, installs '/etc/profile.d/'
# folder to integrate the externally installed Unix like environment
# into Cmder so it has access to settings stored in Cmder/config
# folder when launched.
#
# The destination file extension depends on the shell you use. For example:
#
# bash - Copy to /etc/profile.d/cmder_exinit.sh
# zsh - Copy to /etc/profile.d/cmder_exinit.zsh
# Add portable user customizations ${CMDER_ROOT}/config/user-profile.sh or
# add whole config scripts to ${CMDER_ROOT}/config/profile.d both will be sourced
# from mthis file and be appied to the environment at startup.
#
# These customizations will follow Cmder if $CMDER_ROOT is copied
# to another machine.
#
# Add system specific users customizations to $HOME/.bashrc, these
# customizations will not follow Cmder to another machine.
# # Uncomment and edit the CMDER_ROOT line to use Cmder/config even when launched
# # from outside Cmder.
# CMDER_ROOT=${USERPROFILE}/cmder # This is not required if launched from Cmder.
function runProfiled {
unset profile_d_scripts
pushd "${1}" >/dev/null
if [ ! "x${ZSH_VERSION}" = "x" ]; then
profile_d_scripts=$(ls *.zsh 2>/dev/null)
elif [ ! "x${BASH_VERSION}" = "x" ]; then
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 "${1}/${x}"...
. "${1}/${x}"
done
fi
popd >/dev/null
}
# Check that we haven't already been sourced.
[[ -z ${CMDER_EXINIT} ]] && CMDER_EXINIT="1" || return
# We do this for bash as admin sessions since $CMDER_ROOT is not being set
if [ "$CMDER_ROOT" = "" -a "$ConEmuDir" != "" ] ; then
if [ -d "${ConEmuDir}../../vendor" ] ; then
case "$ConEmuDir" in *\\*) CMDER_ROOT=$( cd "$(cygpath -u "$ConEmuDir")/../.." ; pwd );; esac
else
echo "Running in ConEmu without Cmder, skipping Cmder integration."
fi
elif [ "$CMDER_ROOT" != "" ] ; then
case "$CMDER_ROOT" in *\\*) CMDER_ROOT="$(cygpath -u "$CMDER_ROOT")";; esac
fi
if [ ! "$CMDER_ROOT" = "" ] ; then
# Remove any trailing '/'
CMDER_ROOT=$(echo $CMDER_ROOT | sed 's:/*$::')
echo "Using \"CMDER_ROOT\" at \"${CMDER_ROOT}\"."
export CMDER_ROOT
PATH=${CMDER_ROOT}/bin:${CMDER_ROOT}/vendor/bin:$PATH:${CMDER_ROOT}
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"
fi
if [ -d "${CMDER_ROOT}/config/profile.d" ] ; then
runProfiled "${CMDER_ROOT}/config/profile.d"
fi
if [ -d "${CMDER_USER_CONFIG}/profile.d" ] ; then
runProfiled "${CMDER_USER_CONFIG}/profile.d"
fi
# Renaming to "config\user_profile.sh" to "user_profile.sh" for consistency.
if [ -f "$CMDER_ROOT/config/user-profile.sh" ] ; then
mv "$CMDER_ROOT/config/user-profile.sh" "$CMDER_ROOT/config/user_profile.sh"
fi
CmderUserProfilePath="${CMDER_ROOT}/config/user_profile.sh"
if [ -f "${CMDER_ROOT}/config/user_profile.sh" ] ; then
. "${CMDER_ROOT}/config/user_profile.sh"
fi
if [ "${CMDER_USER_CONFIG}" != "" ] ; then
# Renaming to "config\user_profile.sh" to "user_profile.sh" for consistency.
if [ -f "$CMDER_USER_CONFIG/user-profile.sh" ] ; then
mv "$CMDER_USER_CONFIG/user-profile.sh" "$CMDER_USER_CONFIG/user_profile.sh"
fi
export PATH=${CMDER_USER_CONFIG}/bin:$PATH
CmderUserProfilePath="${CMDER_USER_CONFIG}/user_profile.sh"
if [ -f "${CMDER_USER_CONFIG}/user_profile.sh" ] ; then
. "${CMDER_USER_CONFIG}/user_profile.sh"
fi
fi
if [ ! -f "${CmderUserProfilePath}" ] ; then
echo Creating user startup file: "${CmderUserProfilePath}"
cat <<-eof >"${CmderUserProfilePath}"
# use this file to run your own startup commands for msys2 bash'
# To add a new vendor to the path, do something like:
# export PATH=\${CMDER_ROOT}/vendor/whatever:\${PATH}
eof
fi
fi

39
vendor/git-prompt.sh vendored Normal file
View File

@ -0,0 +1,39 @@
if test -f /etc/profile.d/git-sdk.sh
then
TITLEPREFIX=SDK-${MSYSTEM#MINGW}
else
TITLEPREFIX=$MSYSTEM
fi
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

423
vendor/init.bat vendored
View File

@ -1,45 +1,406 @@
@echo off
set cmder_init_start=%time%
:: Init Script for cmd.exe
:: Sets some nice defaults
:: Created as part of cmder project
:: !!! THIS FILE IS OVERWRITTEN WHEN CMDER IS UPDATED
:: !!! Use "%CMDER_ROOT%\config\user_profile.cmd" to add your own startup commands
:: Seting prompt style
@for /f "tokens=2 delims=:." %%x in ('chcp') do @set cp=%%x
:: The slow part
:: World without Unicode is a sad world
@chcp 65001>nul
:: It has to be lambda, I already made a logo
@prompt $E[1;32;40m$P $_$E[1;30;40mλ $E[0m
@chcp %cp%>nul
:: Use /v command line arg or set to > 0 for verbose output to aid in debugging.
set verbose_output=0
set debug_output=0
set time_init=0
set fast_init=0
set max_depth=1
set "CMDER_USER_FLAGS= "
:: Pick right version of clink
@if "%PROCESSOR_ARCHITECTURE%"=="x86" (
set architecture=86
) else (
set architecture=64
:: Find root dir
if not defined CMDER_ROOT (
if defined ConEmuDir (
for /f "delims=" %%i in ("%ConEmuDir%\..\..") do (
set "CMDER_ROOT=%%~fi"
)
) else (
for /f "delims=" %%i in ("%~dp0\..") do (
set "CMDER_ROOT=%%~fi"
)
)
)
:: Remove trailing '\' from %CMDER_ROOT%
if "%CMDER_ROOT:~-1%" == "\" SET "CMDER_ROOT=%CMDER_ROOT:~0,-1%"
:: Run clink
@vendor\clink\clink_x%architecture%.exe inject --quiet --profile config
call "%cmder_root%\vendor\bin\cexec.cmd" /setpath
call "%cmder_root%\vendor\lib\lib_base"
call "%cmder_root%\vendor\lib\lib_path"
call "%cmder_root%\vendor\lib\lib_console"
call "%cmder_root%\vendor\lib\lib_git"
call "%cmder_root%\vendor\lib\lib_profile"
:var_loop
if "%~1" == "" (
goto :start
) else if /i "%1" == "/f" (
set fast_init=1
) else if /i "%1" == "/t" (
set time_init=1
) else if /i "%1"=="/v" (
set verbose_output=1
) else if /i "%1"=="/d" (
set debug_output=1
) else if /i "%1" == "/max_depth" (
if "%~2" geq "1" if "%~2" leq "5" (
set "max_depth=%~2"
shift
) else (
%lib_console% show_error "'/max_depth' requires a number between 1 and 5!"
exit /b
)
) else if /i "%1" == "/c" (
if exist "%~2" (
if not exist "%~2\bin" mkdir "%~2\bin"
set "cmder_user_bin=%~2\bin"
if not exist "%~2\config\profile.d" mkdir "%~2\config\profile.d"
set "cmder_user_config=%~2\config"
shift
)
) else if /i "%1" == "/user_aliases" (
if exist "%~2" (
set "user_aliases=%~2"
shift
)
) else if /i "%1" == "/git_install_root" (
if exist "%~2" (
set "GIT_INSTALL_ROOT=%~2"
shift
) else (
%lib_console% show_error "The Git install root folder "%~2", you specified does not exist!"
exit /b
)
) else if /i "%1" == "/home" (
if exist "%~2" (
set "HOME=%~2"
shift
) else (
%lib_console% show_error The home folder "%2", you specified does not exist!
exit /b
)
) else if /i "%1" == "/svn_ssh" (
set SVN_SSH=%2
shift
) else (
set "CMDER_USER_FLAGS=%1 %CMDER_USER_FLAGS%"
)
shift
goto var_loop
:start
:: Sets CMDER_SHELL, CMDER_CLINK, CMDER_ALIASES
%lib_base% cmder_shell
%lib_console% debug_output init.bat "Env Var - CMDER_ROOT=%CMDER_ROOT%"
%lib_console% debug_output init.bat "Env Var - debug_output=%debug_output%"
if defined CMDER_USER_CONFIG (
%lib_console% debug_output init.bat "CMDER IS ALSO USING INDIVIDUAL USER CONFIG FROM '%CMDER_USER_CONFIG%'!"
)
:: Pick right version of clink
if "%PROCESSOR_ARCHITECTURE%"=="x86" (
set architecture=86
set architecture_bits=32
) else (
set architecture=64
set architecture_bits=64
)
if "%CMDER_CLINK%" == "1" (
%lib_console% verbose_output "Injecting Clink!"
:: Run clink
if defined CMDER_USER_CONFIG (
if not exist "%CMDER_USER_CONFIG%\settings" (
echo Generating clink initial settings in "%CMDER_USER_CONFIG%\settings"
echo Additional *.lua files in "%CMDER_USER_CONFIG%" are loaded on startup.\
)
"%CMDER_ROOT%\vendor\clink\clink_x%architecture%.exe" inject --quiet --profile "%CMDER_USER_CONFIG%" --scripts "%CMDER_ROOT%\vendor"
) else (
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.
)
"%CMDER_ROOT%\vendor\clink\clink_x%architecture%.exe" inject --quiet --profile "%CMDER_ROOT%\config" --scripts "%CMDER_ROOT%\vendor"
)
) else (
%lib_console% verbose_output "WARNING: Incompatible 'ComSpec/Shell' Detetected Skipping Clink Injection!"
)
:: Prepare for git-for-windows
:: Prepare for msysgit
:: I do not even know, copypasted from their .bat
@if not exist "%HOME%" @set HOME=%HOMEDRIVE%%HOMEPATH%
@if not exist "%HOME%" @set HOME=%USERPROFILE%
@set PLINK_PROTOCOL=ssh
@if not defined TERM set TERM=msys
set PLINK_PROTOCOL=ssh
if not defined TERM set TERM=cygwin
:: Enhance Path
@set rootDir=%CD%
@set git_install_root=%CD%\vendor\msysgit
@set PATH=%PATH%;%rootDir%\bin;%git_install_root%\bin;%git_install_root%\mingw\bin;%git_install_root%\cmd;
:: 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 by examining the version string
setlocal enabledelayedexpansion
if defined GIT_INSTALL_ROOT (
if exist "%GIT_INSTALL_ROOT%\cmd\git.exe" goto :SPECIFIED_GIT
) else if "%fast_init%" == "1" (
if exist "%CMDER_ROOT%\vendor\git-for-windows\cmd\git.exe" (
%lib_console% debug_output "Skipping Git Auto-Detect!"
goto :VENDORED_GIT
)
)
:: Add aliases
@doskey /macrofile=%rootDir%\config\aliases
%lib_console% debug_output init.bat "Looking for Git install root..."
:: cd into users homedir
@cd /d "%userprofile%"
:: get the version information for vendored git binary
%lib_git% read_version VENDORED "%CMDER_ROOT%\vendor\git-for-windows\cmd"
%lib_git% validate_version VENDORED %GIT_VERSION_VENDORED%
@echo Welcome to cmder!
:: check if git is in path...
for /F "delims=" %%F in ('where git.exe 2^>nul') do (
:: get the absolute path to the user provided git binary
pushd %%~dpF
:: check if there's shim - and if yes follow the path
if exist git.shim (
for /F "tokens=2 delims== " %%I in (git.shim) do (
pushd %%~dpI
set "test_dir=!CD!"
popd
)
) else (
set "test_dir=!CD!"
)
popd
:: get the version information for the user provided git binary
%lib_git% read_version USER "!test_dir!"
%lib_git% validate_version USER !GIT_VERSION_USER!
if !errorlevel! geq 0 (
:: compare the user git version against the vendored version
%lib_git% compare_versions USER VENDORED
:: use the user provided git if its version is greater than, or equal to the vendored git
if !errorlevel! geq 0 if exist "!test_dir:~0,-4!\cmd\git.exe" (
set "GIT_INSTALL_ROOT=!test_dir:~0,-4!"
set test_dir=
goto :FOUND_GIT
) else if !errorlevel! geq 0 (
set "GIT_INSTALL_ROOT=!test_dir!"
set test_dir=
goto :FOUND_GIT
) else (
call :verbose_output Found old !GIT_VERSION_USER! in "!test_dir!", but not using...
set test_dir=
)
) else (
:: if the user provided git executable is not found
if !errorlevel! equ -255 (
call :verbose_output No git at "!git_executable!" found.
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"
%lib_console% debug_output "Using vendored Git from '!GIT_INSTALL_ROOT!..."
goto :CONFIGURE_GIT
) else (
goto :NO_GIT
)
:SPECIFIED_GIT
%lib_console% debug_output "Using /GIT_INSTALL_ROOT from '%GIT_INSTALL_ROOT%..."
goto :CONFIGURE_GIT
:FOUND_GIT
%lib_console% debug_output "Using found Git from '%GIT_INSTALL_ROOT%..."
goto :CONFIGURE_GIT
:CONFIGURE_GIT
:: Add git to the path
if defined GIT_INSTALL_ROOT (
rem add the unix commands at the end to not shadow windows commands like more
if exist "!GIT_INSTALL_ROOT!\cmd\git.exe" %lib_path% enhance_path "!GIT_INSTALL_ROOT!\cmd" append
if exist "!GIT_INSTALL_ROOT!\mingw32" (
%lib_path% enhance_path "!GIT_INSTALL_ROOT!\mingw32\bin" append
) else if exist "!GIT_INSTALL_ROOT!\mingw64" (
%lib_path% enhance_path "!GIT_INSTALL_ROOT!\mingw64\bin" append
)
%lib_path% enhance_path "!GIT_INSTALL_ROOT!\usr\bin" append
:: 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"
for /F "delims=" %%F in ('env /usr/bin/locale -uU 2') do (
set "LANG=%%F"
)
)
endlocal & set "PATH=%PATH%" & set "LANG=%LANG%" & set "SVN_SSH=%SVN_SSH%" & set "GIT_INSTALL_ROOT=%GIT_INSTALL_ROOT%"
%lib_console% debug_output init.bat "Env Var - GIT_INSTALL_ROOT=%GIT_INSTALL_ROOT%"
%lib_console% debug_output init.bat "Found Git in: '%GIT_INSTALL_ROOT%'"
goto :PATH_ENHANCE
:NO_GIT
:: Skip this if GIT WAS FOUND else we did 'endlocal' above!
endlocal
:PATH_ENHANCE
%lib_path% enhance_path "%CMDER_ROOT%\vendor\bin"
%lib_path% enhance_path_recursive "%CMDER_ROOT%\bin" %max_depth%
if defined CMDER_USER_BIN (
%lib_path% enhance_path_recursive "%CMDER_USER_BIN%" %max_depth%
)
%lib_path% enhance_path "%CMDER_ROOT%" append
:: Drop *.bat and *.cmd files into "%CMDER_ROOT%\config\profile.d"
:: to run them at startup.
%lib_profile% run_profile_d "%CMDER_ROOT%\config\profile.d"
if defined CMDER_USER_CONFIG (
%lib_profile% run_profile_d "%CMDER_USER_CONFIG%\profile.d"
)
:: 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.
if not defined user_aliases (
if defined CMDER_USER_CONFIG (
set "user_aliases=%CMDER_USER_CONFIG%\user_aliases.cmd"
) else (
set "user_aliases=%CMDER_ROOT%\config\user_aliases.cmd"
)
)
if "%CMDER_ALIASES%" == "1" (
REM The aliases environment variable is used by alias.bat to id
REM the default file to store new aliases in.
if not defined aliases (
set "aliases=%user_aliases%"
)
REM 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%"...
if defined CMDER_USER_CONFIG (
copy "%user_aliases%" "%user_aliases%.old_format"
copy "%CMDER_ROOT%\vendor\user_aliases.cmd.example" "%user_aliases%"
) else (
copy "%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 "%GIT_INSTALL_ROOT%\post-install.bat" (
%lib_console% verbose_output "Running Git for Windows one time Post Install...."
pushd "%GIT_INSTALL_ROOT%\"
"%GIT_INSTALL_ROOT%\git-bash.exe" --no-needs-console --hide --no-cd --command=post-install.bat
popd
)
:: Set home path
if not defined HOME set "HOME=%USERPROFILE%"
%lib_console% debug_output init.bat "Env Var - HOME=%HOME%"
set "initialConfig=%CMDER_ROOT%\config\user_profile.cmd"
if exist "%CMDER_ROOT%\config\user_profile.cmd" (
REM Create this file and place your own command in there
call "%CMDER_ROOT%\config\user_profile.cmd"
)
if defined CMDER_USER_CONFIG (
set "initialConfig=%CMDER_USER_CONFIG%\user_profile.cmd"
if exist "%CMDER_USER_CONFIG%\user_profile.cmd" (
REM Create this file and place your own command in there
call "%CMDER_USER_CONFIG%\user_profile.cmd"
)
)
if not exist "%initialConfig%" (
echo Creating user startup file: "%initialConfig%"
(
echo :: use this file to run your own startup commands
echo :: use in front of the command to prevent printing the command
echo.
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 the 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.
echo :: arguments in this batch are passed from init.bat, you can quickly parse them like so:
echo :: more useage can be seen by typing "cexec /?"
echo.
echo :: %%ccall%% "/customOption" "command/program"
echo.
echo @echo off
) >"%initialConfig%"
)
if "%CMDER_ALIASES%" == "1" if exist "%CMDER_ROOT%\bin\alias.bat" if exist "%CMDER_ROOT%\vendor\bin\alias.cmd" (
echo Cmder's 'alias' command has been moved into "%CMDER_ROOT%\vendor\bin\alias.cmd"
echo to get rid of this message either:
echo.
echo Delete the file "%CMDER_ROOT%\bin\alias.bat"
echo.
echo or
echo.
echo If you have customized it and want to continue using it instead of the included version
echo * Rename "%CMDER_ROOT%\bin\alias.bat" to "%CMDER_ROOT%\bin\alias.cmd".
echo * Search for 'user-aliases' and replace it with 'user_aliases'.
)
set initialConfig=
set CMDER_CONFIGURED=1
set cmder_init_end=%time%
if %time_init% gtr 0 (
%cmder_root%\vendor\bin\timer.cmd %cmder_init_start% %cmder_init_end%
)
exit /b

76
vendor/lib/lib_base.cmd vendored Normal file
View File

@ -0,0 +1,76 @@
@echo off
set lib_base=call "%~dp0lib_base.cmd"
if "%~1" == "/h" (
%lib_base% help "%~0"
) else if "%1" neq "" (
call :%*
)
exit /b
:help
:::===============================================================================
:::show_subs - shows all sub routines in a .bat/.cmd file with documentation
:::.
:::include:
:::.
::: call "lib_base.cmd"
:::.
:::usage:
:::.
::: %lib_base% show_subs "file"
:::.
:::options:
:::.
::: file <in> full path to file containing lib_routines to display
:::.
:::-------------------------------------------------------------------------------
for /f "tokens=* delims=:" %%a in ('type "%~1" ^| findstr /i /r "^:::"') do (
rem echo a="%%a"
if "%%a"=="." (
echo.
) else if /i "%%a" == "usage" (
echo %%a:
) else if /i "%%a" == "options" (
echo %%a:
) else if not "%%a" == "" (
echo %%a
)
)
pause
exit /b
:cmder_shell
:::===============================================================================
:::show_subs - shows all sub routines in a .bat/.cmd file with documentation
:::.
:::include:
:::.
::: call "lib_base.cmd"
:::.
:::usage:
:::.
::: %lib_base% cmder_shell
:::.
:::options:
:::.
::: file <in> full path to file containing lib_routines to display
:::.
:::-------------------------------------------------------------------------------
echo %comspec% | find /i "\cmd.exe" > nul && set "CMDER_SHELL=cmd"
echo %comspec% | find /i "\tcc.exe" > nul && set "CMDER_SHELL=tcc"
echo %comspec% | find /i "\tccle" > nul && set "CMDER_SHELL=tccle"
set CMDER_CLINK=1
if "%CMDER_SHELL%" equ "tcc" set CMDER_CLINK=0
if "%CMDER_SHELL%" equ "tccle" set CMDER_CLINK=0
set CMDER_ALIASES=1
if "%CMDER_SHELL%" equ "tcc" set CMDER_ALIASES=0
if "%CMDER_SHELL%" equ "tccle" set CMDER_ALIASES=0
exit /b

79
vendor/lib/lib_console.cmd vendored Normal file
View File

@ -0,0 +1,79 @@
@echo off
if "%fast_init%" == "1" exit /b
call "%~dp0lib_base.cmd"
set lib_console=call "%~dp0lib_console.cmd"
if "%~1" == "/h" (
%lib_base% help "%~0"
) else if "%1" neq "" (
call :%*
)
exit /b
:debug_output
:::===============================================================================
:::debug_output - Output a debug message to the console.
:::.
:::include:
:::.
::: call "lib_console.cmd"
:::.
:::usage:
:::.
::: %lib_console% debug_output [caller] [message]
:::.
:::required:
:::.
::: [caller] <in> Script/sub routine name calling debug_output
:::.
::: [message] <in> Message text to display.
:::.
:::-------------------------------------------------------------------------------
if %debug_output% gtr 0 echo DEBUG(%~1): %~2 & echo.
exit /b
:verbose_output
:::===============================================================================
:::verbose_output - Output a debug message to the console.
:::.
:::include:
:::.
::: call "$0"
:::.
:::usage:
:::.
::: %lib_console% verbose_output "[message]"
:::.
:::required:
:::.
::: [message] <in> Message text to display.
:::.
:::-------------------------------------------------------------------------------
if %verbose_output% gtr 0 echo %~1
exit /b
:show_error
:::===============================================================================
:::show_error - Output an error message to the console.
:::.
:::include:
:::.
::: call "$0"
:::.
:::usage:
:::.
::: %lib_console% show_error "[message]"
:::.
:::required:
:::.
::: [message] <in> Message text to display.
:::.
:::-------------------------------------------------------------------------------
echo ERROR: %~1
exit /b

168
vendor/lib/lib_git.cmd vendored Normal file
View File

@ -0,0 +1,168 @@
@echo off
call "%~dp0lib_base.cmd"
call "%%~dp0lib_console.cmd"
set lib_git=call "%~dp0lib_git.cmd"
if "%~1" == "/h" (
%lib_base% help "%~0"
) else if "%1" neq "" (
call :%*
)
exit /b
:read_version
:::===============================================================================
:::read_version - Get the git.exe verion
:::.
:::include:
:::.
::: call "lib_git.cmd"
:::.
:::usage:
:::.
::: %lib_git% read_version "[dir_path]"
:::.
:::required:
:::.
::: [GIT SCOPE] <in> USER | VENDORED
::: [GIT PATH] <in> Fully qualified path to the Git command root.
:::.
:::output:
:::.
::: GIT_VERSION_[GIT SCOPE] <out> Env variable containing Git semantic version string
:::-------------------------------------------------------------------------------
setlocal enabledelayedexpansion
:: clear the variables
set GIT_VERSION_%~1=
:: set the executable path
set "git_executable=%~2\git.exe"
%lib_console% debug_output :read_version "Env Var - git_executable=%git_executable%"
:: check if the executable actually exists
if not exist "%git_executable%" (
%lib_console% debug_output :read_version "%git_executable% does not exist."
exit /b -255
)
:: get the git version in the provided directory
for /F "tokens=1,2,3 usebackq" %%A in (`"%git_executable%" --version 2^>nul`) do (
if /i "%%A %%B" == "git version" (
set "GIT_VERSION=%%C"
%lib_console% debug_output :read_version "Env Var - GIT_VERSION_%~1=!GIT_VERSION!"
) else (
%lib_console% show_error "git --version" returned an inproper version string!
pause
exit /b
)
)
endlocal & set "GIT_VERSION_%~1=%GIT_VERSION%"
exit /b
:parse_version
:::===============================================================================
:::parse_version - Parse semantic version string 'x.x.x.x' and return the pieces
:::.
:::include:
:::.
::: call "$0"
:::.
:::usage:
:::.
::: %lib_git% parse_version "[VERSION]"
:::.
:::required:
:::.
::: [SCOPE] <in> USER | VENDORED
::: [VERSION] <in> Semantic version String. Ex: 1.2.3.4
:::.
:::output:
:::.
::: [SCOPE]_MAJOR <out> Scoped Major version.
::: [SCOPE]_MINOR <out> Scoped Minor version.
::: [SCOPE]_PATCH <out> Scoped Patch version.
::: [SCOPE]_BUILD <out> Scoped Build version.
:::-------------------------------------------------------------------------------
setlocal enabledelayedexpansion
:: process a `x.x.x.xxxx.x` formatted string
%lib_console% debug_output :parse_version "ARGV[1]=%~1, ARGV[2]=%~2"
for /F "tokens=1-3* delims=.,-" %%A in ("%2") do (
set "%~1_MAJOR=%%A"
set "%~1_MINOR=%%B"
set "%~1_PATCH=%%C"
set "%~1_BUILD=%%D"
)
endlocal & set "%~1_MAJOR=!%~1_MAJOR!" & set "%~1_MINOR=!%~1_MINOR!" & set "%~1_PATCH=!%~1_PATCH!" & set "%~1_BUILD=!%~1_BUILD!"
exit /b
:validate_version
:::===============================================================================
:::validate_version - Validate semantic version string 'x.x.x.x'.
:::.
:::include:
:::.
::: call "$0"
:::.
:::usage:
:::.
::: %lib_git% validate_version [SCOPE] [VERSION]
:::.
:::required:
:::.
::: [SCOPE] <in> Example: USER | VENDORED
::: [VERSION] <in> Semantic version String. Ex: 1.2.3.4
:::-------------------------------------------------------------------------------
:: now parse the version information into the corresponding variables
%lib_console% debug_output :validate_version "ARGV[1]=%~1, ARGV[2]=%~2"
call :parse_version %~1 %~2
:: ... and maybe display it, for debugging purposes.
%lib_console% debug_output :validate_version "Found Git Version for %~1: !%~1_MAJOR!.!%~1_MINOR!.!%~1_PATCH!.!%~1_BUILD!"
exit /b
:compare_versions
:::===============================================================================
:::compare_version - Compare semantic versions return latest version.
:::.
:::include:
:::.
::: call "$0"
:::.
:::usage:
:::.
::: %lib_git% validate_version [SCOPE1] [SCOPE2]
:::.
:::required:
:::.
::: [SCOPE1] <in> Example: USER
::: [SCOPE2] <in> Example: VENDOR
:::-------------------------------------------------------------------------------
:: checks all major, minor, patch and build variables for the given arguments.
:: whichever binary that has the most recent version will be used based on the return code.
%lib_console% debug_output Comparing:
%lib_console% debug_output %~1: !%~1_MAJOR!.!%~1_MINOR!.!%~1_PATCH!.!%~1_BUILD!
%lib_console% debug_output %~2: !%~2_MAJOR!.!%~2_MINOR!.!%~2_PATCH!.!%~2_BUILD!
if !%~1_MAJOR! GTR !%~2_MAJOR! (exit /b 1)
if !%~1_MAJOR! LSS !%~2_MAJOR! (exit /b -1)
if !%~1_MINOR! GTR !%~2_MINOR! (exit /b 1)
if !%~1_MINOR! LSS !%~2_MINOR! (exit /b -1)
if !%~1_PATCH! GTR !%~2_PATCH! (exit /b 1)
if !%~1_PATCH! LSS !%~2_PATCH! (exit /b -1)
if !%~1_BUILD! GTR !%~2_BUILD! (exit /b 1)
if !%~1_BUILD! LSS !%~2_BUILD! (exit /b -1)
:: looks like we have the same versions.
exit /b 0

174
vendor/lib/lib_path.cmd vendored Normal file
View File

@ -0,0 +1,174 @@
@echo off
call "%~dp0lib_base.cmd"
call "%%~dp0lib_console"
set lib_path=call "%~dp0lib_path.cmd"
if "%~1" == "/h" (
%lib_base% help "%~0"
) else if "%1" neq "" (
call :%*
)
exit /b
:enhance_path
:::===============================================================================
:::enhance_path - Add a directory to the path env variable if required.
:::
:::include:
:::
::: call "lib_path.cmd"
:::
:::usage:
:::
::: %lib_path% enhance_path "[dir_path]" [append]
:::
:::required:
:::
::: [dir_path] <in> Fully qualified directory path. Ex: "c:\bin"
:::
:::options:
:::
::: append <in> Append to the path env variable rather than pre-pend.
:::
:::output:
:::
::: path <out> Sets the path env variable if required.
:::-------------------------------------------------------------------------------
setlocal enabledelayedexpansion
if "%~1" neq "" (
set "add_path=%~1"
) else (
%lib_console% show_error "You must specify a directory to add to the path!"
exit 1
)
if "%~2" neq "" if /i "%~2" == "append" (
set "position=%~2"
) else (
set "position="
)
if "%fast_init%" == "1" (
if "%position%" == "append" (
set "PATH=%PATH%;%add_path%"
) else (
set "PATH=%add_path%;%PATH%"
)
goto :end_enhance_path
)
set found=0
set "find_query=%add_path%"
set "find_query=%find_query:\=\\%"
set "find_query=%find_query: =\ %"
if "%CMDER_CONFIGURED%" == "1" (
%lib_console% debug_output :enhance_path "Env Var - find_query=%find_query%"
echo "%path%"|findstr >nul /I /R ";%find_query%\"$"
if "!ERRORLEVEL!" == "0" set found=1
)
%lib_console% debug_output :enhance_path "Env Var 1 - found=!found!"
if "!found!" == "0" (
if "%CMDER_CONFIGURED%" == "1" (
echo "%path%"|findstr >nul /i /r ";%find_query%;"
if "!ERRORLEVEL!" == "0" set found=1
)
%lib_console% debug_output :enhance_path "Env Var 2 - found=!found!"
)
if "%found%" == "0" (
%lib_console% debug_output :enhance_path "BEFORE Env Var - PATH=!path!"
if /i "%position%" == "append" (
%lib_console% debug_output :enhance_path "Appending '%add_path%'"
set "PATH=%PATH%;%add_path%"
) else (
%lib_console% debug_output :enhance_path "Prepending '%add_path%'"
set "PATH=%add_path%;%PATH%"
)
%lib_console% debug_output :enhance_path "AFTER Env Var - PATH=!path!"
)
:end_enhance_path
endlocal & set "PATH=%PATH:;;=;%"
exit /b
:enhance_path_recursive
:::===============================================================================
:::enhance_path_recursive - Add a directory and subs to the path env variable if
::: required.
:::.
:::include:
:::.
::: call "$0"
:::.
:::usage:
:::.
::: call "%~DP0lib_path" enhance_path_recursive "[dir_path]" [max_depth] [append]
:::.
:::required:
:::.
::: [dir_path] <in> Fully qualified directory path. Ex: "c:\bin"
:::.
:::options:
:::.
::: [max_depth] <in> Max recuse depth. Default: 1
:::.
::: append <in> Append instead to path env variable rather than pre-pend.
:::.
:::output:
:::.
::: path <out> Sets the path env variable if required.
:::-------------------------------------------------------------------------------
setlocal enabledelayedexpansion
if "%~1" neq "" (
set "add_path=%~1"
) else (
%lib_console% show_error "You must specify a directory to add to the path!"
exit 1
)
if "%~2" gtr "1" (
set "max_depth=%~2"
) else (
set "max_depth=1"
)
if "%~3" neq "" if /i "%~3" == "append" (
set "position=%~3"
) else (
set "position="
)
if "%fast_init%" == "1" (
call :enhance_path "%add_path%" %position%
goto :end_enhance_path_recursive
)
if "%depth%" == "" set depth=0
%lib_console% debug_output :enhance_path_recursive "Env Var - add_path=%add_path%"
%lib_console% debug_output :enhance_path_recursive "Env Var - position=%position%"
%lib_console% debug_output :enhance_path_recursive "Env Var - max_depth=%max_depth%"
if %max_depth% gtr !depth! (
%lib_console% debug_output :enhance_path_recursive "Adding parent directory - '%add_path%'"
call :enhance_path "%add_path%" %position%
set /a "depth=!depth!+1"
for /d %%i in ("%add_path%\*") do (
%lib_console% debug_output :enhance_path_recursive "Env Var BEFORE - depth=!depth!"
%lib_console% debug_output :enhance_path_recursive "Found Subdirectory - '%%~fi'"
call :enhance_path_recursive "%%~fi" %max_depth% %position%
%lib_console% debug_output :enhance_path_recursive "Env Var AFTER- depth=!depth!"
)
)
:end_enhance_path_recursive
endlocal & set "PATH=%PATH%"
exit /b

46
vendor/lib/lib_profile.cmd vendored Normal file
View File

@ -0,0 +1,46 @@
@echo off
call "%~dp0lib_base.cmd"
call "%%~dp0lib_console"
set lib_profile=call "%~dp0lib_profile.cmd"
if "%~1" == "/h" (
%lib_base% help "%~0"
) else if "%1" neq "" (
call :%*
)
exit /b
:run_profile_d
:::===============================================================================
:::run_profile_d - Run all scripts in the passed dir path
:::
:::include:
:::
::: call "lib_profile.cmd"
:::
:::usage:
:::
::: %lib_profile% "[dir_path]"
:::
:::required:
:::
::: [dir_path] <in> Fully qualified directory path containing init *.cmd|*.bat.
::: Example: "c:\bin"
:::
::: path <out> Sets the path env variable if required.
:::-------------------------------------------------------------------------------
if not exist "%~1" (
mkdir "%~1"
)
pushd "%~1"
for /f "usebackq" %%x in ( `dir /b *.bat *.cmd 2^>nul` ) do (
%lib_console% verbose_output "Calling '%~1\%%x'..."
call "%~1\%%x"
)
popd
exit /b

218
vendor/profile.ps1 vendored Normal file
View File

@ -0,0 +1,218 @@
# Init Script for PowerShell
# Created as part of cmder project
# !!! THIS FILE IS OVERWRITTEN WHEN CMDER IS UPDATED
# !!! Use "%CMDER_ROOT%\config\user_profile.ps1" to add your own startup commands
# Compatibility with PS major versions <= 2
if(!$PSScriptRoot) {
$PSScriptRoot = Split-Path $Script:MyInvocation.MyCommand.Path
}
if ($ENV:CMDER_USER_CONFIG) {
# write-host "CMDER IS ALSO USING INDIVIDUAL USER CONFIG FROM '$ENV:CMDER_USER_CONFIG'!"
}
# We do this for Powershell as Admin Sessions because CMDER_ROOT is not beng set.
if (! $ENV:CMDER_ROOT ) {
if ( $ENV:ConEmuDir ) {
$ENV:CMDER_ROOT = resolve-path( $ENV:ConEmuDir + "\..\.." )
} else {
$ENV:CMDER_ROOT = resolve-path( $PSScriptRoot + "\.." )
}
}
# Remove trailing '\'
$ENV:CMDER_ROOT = (($ENV:CMDER_ROOT).trimend("\"))
# 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 $moduleInstallerAvailable -and -not $env:PSModulePath.Contains($CmderModulePath) ){
$env:PSModulePath = $env:PSModulePath.Insert(0, "$CmderModulePath;")
}
try {
Get-command -Name "vim" -ErrorAction Stop >$null
} catch {
# # You could do this but it may be a little drastic and introduce a lot of
# # unix tool overlap with powershel unix like aliases
# $env:Path += $(";" + $env:CMDER_ROOT + "\vendor\git-for-windows\usr\bin")
# set-alias -name "vi" -value "vim"
# # I think the below is safer.
new-alias -name "vim" -value $($ENV:CMDER_ROOT + "\vendor\git-for-windows\usr\bin\vim.exe")
new-alias -name "vi" -value vim
}
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")
}
$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
}
$SplitPath = split-path $path
if ($SplitPath) {
checkGit($SplitPath)
}
}
if (Get-Module PSReadline -ErrorAction "SilentlyContinue") {
Set-PSReadlineOption -ExtraPromptLineCount 1
}
# Enhance Path
$env:Path = "$Env:CMDER_ROOT\bin;$Env:CMDER_ROOT\vendor\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")) {
mkdir "$ENV:CMDER_ROOT\config\profile.d"
}
pushd $ENV:CMDER_ROOT\config\profile.d
foreach ($x in Get-ChildItem *.ps1) {
# write-host write-host Sourcing $x
Import-Module $x
}
popd
# Drop *.ps1 files into "$ENV:CMDER_USER_CONFIG\config\profile.d"
# to source them at startup. Requires using cmder.exe /C [cmder_user_root_path] argument
if ($ENV:CMDER_USER_CONFIG -ne "" -and (test-path "$ENV:CMDER_USER_CONFIG\profile.d")) {
pushd $ENV:CMDER_USER_CONFIG\profile.d
foreach ($x in Get-ChildItem *.ps1) {
# write-host write-host Sourcing $x
Import-Module $x
}
popd
}
# Renaming to "config\user_profile.ps1" to "user_profile.ps1" for consistency.
if (test-path "$env:CMDER_ROOT\config\user-profile.ps1") {
rename-item "$env:CMDER_ROOT\config\user-profile.ps1" user_profile.ps1
}
$CmderUserProfilePath = Join-Path $env:CMDER_ROOT "config\user_profile.ps1"
if (Test-Path $CmderUserProfilePath) {
# Create this file and place your own command in there.
Import-Module "$CmderUserProfilePath"
}
if ($ENV:CMDER_USER_CONFIG) {
# Renaming to "$env:CMDER_USER_CONFIG\user-profile.ps1" to "user_profile.ps1" for consistency.
if (test-path "$env:CMDER_USER_CONFIG\user-profile.ps1") {
rename-item "$env:CMDER_USER_CONFIG\user-profile.ps1" user_profile.ps1
}
$env:Path = "$Env:CMDER_USER_CONFIG\bin;$env:Path"
$CmderUserProfilePath = Join-Path $ENV:CMDER_USER_CONFIG "user_profile.ps1"
if (Test-Path $CmderUserProfilePath) {
Import-Module "$CmderUserProfilePath"
}
}
if (! (Test-Path $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

2155
vendor/psmodules/PsGet/PsGet.psm1 vendored Normal file

File diff suppressed because it is too large Load Diff

22
vendor/sources.json vendored Normal file
View File

@ -0,0 +1,22 @@
[
{
"name": "git-for-windows",
"version": "v2.19.0.windows.1",
"url": "https://github.com/git-for-windows/git/releases/download/v2.19.0.windows.1/PortableGit-2.19.0-64-bit.7z.exe"
},
{
"name": "clink",
"version": "0.4.9",
"url": "https://github.com/mridgers/clink/releases/download/0.4.9/clink_0.4.9.zip"
},
{
"name": "conemu-maximus5",
"version": "180626",
"url": "https://github.com/Maximus5/ConEmu/releases/download/v18.06.26/ConEmuPack.180626.7z"
},
{
"name": "clink-completions",
"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%"