diff --git a/.gitignore b/.gitignore
index cf231c5..3243549 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,7 +1,10 @@
## Those files should be taken from their repositary
+bin/*/*
+!bin/Readme.md
vendor/*/*
+!vendor/bin/*
!vendor/lib/*
!vendor/*
!vendor/psmodules/PsGet
@@ -14,8 +17,11 @@ build/
Version v*
*.bak
config/user-*
+config/user_*
+config/*.lua
config/settings
config/aliases
config/profile.d
.github_changelog_generator
launcher/.vs
+launcher/src/version.rc2
diff --git a/README.md b/README.md
index b97204e..d50c61f 100644
--- a/README.md
+++ b/README.md
@@ -117,7 +117,7 @@ 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
+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).
@@ -155,11 +155,11 @@ Single user portable configuration is possible using the cmder specific shell co
| 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` |
+| 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`.
+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.
@@ -179,11 +179,11 @@ Aliases defined using the `alias.bat` command will automatically be saved in the
To make an alias and/or any other profile settings permanent add it to one of the following:
-Note: These are loaded in this order by `$CMDER_ROOT/vendor/init.bat`. Anyhing stored in `%CMDER_ROOT%` will be a portable setting and will follow cmder to another machine.
+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`
+* `%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.
@@ -193,26 +193,26 @@ To make an alias and/or any other profile settings permanent add it to one of th
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`
+* `$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.
+If you add bash aliases to `$CMDER_ROOT/config/user_profile.sh` they will be portable and follow your Cmder folder if you copy it to another machine. `$HOME/.bashrc` defined aliases are not portable.
#### PowerShell.exe Aliases
PowerShell has native simple alias support, for example `[new-alias | set-alias] alias command`, so complex aliases with optional parameters are not supported in PowerShell sessions. Type `get-help [new-alias|set-alias] -full` for help on PowerShell aliases.
To make an alias and/or any other profile settings permanent add it to one of the following:
-Note: These are loaded in this order by `$ENV:CMDER_ROOT\\vendor\\user-profile.ps1`. Anyhing stored in `$ENV:CMDER_ROOT` will be a portable setting and will follow cmder to another machine.
+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'
+* '$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).
+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
diff --git a/config/ConEmu.xml b/config/ConEmu.xml
index db45a6a..c4f4fff 100644
--- a/config/ConEmu.xml
+++ b/config/ConEmu.xml
@@ -508,7 +508,7 @@
-
+
@@ -517,7 +517,7 @@
-
+
diff --git a/launcher/src/CmderLauncher.cpp b/launcher/src/CmderLauncher.cpp
index f417764..7bd1b21 100644
--- a/launcher/src/CmderLauncher.cpp
+++ b/launcher/src/CmderLauncher.cpp
@@ -9,6 +9,7 @@
#include
#pragma comment(lib, "Shlwapi.lib")
+#pragma warning( disable : 4091 )
#ifndef UNICODE
#error "Must be compiled with unicode support."
@@ -85,6 +86,10 @@ void StartCmder(std::wstring path = L"", bool is_single_mode = false, std::wstr
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;
@@ -104,6 +109,35 @@ void StartCmder(std::wstring path = L"", bool is_single_mode = false, std::wstr
PathCombine(icoPath, exeDir, L"icons\\cmder.ico");
PathCombine(configDirPath, exeDir, L"config");
+
+ 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);
+ }
+
+ 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);
+ }
+
if (wcscmp(userConfigDirPath, L"") == 0)
{
PathCombine(userConfigDirPath, exeDir, L"config");
@@ -118,6 +152,34 @@ void StartCmder(std::wstring path = L"", bool is_single_mode = false, std::wstr
PathCombine(userProfiledDirPath, userConfigDirPath, L"profile.d");
SHCreateDirectoryEx(0, userProfiledDirPath, 0);
+
+ 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);
+ }
+
+ 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
@@ -131,7 +193,6 @@ void StartCmder(std::wstring path = L"", bool is_single_mode = false, std::wstr
ExpandEnvironmentStrings(cpuCfgPath, cpuCfgPath, sizeof(cpuCfgPath) / sizeof(cpuCfgPath[0]));
PathCombine(userCfgPath, userConfigDirPath, L"user-ConEmu.xml");
-
if (PathFileExists(cpuCfgPath)) {
if (PathFileExists(cfgPath)) {
if (!CopyFile(cfgPath, cpuCfgPath, FALSE))
@@ -361,6 +422,7 @@ cmderOptions GetOption()
for (int i = 1; i < argCount; i++)
{
+
// MessageBox(NULL, szArgList[i], L"Arglist contents", MB_OK);
if (_wcsicmp(L"/c", szArgList[i]) == 0)
@@ -380,13 +442,19 @@ cmderOptions GetOption()
}
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 doses not exist!", MB_OK);
+ MessageBox(NULL, szArgList[i + 1], L"/START - Folder does not exist!", MB_OK);
}
}
else if (_wcsicmp(L"/task", szArgList[i]) == 0)
@@ -415,7 +483,7 @@ cmderOptions GetOption()
{
cmderOptions.unRegisterApp = true;
cmderOptions.registerApp = false;
- if (szArgList[i + 1] != NULL)
+ if (szArgList[i + 1] != NULL)
{
if (_wcsicmp(L"all", szArgList[i + 1]) == 0 || _wcsicmp(L"user", szArgList[i + 1]) == 0)
{
@@ -424,9 +492,22 @@ cmderOptions GetOption()
}
}
}
- else if (cmderOptions.cmderStart == L"" && PathFileExists(szArgList[i]))
+ else if (cmderOptions.cmderStart == L"")
{
- cmderOptions.cmderStart = szArgList[i];
+ 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);
diff --git a/bin/alias.bat b/vendor/bin/alias.cmd
similarity index 93%
rename from bin/alias.bat
rename to vendor/bin/alias.cmd
index 03696f6..50e22e7 100644
--- a/bin/alias.bat
+++ b/vendor/bin/alias.cmd
@@ -2,7 +2,7 @@
if "%ALIASES%" == "" (
- set ALIASES="%CMDER_ROOT%\config\user-aliases.cmd"
+ set ALIASES="%CMDER_ROOT%\config\user_aliases.cmd"
)
setlocal enabledelayedexpansion
@@ -50,7 +50,7 @@ goto parseargument
)
rem #endregion parseargument
-if "%ALIASES%" neq "%CMDER_ROOT%\config\user-aliases.cmd" (
+if "%ALIASES%" neq "%CMDER_ROOT%\config\user_aliases.cmd" (
set _x=!_x:/f "%ALIASES%" =!
if not exist "%ALIASES%" (
@@ -117,9 +117,9 @@ 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. 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. 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.
diff --git a/vendor/clink.lua b/vendor/clink.lua
index 5c64c03..2074664 100644
--- a/vendor/clink.lua
+++ b/vendor/clink.lua
@@ -285,31 +285,40 @@ end
local function hg_prompt_filter()
- -- Colors for mercurial status
- local colors = {
- clean = "\x1b[1;37;40m",
- dirty = "\x1b[31;1m",
- }
+ local result = ""
- if get_hg_dir() then
- -- if we're inside of mercurial repo then try to detect current branch
- local branch = get_hg_branch()
- local color
- if branch then
- -- Has branch => therefore it is a mercurial folder, now figure out status
- if get_hg_status() then
- color = colors.clean
- else
- color = colors.dirty
+ 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
-
- clink.prompt.value = string.gsub(clink.prompt.value, "{hg}", color.."("..branch..")")
- return false
+ -- 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
- -- No mercurial present or not in mercurial file
- clink.prompt.value = string.gsub(clink.prompt.value, "{hg}", "")
+ clink.prompt.value = string.gsub(clink.prompt.value, "{hg}", result)
return false
end
@@ -358,3 +367,27 @@ for _,lua_module in ipairs(clink.find_files(completions_dir..'*.lua')) do
dofile(filename)
end
end
+
+local cmder_config_dir = clink.get_env('CMDER_ROOT')..'/config/'
+for _,lua_module in ipairs(clink.find_files(cmder_config_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 = 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
+
+if clink.get_env('CMDER_USER_CONFIG') then
+ local cmder_user_config_dir = clink.get_env('CMDER_USER_CONFIG')..'/'
+ for _,lua_module in ipairs(clink.find_files(cmder_user_config_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 = cmder_user_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
+end
diff --git a/vendor/cmder.sh b/vendor/cmder.sh
index 90bca50..aa59642 100644
--- a/vendor/cmder.sh
+++ b/vendor/cmder.sh
@@ -1,6 +1,6 @@
# DO NOT EDIT THIS FILE IT WILL BE OVERWRITTEN ON UPDATE
#
-# Add portable user customizations ${CMDER_ROOT}/config/user-profile.sh,
+# Add portable user customizations ${CMDER_ROOT}/config/user_profile.sh,
# these customizations will follow Cmder if $CMDER_ROOT is copied
# to another machine.
#
@@ -63,21 +63,32 @@ if [ -d "${CMDER_USER_CONFIG}/profile.d" ] ; then
runProfiled "${CMDER_USER_CONFIG}/profile.d"
fi
-initialConfig="${CMDER_ROOT}/config/user-profile.sh"
-if [ -f "${CMDER_ROOT}/config/user-profile.sh" ] ; then
- . "${CMDER_ROOT}/config/user-profile.sh"
+
+# 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
- initialConfig="${CMDER_USER_CONFIG}/user-profile.sh"
- if [ -f "${CMDER_USER_CONFIG}/user-profile.sh" ] ; then
- . "${CMDER_USER_CONFIG}/user-profile.sh"
+ # 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
+
+ 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 "${initialConfig}" ] ; then
- echo Creating user startup file: "${initialConfig}"
- cat <<-eof >"${initialConfig}"
+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:
diff --git a/vendor/cmder_exinit b/vendor/cmder_exinit
index f20bef1..c182aee 100644
--- a/vendor/cmder_exinit
+++ b/vendor/cmder_exinit
@@ -1,4 +1,4 @@
-# Copy this file to your non integrated *nix-like environment,
+# 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
@@ -15,7 +15,7 @@
# These customizations will follow Cmder if $CMDER_ROOT is copied
# to another machine.
#
-# Add system specific users customizations to $HOME/.bashrc, these
+# 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
@@ -58,45 +58,55 @@ 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:$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
-
- if [ -f "${CMDER_ROOT}/config/user-profile.sh" ] ; then
- . "${CMDER_ROOT}/config/user-profile.sh"
+
+ # 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
-
- if [ -f "${CMDER_USER_CONFIG}/user-profile.sh" ] ; then
- . "${CMDER_USER_CONFIG}/user-profile.sh"
- else
- if [ "${CMDER_USER_CONFIG}" != "" ] ; then
- initialProfile="${CMDER_USER_CONFIG}/user-profile.sh"
- else
- initialProfile="${CMDER_ROOT}/config/user-profile.sh"
- fi
-
- echo Creating user startup file: "${initialProfile}"
- cat <<-eof >"${initialProfile}"
+
+ 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
+
+ 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:
diff --git a/vendor/init.bat b/vendor/init.bat
index 99a86e7..f2f3880 100644
--- a/vendor/init.bat
+++ b/vendor/init.bat
@@ -4,12 +4,12 @@
:: 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
+:: !!! Use "%CMDER_ROOT%\config\user_profile.cmd" to add your own startup commands
:: Use /v command line arg or set to > 0 for verbose output to aid in debugging.
endlocal
-set verbose-output=0
-set debug-output=0
+set verbose_output=0
+set debug_output=0
set max_depth=1
set "CMDER_USER_FLAGS= "
@@ -39,9 +39,9 @@ call "%cmder_root%\vendor\lib\lib_profile"
if "%~1" == "" (
goto :start
) else if /i "%1"=="/v" (
- set verbose-output=1
+ set verbose_output=1
) else if /i "%1"=="/d" (
- set debug-output=1
+ set debug_output=1
) else if /i "%1" == "/max_depth" (
if "%~2" geq "1" if "%~2" leq "5" (
set "max_depth=%~2"
@@ -60,7 +60,7 @@ call "%cmder_root%\vendor\lib\lib_profile"
)
) else if /i "%1" == "/user_aliases" (
if exist "%~2" (
- set "user-aliases=%~2"
+ set "user_aliases=%~2"
shift
)
) else if /i "%1" == "/git_install_root" (
@@ -89,11 +89,13 @@ call "%cmder_root%\vendor\lib\lib_profile"
goto var_loop
:start
-%lib_console% debug-output init.bat "Env Var - CMDER_ROOT=%CMDER_ROOT%"
-%lib_console% debug-output init.bat "Env Var - debug-output=%debug-output%"
+:: 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%'!"
+ %lib_console% debug_output init.bat "CMDER IS ALSO USING INDIVIDUAL USER CONFIG FROM '%CMDER_USER_CONFIG%'!"
)
:: Pick right version of clink
@@ -105,21 +107,25 @@ if "%PROCESSOR_ARCHITECTURE%"=="x86" (
set architecture_bits=64
)
-:: Tell the user about the clink config files...
-if defined "%CMDER_USER_CONFIG%\settings" 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.\
+if "%CMDER_CLINK%" == "1" (
+ %lib_console% verbose_output "Injecting Clink!"
-} 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.
-)
-
-:: Run clink
-if defined CMDER_USER_CONFIG (
+ :: 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 (
+ ) 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
@@ -135,10 +141,10 @@ if not defined TERM set TERM=cygwin
:: 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 :FOUND_GIT)
+ if exist "%GIT_INSTALL_ROOT%\cmd\git.exe" goto :FOUND_GIT
)
-%lib_console% debug-output init.bat "Looking for Git install root..."
+%lib_console% debug_output init.bat "Looking for Git install root..."
:: get the version information for vendored git binary
%lib_git% read_version VENDORED "%CMDER_ROOT%\vendor\git-for-windows\cmd"
@@ -169,19 +175,18 @@ for /F "delims=" %%F in ('where git.exe 2^>nul') do (
set test_dir=
goto :FOUND_GIT
) else (
- call :verbose-output Found old !GIT_VERSION_USER! in "!test_dir!", but not using...
+ 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.
+ call :verbose_output No git at "!git_executable!" found.
set test_dir=
)
)
-
)
:: our last hope: our own git...
@@ -207,11 +212,15 @@ if defined GIT_INSTALL_ROOT (
:: 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 "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%'"
+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
@@ -219,6 +228,7 @@ goto :PATH_ENHANCE
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%
@@ -236,59 +246,63 @@ if defined CMDER_USER_CONFIG (
:: 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',
+:: must also be self executing, see '.\user_aliases.cmd.example',
:: and be in profile.d folder.
-if not defined user-aliases (
+if not defined user_aliases (
if defined CMDER_USER_CONFIG (
- set "user-aliases=%CMDER_USER_CONFIG%\user-aliases.cmd"
+ set "user_aliases=%CMDER_USER_CONFIG%\user_aliases.cmd"
) else (
- set "user-aliases=%CMDER_ROOT%\config\user-aliases.cmd"
+ set "user_aliases=%CMDER_ROOT%\config\user_aliases.cmd"
)
)
-:: The aliases environment variable is used by alias.bat to id
-:: the default file to store new aliases in.
-if not defined aliases (
- set "aliases=%user-aliases%"
-)
+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%"
+ )
-:: 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%"
- )
- )
-)
+ 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"
+ :: 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
)
-endlocal
:: Add aliases to the environment
-call "%user-aliases%"
+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...."
+ %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
@@ -296,19 +310,19 @@ if exist "%GIT_INSTALL_ROOT%\post-install.bat" (
:: Set home path
if not defined HOME set "HOME=%USERPROFILE%"
-%lib_console% debug-output init.bat "Env Var - HOME=%HOME%"
+%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" (
+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"
+ 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" (
+ 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"
+ call "%CMDER_USER_CONFIG%\user_profile.cmd"
)
)
@@ -341,5 +355,19 @@ 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=
+
exit /b
diff --git a/vendor/lib/lib_base.cmd b/vendor/lib/lib_base.cmd
index 37a1072..8577637 100644
--- a/vendor/lib/lib_base.cmd
+++ b/vendor/lib/lib_base.cmd
@@ -43,3 +43,34 @@ exit /b
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 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
diff --git a/vendor/lib/lib_console.cmd b/vendor/lib/lib_console.cmd
index 4de7525..3c174b0 100644
--- a/vendor/lib/lib_console.cmd
+++ b/vendor/lib/lib_console.cmd
@@ -13,9 +13,9 @@ if "%~1" == "/h" (
exit /b
-:debug-output
+:debug_output
:::===============================================================================
-:::debug-output - Output a debug message to the console.
+:::debug_output - Output a debug message to the console.
:::.
:::include:
:::.
@@ -23,22 +23,22 @@ exit /b
:::.
:::usage:
:::.
-::: %lib_console% debug-output [caller] [message]
+::: %lib_console% debug_output [caller] [message]
:::.
:::required:
:::.
-::: [caller] Script/sub routine name calling debug-output
+::: [caller] Script/sub routine name calling debug_output
:::.
::: [message] Message text to display.
:::.
:::-------------------------------------------------------------------------------
- if %debug-output% gtr 0 echo DEBUG(%~1): %~2 & echo.
+ if %debug_output% gtr 0 echo DEBUG(%~1): %~2 & echo.
exit /b
-:verbose-output
+:verbose_output
:::===============================================================================
-:::verbose-output - Output a debug message to the console.
+:::verbose_output - Output a debug message to the console.
:::.
:::include:
:::.
@@ -46,7 +46,7 @@ exit /b
:::.
:::usage:
:::.
-::: %lib_console% verbose-output "[message]"
+::: %lib_console% verbose_output "[message]"
:::.
:::required:
:::.
@@ -54,7 +54,7 @@ exit /b
:::.
:::-------------------------------------------------------------------------------
- if %verbose-output% gtr 0 echo %~1
+ if %verbose_output% gtr 0 echo %~1
exit /b
:show_error
diff --git a/vendor/lib/lib_git.cmd b/vendor/lib/lib_git.cmd
index d703e58..fc040f0 100644
--- a/vendor/lib/lib_git.cmd
+++ b/vendor/lib/lib_git.cmd
@@ -42,11 +42,11 @@ exit /b
:: set the executable path
set "git_executable=%~2\git.exe"
- %lib_console% debug-output :read_version "Env Var - git_executable=%git_executable%"
+ %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."
+ %lib_console% debug_output :read_version "%git_executable% does not exist."
exit /b -255
)
@@ -54,7 +54,7 @@ exit /b
for /F "tokens=1,2,3 usebackq" %%A in (`"%git_executable%" --version 2^>nul`) do (
if /i "%%A %%B" == "git version" (
set "GIT_VERSION_%~1=%%C"
- %lib_console% debug-output :read_version "Env Var - GIT_VERSION_%~1=%%C"
+ %lib_console% debug_output :read_version "Env Var - GIT_VERSION_%~1=%%C"
) else (
%lib_console% show_error "git --version" returned an inproper version string!
pause
@@ -124,7 +124,7 @@ exit /b
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!"
+ %lib_console% debug_output :validate_version "Found Git Version for %~1: !%~1_MAJOR!.!%~1_MINOR!.!%~1_PATCH!.!%~1_BUILD!"
exit /b
:compare_versions
@@ -148,9 +148,9 @@ exit /b
:: 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!
+ :: %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)
diff --git a/vendor/lib/lib_path.cmd b/vendor/lib/lib_path.cmd
index 1d8c9e7..0b478d4 100644
--- a/vendor/lib/lib_path.cmd
+++ b/vendor/lib/lib_path.cmd
@@ -57,28 +57,28 @@ exit /b
set "find_query=%find_query: =\ %"
set found=0
- %lib_console% debug-output :enhance_path "Env Var - find_query=%find_query%"
- echo "%PATH%"|findstr >nul /I /R ";%find_query%\"$"
+ %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!"
+ %lib_console% debug_output :enhance_path "Env Var 1 - found=!found!"
if "!found!" == "0" (
- echo "%PATH%"|findstr >nul /i /r ";%find_query%;"
+ 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!"
+ %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!"
+ %lib_console% debug_output :enhance_path "BEFORE Env Var - PATH=!path!"
if /i "%position%" == "append" (
- %lib_console% debug-output :enhance_path "Appending '%add_path%'"
+ %lib_console% debug_output :enhance_path "Appending '%add_path%'"
set "PATH=%PATH%;%add_path%"
) else (
- %lib_console% debug-output :enhance_path "Prepending '%add_path%'"
+ %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!"
+ %lib_console% debug_output :enhance_path "AFTER Env Var - PATH=!path!"
)
endlocal & set "PATH=%PATH:;;=;%"
@@ -134,20 +134,20 @@ exit /b
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%"
+ %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%'"
+ %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'"
+ %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!"
+ %lib_console% debug_output :enhance_path_recursive "Env Var AFTER- depth=!depth!"
)
)
diff --git a/vendor/lib/lib_profile.cmd b/vendor/lib/lib_profile.cmd
index 82dbb4a..98bc9f0 100644
--- a/vendor/lib/lib_profile.cmd
+++ b/vendor/lib/lib_profile.cmd
@@ -39,7 +39,7 @@ exit /b
pushd "%~1"
for /f "usebackq" %%x in ( `dir /b *.bat *.cmd 2^>nul` ) do (
- %lib_console% verbose-output "Calling '%~1\%%x'..."
+ %lib_console% verbose_output "Calling '%~1\%%x'..."
call "%~1\%%x"
)
popd
diff --git a/vendor/profile.ps1 b/vendor/profile.ps1
index b59e773..8c9f207 100644
--- a/vendor/profile.ps1
+++ b/vendor/profile.ps1
@@ -2,7 +2,7 @@
# 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
+# !!! Use "%CMDER_ROOT%\config\user_profile.ps1" to add your own startup commands
# Compatibility with PS major versions <= 2
if(!$PSScriptRoot) {
@@ -97,7 +97,7 @@ $env:Path = "$Env:CMDER_ROOT\bin;$env:Path;$Env:CMDER_ROOT"
#
# Prompt Section
-# Users should modify their user-profile.ps1 as it will be safe from updates.
+# 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.
@@ -134,7 +134,7 @@ if (-not (test-path "$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
- . $x
+ Import-Module $x
}
popd
@@ -144,23 +144,31 @@ if ($ENV:CMDER_USER_CONFIG -ne "" -and (test-path "$ENV:CMDER_USER_CONFIG\profil
pushd $ENV:CMDER_USER_CONFIG\profile.d
foreach ($x in Get-ChildItem *.ps1) {
# write-host write-host Sourcing $x
- . $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"
+$CmderUserProfilePath = Join-Path $env:CMDER_ROOT "config\user_profile.ps1"
if (Test-Path $CmderUserProfilePath) {
# Create this file and place your own command in there.
- . "$CmderUserProfilePath"
+ Import-Module "$CmderUserProfilePath"
}
if ($ENV:CMDER_USER_CONFIG) {
- $CmderUserProfilePath = Join-Path $ENV:CMDER_USER_CONFIG "user-profile.ps1"
+ # 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
+ }
+
+ $CmderUserProfilePath = Join-Path $ENV:CMDER_USER_CONFIG "user_profile.ps1"
if (Test-Path $CmderUserProfilePath) {
- . "$CmderUserProfilePath"
+ Import-Module "$CmderUserProfilePath"
}
}
diff --git a/vendor/sources.json b/vendor/sources.json
index 437a4ee..72696ce 100644
--- a/vendor/sources.json
+++ b/vendor/sources.json
@@ -1,8 +1,8 @@
[
{
"name": "git-for-windows",
- "version": "v2.17.1.windows.2",
- "url": "https://github.com/git-for-windows/git/releases/download/v2.17.1.windows.2/PortableGit-2.17.1.2-64-bit.7z.exe"
+ "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",
@@ -11,8 +11,8 @@
},
{
"name": "conemu-maximus5",
- "version": "180528",
- "url": "https://github.com/Maximus5/ConEmu/releases/download/v18.05.28/ConEmuPack.180528.7z"
+ "version": "180626",
+ "url": "https://github.com/Maximus5/ConEmu/releases/download/v18.06.26/ConEmuPack.180626.7z"
},
{
"name": "clink-completions",
diff --git a/vendor/user-aliases.cmd.example b/vendor/user_aliases.cmd.example
similarity index 100%
rename from vendor/user-aliases.cmd.example
rename to vendor/user_aliases.cmd.example