Commit Graph

271 Commits

Author SHA1 Message Date
Jackbennett
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
Benjamin Staneck
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
Alexandr
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
Alexandr
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
Benjamin Staneck
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
Benjamin Staneck
bb312ad74b try --no-lock-index for Git 2016-09-17 22:48:02 +02:00
Benjamin Staneck
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
Benjamin Staneck
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
Benjamin Staneck
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
Benjamin Staneck
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
orionlee
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
orionlee
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
Benjamin Staneck
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
Benjamin Staneck
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
Jan Schulz
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
Benjamin Staneck
13fd41eb82 change how we ask hg for the status
closes #1035
Thanks @raleighr3
2016-07-30 00:36:32 +02:00
Benjamin Staneck
f2641e4cd2 ⬆️ Update Git to v2.9.2 2016-07-17 01:09:06 +02:00
Benjamin Staneck
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
Benjamin Staneck
393d7d19c5 ⬆️ Update clink to 0.4.8 2016-07-14 07:53:13 +02:00
Benjamin Staneck
924ab12aeb we don't need a second function for that. 2016-06-30 02:53:00 +02:00
Łukasz Papierz
9c0ad9fd81 Fix git branch name colouring
Colouring fixed when there are some changes in a branch
2016-06-28 14:13:35 +02:00
Jan Schulz
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
Benjamin Staneck
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
Benjamin Staneck
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
Vladimir Kotikov
6a080a1284 Bump clink-completions to 0.3.1 2016-06-11 01:07:47 +03:00
Benjamin Staneck
d014d785b0 ⬆️ Update to Git to 2.8.4 2016-06-09 00:18:56 +02:00
Jan Schulz
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
Jackbennett
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
Jackbennett
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
Jackbennett
76b2ed510d If you start doing remote work you can fire off your own start-sshAgent command. 2016-05-23 14:51:55 +01:00
Benjamin Staneck
7ca9d8e9d6 Update ConEmu to 160515 2016-05-17 23:20:16 +02:00
Jackbennett
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
Benjamin Staneck
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
Vladimir Kotikov
a286e52a44 Update completions to 0.3.0 2016-05-08 02:42:48 +03:00
Dax T. Games
c49c27fb88 allow setting verbose-output variable outside init.bat 2016-05-07 18:10:44 -05:00
Dax T. Games
e212ee36a2 Added :verbose-output subroutine, made aliases update more functional 2016-05-07 14:32:33 -05:00
Dax T. Games
537c658eb4 fixed git not working in cmder cmd session and added some comments 2016-05-07 10:56:08 -05:00
Benjamin Staneck
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
Jan Schulz
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
Jan Schulz
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
Jan Schulz
6c6268e968 Remove @ in new code, echo off is enough 2016-04-08 16:55:49 +02:00
Jan Schulz
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
Jan Schulz
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
Jan Schulz
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
Jan Schulz
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
Dax T. Games
24b1bb93c0 upgraded git to 2.8.1 2016-04-05 14:27:12 -05:00
Benjamin Staneck
5a1f81655f ⬆️ ConEmu@160328
Changelog: https://conemu.github.io/en/Whats_New.html
2016-03-30 03:02:31 +02:00
Benjamin Staneck
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
Dax T. Games
86dd077b9d fixed - not running user-aliases.cmd if aliases variable is overridden in profile.d 2016-03-21 14:35:48 -05:00
Dax T. Games
b86f3fbaff synced with upstream/development 2016-03-20 08:30:20 -05:00
Benjamin Staneck
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
Benjamin Staneck
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
Martin Kemp
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
Dax T. Games
01667a5bf0 Process profile.d scripts before adding user aliases 2016-03-07 08:12:50 -06:00
Dax T. Games
3085fca9e0 synced with upstream/development 2016-03-06 17:27:27 -06:00
Benjamin Staneck
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
Dax T. Games
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
Dax T. Games
722f8b7745 silenced bash profile.d when profile.d is empty 2016-03-06 15:05:40 -06:00
Dax T. Games
8dbbb902d9 fixed vendor\profile.ps1 profile.d - added post popd 2016-03-02 18:04:25 -06:00
Dax T. Games
d6eec2f3a5 silence profile.d if profile.d is empty 2016-03-02 17:37:28 -06:00
Dax T. Games
32c1d4028a added fully qualified path to cmd profile.d section 2016-03-02 15:17:43 -06:00
Dax T. Games
997bd5c24e Enhanced alias.bat to allow file storage path 2016-03-01 21:08:08 -06:00
Dax T. Games
8a5c58e626 fixed cmd profile.d support 2016-03-01 20:35:55 -06:00
Martin Kemp
8fa151d1db Merge pull request #740 from daxgames/cmder_exinit
Cmder exinit
2016-02-29 08:11:34 +00:00
Dax T. Games
59e4a1684b Merge branch 'development' of https://github.com/cmderdev/cmder into profile.d_support 2016-02-27 12:52:00 -06:00
Dax T. Games
361a8eae66 Fixed profile.d support for bash 2016-02-27 12:19:03 -06:00
Dax T. Games
727d6a6abd Added bits about MinGW integration status 2016-02-27 12:05:01 -06:00
Dax T. Games
f7a18d4b6e --amend 2016-02-27 12:00:40 -06:00
Dax T. Games
9e7f860e2d Fixed and added zsh shell capability 2016-02-27 08:43:39 -06:00
Dax T. Games
79f8560a24 added profile.d stuff 2016-02-27 07:40:47 -06:00
Dax T. Games
4245608e6d Merge branch 'development' of https://github.com/cmderdev/cmder into cmder_exinit 2016-02-27 06:41:11 -06:00
Benjamin Staneck
aedd078050 ⬆️ Git@2.7.2.windows.1 2016-02-27 01:39:06 +01:00
Dax T. Games
a959409c0f --amend 2016-02-25 18:22:43 -06:00
Dax T. Games
0a6b79b9ed Added profile.d like support for all supported shells 2016-02-25 08:01:16 -06:00
Dax T. Games
a99d27a7e1 Merge branch 'development' into cmder_exinit 2016-02-19 10:10:12 -06:00
Gregory Pakosz
64d981e470 Fixed get_git_dir() to take submodules into account. Fixes #833 2016-02-16 11:15:42 +01:00
Gregory Pakosz
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
Martin Kemp
95f6096a45 Latest 3rd party updates. 2016-02-08 22:14:04 +00:00
Benjamin Staneck
fccba9269d ⬆️ ConEmu@160202
Changelog: https://conemu.github.io/en/Whats_New.html
2016-02-03 03:15:56 +01:00
Benjamin Staneck
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
Jan Schulz
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
Jan Schulz
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
Martin Kemp
5b7c008202 Merge pull request #798 from JanSchulz/cmder_here
Make "cmder here" work again
2016-01-15 11:44:39 +00:00
Benjamin Staneck
724b9a25da ⬆️ Bump clink to 0.4.7 2016-01-15 00:16:18 +01:00
Jan Schulz
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
Benjamin Staneck
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
Vladimir Kotikov
1389fe0c4d ⬆️ Bump clink to 0.4.6 2015-12-29 00:23:30 +03:00
Dax T. Games
9eb9620966 Fixed som misc stuff and prevented multi runs 2015-12-16 12:37:40 -05:00
Benjamin Staneck
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
Martin Kemp
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
Gregory Lureau
6879a94c10 Fix vendor/init.bat when the PATH contains spaces. 2015-12-15 18:56:22 +01:00
Benjamin Staneck
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
Vladimir Kotikov
5f68e4e987 ⬆️ Bump clink-completions to 0.2.2 2015-12-10 22:09:12 +03:00
Jan Schulz
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
Martin Kemp
30dbfa6144 Merge pull request #736 from JanSchulz/more_config
More config
2015-12-04 13:04:13 +00:00
Benjamin Staneck
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
Dax T. Games
b88ea50aef Added vendor/cmder_exinit. Allows integrating externally installed Msys/Msys2/Cygwin into Cmder 2015-11-26 09:32:10 -06:00
Jan Schulz
854cadb185 Use consistent naming: user-profile.{sh|bat|ps1} 2015-11-25 00:23:04 +01:00
Jan Schulz
4bfdf04d59 Do not overwrite cmder.lua on update 2015-11-25 00:14:35 +01:00
Martin Kemp
c9550490f5 Merge pull request #735 from JanSchulz/config_aliases
Do not overwrite aliases on update
2015-11-24 22:54:49 +00:00