mirror of
https://github.com/cmderdev/cmder.git
synced 2025-06-15 06:07:50 +08:00
Merge branch 'master' of https://github.com/cmderdev/cmder into history_cmd_index
This commit is contained in:
907
vendor/ConEmu.xml.default
vendored
Normal file
907
vendor/ConEmu.xml.default
vendored
Normal 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 "%3""/>
|
||||
<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="<%c> %s"/>
|
||||
<value name="TabEditor" type="string" data="<%c.%i>{%s}"/>
|
||||
<value name="TabEditorModified" type="string" data="<%c.%i>[%s] *"/>
|
||||
<value name="TabViewer" type="string" data="<%c.%i>[%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>ConEmuUpdate.info && date /t>>ConEmuUpdate.info && time /t>>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("cmd")"/>
|
||||
<value name="KeyMacro02" type="dword" data="0012a032"/>
|
||||
<value name="KeyMacro02.Text" type="string" data="Task("PowerShell")"/>
|
||||
<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("PowerShell as Admin")"/>
|
||||
<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 "%CMDER_ROOT%\icons\cmder.ico""/>
|
||||
<value name="Cmd1" type="string" data="*cmd /k ""%ConEmuDir%\..\init.bat" ""/>
|
||||
<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 "%CMDER_ROOT%\icons\cmder.ico""/>
|
||||
<value name="Cmd1" type="string" data="cmd /k ""%ConEmuDir%\..\init.bat" ""/>
|
||||
<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 "%CMDER_ROOT%\icons\cmder.ico""/>
|
||||
<value name="Cmd1" type="string" data="*PowerShell -ExecutionPolicy Bypass -NoLogo -NoProfile -NoExit -Command "Invoke-Expression 'Import-Module ''%ConEmuDir%\..\profile.ps1'''""/>
|
||||
<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 "%CMDER_ROOT%\icons\cmder.ico""/>
|
||||
<value name="Cmd1" type="string" data="PowerShell -ExecutionPolicy Bypass -NoLogo -NoProfile -NoExit -Command "Invoke-Expression 'Import-Module ''%ConEmuDir%\..\profile.ps1'''""/>
|
||||
<value name="Cmd2" type="string" data=""%CMDER_ROOT%\vendor\git-for-windows\git-bash.exe""/>
|
||||
<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 "%ConEmuDir%\..\git-for-windows\usr\share\git\git-for-windows.ico""/>
|
||||
<value name="Cmd1" type="string" data="*"%ConEmuDir%\..\git-for-windows\usr\bin\mintty.exe" /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 "%ConEmuDir%\..\git-for-windows\usr\share\git\git-for-windows.ico""/>
|
||||
<value name="Cmd1" type="string" data=""%ConEmuDir%\..\git-for-windows\usr\bin\mintty.exe" /bin/bash -l"/>
|
||||
<value name="Active" type="long" data="0"/>
|
||||
<value name="Count" type="long" data="1"/>
|
||||
<value name="Cmd2" type="string" data=""%CMDER_ROOT%vendor\git-for-windows\usr\bin\mintty.exe" /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 "%CMDER_ROOT%\icons\cmder.ico""/>
|
||||
<value name="Active" type="long" data="0"/>
|
||||
<value name="Count" type="long" data="1"/>
|
||||
<value name="Cmd1" type="string" data="*cmd /c ""%ConEmuDir%\..\git-for-windows\bin\bash" --login -i""/>
|
||||
</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 "%CMDER_ROOT%\icons\cmder.ico""/>
|
||||
<value name="Cmd1" type="string" data="cmd /c ""%ConEmuDir%\..\git-for-windows\bin\bash" --login -i""/>
|
||||
<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%" & %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>
|
131
vendor/bin/alias.cmd
vendored
Normal file
131
vendor/bin/alias.cmd
vendored
Normal 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 | %WINDIR%\System32\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
|
||||
%WINDIR%\System32\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
|
||||
%WINDIR%\System32\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|%WINDIR%\System32\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
135
vendor/bin/cexec.cmd
vendored
Normal 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% | %WINDIR%\System32\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
41
vendor/bin/cmder_diag.cmd
vendored
Normal 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
39
vendor/bin/cmder_diag.ps1
vendored
Normal 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
39
vendor/bin/cmder_diag.sh
vendored
Normal 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
22
vendor/bin/timer.cmd
vendored
Normal 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)
|
324
vendor/clink.lua
vendored
324
vendor/clink.lua
vendored
@ -3,9 +3,10 @@
|
||||
-- !!! 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
|
||||
-- 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)
|
||||
@ -13,26 +14,60 @@ 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.
|
||||
-- Makes a string safe to use as the replacement in string.gsub
|
||||
---
|
||||
function set_prompt_filter()
|
||||
-- orig: $E[1;32;40m$P$S{git}{hg}$S$_$E[1;30;40m{lamb}$S$E[0m
|
||||
-- color codes: "\x1b[1;37;40m"
|
||||
cwd = clink.get_cwd()
|
||||
prompt = "\x1b[1;32;40m{cwd} {git}{hg} \n\x1b[1;30;40m{lamb} \x1b[0m"
|
||||
new_value = string.gsub(prompt, "{cwd}", cwd)
|
||||
clink.prompt.value = string.gsub(new_value, "{lamb}", "λ")
|
||||
local function verbatim(s)
|
||||
s = string.gsub(s, "%%", "%%%%")
|
||||
return s
|
||||
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
|
||||
-- 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 = "λ"
|
||||
cmder_prompt = string.gsub(cmder_prompt, "{cwd}", verbatim(cwd))
|
||||
|
||||
if env ~= nil then
|
||||
lambda = "("..env..") "..lambda
|
||||
end
|
||||
clink.prompt.value = string.gsub(cmder_prompt, "{lamb}", verbatim(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)
|
||||
@ -77,10 +112,6 @@ local function get_dir_contains(path, dirname)
|
||||
end
|
||||
end
|
||||
|
||||
local function get_hg_dir(path)
|
||||
return get_dir_contains(path, '.hg')
|
||||
end
|
||||
|
||||
-- adapted from from clink-completions' git.lua
|
||||
local function get_git_dir(path)
|
||||
|
||||
@ -91,12 +122,13 @@ local function get_git_dir(path)
|
||||
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.find_dirs(dir..'/.git') > 0 and dir..'/.git'
|
||||
return clink.is_dir(dir..'/.git') and dir..'/.git'
|
||||
end
|
||||
|
||||
local function has_git_file(dir)
|
||||
@ -122,67 +154,20 @@ local function get_git_dir(path)
|
||||
or (parent_path ~= path and get_git_dir(parent_path) or nil)
|
||||
end
|
||||
|
||||
---
|
||||
-- Find out current branch
|
||||
-- @return {false|mercurial branch name}
|
||||
---
|
||||
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
|
||||
local function get_hg_dir(path)
|
||||
return get_dir_contains(path, '.hg')
|
||||
end
|
||||
|
||||
return false
|
||||
local function get_svn_dir(path)
|
||||
return get_dir_contains(path, '.svn')
|
||||
end
|
||||
|
||||
---
|
||||
-- Get the status of working dir
|
||||
-- @return {bool}
|
||||
-- Find out current branch
|
||||
-- @return {nil|git branch name}
|
||||
---
|
||||
function get_hg_status()
|
||||
for line in io.popen("hg status"):lines() do
|
||||
return false
|
||||
end
|
||||
return true
|
||||
end
|
||||
|
||||
function hg_prompt_filter()
|
||||
|
||||
-- Colors for mercurial status
|
||||
local colors = {
|
||||
clean = "\x1b[1;37;40m",
|
||||
dirty = "\x1b[31;1m",
|
||||
}
|
||||
|
||||
if get_hg_dir() then
|
||||
-- if we're inside of mercurial repo then try to detect current branch
|
||||
local branch = get_hg_branch()
|
||||
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
|
||||
end
|
||||
|
||||
clink.prompt.value = string.gsub(clink.prompt.value, "{hg}", color.."("..branch..")")
|
||||
return false
|
||||
end
|
||||
end
|
||||
|
||||
-- No mercurial present or not in mercurial file
|
||||
clink.prompt.value = string.gsub(clink.prompt.value, "{hg}", "")
|
||||
return false
|
||||
end
|
||||
|
||||
---
|
||||
-- Find out current branch
|
||||
-- @return {nil|git branch name}
|
||||
---
|
||||
function get_git_branch(git_dir)
|
||||
local git_dir = git_dir or get_git_dir()
|
||||
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
|
||||
@ -195,44 +180,129 @@ function get_git_branch(git_dir)
|
||||
-- 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
|
||||
|
||||
---
|
||||
-- Get the status of working dir
|
||||
-- @return {bool}
|
||||
-- Find out current branch
|
||||
-- @return {false|mercurial branch name}
|
||||
---
|
||||
function get_git_status()
|
||||
local file = io.popen("git status --no-lock-index --porcelain 2>nul")
|
||||
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
|
||||
|
||||
function git_prompt_filter()
|
||||
---
|
||||
-- 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[31;1m",
|
||||
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
|
||||
if get_git_status() then
|
||||
local gitStatus = get_git_status()
|
||||
local gitConflict = get_git_conflict()
|
||||
|
||||
color = colors.dirty
|
||||
if gitStatus then
|
||||
color = colors.clean
|
||||
else
|
||||
color = colors.dirty
|
||||
end
|
||||
|
||||
clink.prompt.value = string.gsub(clink.prompt.value, "{git}", color.."("..branch..")")
|
||||
if gitConflict then
|
||||
color = colors.conflict
|
||||
end
|
||||
|
||||
clink.prompt.value = string.gsub(clink.prompt.value, "{git}", color.."("..verbatim(branch)..")")
|
||||
return false
|
||||
end
|
||||
end
|
||||
@ -242,10 +312,79 @@ function git_prompt_filter()
|
||||
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",
|
||||
}
|
||||
|
||||
local pipe = io.popen("hg branch 2>&1")
|
||||
local output = pipe:read('*all')
|
||||
local rc = { pipe:close() }
|
||||
|
||||
-- strip the trailing newline from the branch name
|
||||
local n = #output
|
||||
while n > 0 and output:find("^%s", n) do n = n - 1 end
|
||||
local branch = output:sub(1, n)
|
||||
|
||||
if branch ~= nil and
|
||||
string.sub(branch,1,7) ~= "abort: " and -- not an HG working copy
|
||||
(not string.find(branch, "is not recognized")) then -- 'hg' not in path
|
||||
local color = colors.clean
|
||||
|
||||
local pipe = io.popen("hg status -amrd 2>&1")
|
||||
local output = pipe:read('*all')
|
||||
local rc = { pipe:close() }
|
||||
|
||||
if output ~= nil and output ~= "" then color = colors.dirty end
|
||||
result = color .. "(" .. branch .. ")"
|
||||
end
|
||||
end
|
||||
|
||||
clink.prompt.value = string.gsub(clink.prompt.value, "{hg}", verbatim(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.."("..verbatim(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
|
||||
@ -258,3 +397,12 @@ for _,lua_module in ipairs(clink.find_files(completions_dir..'*.lua')) do
|
||||
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
|
||||
|
116
vendor/clink_settings.default
vendored
Normal file
116
vendor/clink_settings.default
vendored
Normal file
@ -0,0 +1,116 @@
|
||||
# name: Pressing Ctrl-D exits session
|
||||
# type: bool
|
||||
# Ctrl-D exits cmd.exe when it is pressed on an empty line.
|
||||
ctrld_exits = 1
|
||||
|
||||
# name: Toggle if pressing 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
|
||||
# 0 = PATH only
|
||||
# 1 = PATH and CWD
|
||||
# 2 = PATH, CWD, and directories
|
||||
# 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. A value of -1 will disable executable matching completely.
|
||||
exec_match_style = 2
|
||||
|
||||
# name: Whitespace prefix matches files
|
||||
# type: bool
|
||||
# If the line begins with whitespace then Clink bypasses executable matching and
|
||||
# will match all files and directories instead.
|
||||
space_prefix_match_files = 1
|
||||
|
||||
# name: Colour of the prompt
|
||||
# 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
|
||||
# 0 = Disabled
|
||||
# 1 = Answer 'Y'
|
||||
# 2 = Answer 'N'
|
||||
# Automatically answers cmd.exe's 'Terminate batch job (Y/N)?' prompts. 0 =
|
||||
# disabled, 1 = answer 'Y', 2 = answer 'N'.
|
||||
terminate_autoanswer = 0
|
||||
|
||||
# name: Lines of history saved to disk
|
||||
# type: int
|
||||
# When set to a positive integer this is the number of lines of history that
|
||||
# will persist when Clink saves the command history to disk. Use 0 for infinite
|
||||
# lines and <0 to disable history persistence.
|
||||
history_file_lines = 10000
|
||||
|
||||
# name: Skip adding lines prefixed with whitespace
|
||||
# type: bool
|
||||
# Ignore lines that begin with whitespace when adding lines in to the history.
|
||||
history_ignore_space = 0
|
||||
|
||||
# name: Controls how duplicate entries are handled
|
||||
# type: enum
|
||||
# 0 = Always add
|
||||
# 1 = Ignore
|
||||
# 2 = Erase previous
|
||||
# If a line is a duplicate of an existing history entry Clink will erase the
|
||||
# duplicate when this is set 2. A value of 1 will not add duplicates to the
|
||||
# history and a value of 0 will always add lines. Note that history is not
|
||||
# deduplicated when reading/writing to disk.
|
||||
history_dupe_mode = 2
|
||||
|
||||
# name: Read/write history file each line edited
|
||||
# type: bool
|
||||
# When non-zero the history will be read from disk before editing a new line and
|
||||
# written to disk afterwards.
|
||||
history_io = 1
|
||||
|
||||
# name: Sets how command history expansion is applied
|
||||
# type: enum
|
||||
# 0 = Off
|
||||
# 1 = On
|
||||
# 2 = Not in single quotes
|
||||
# 3 = Not in double quote
|
||||
# 4 = Not in any quotes
|
||||
# The '!' character in an entered line can be interpreted to introduce words
|
||||
# from the history. This can be enabled and disable by setting this value to 1
|
||||
# or 0. Values or 2, 3 or 4 will skip any ! character quoted in single, double,
|
||||
# or both quotes respectively.
|
||||
history_expand_mode = 3
|
||||
|
||||
# name: Support Windows' Ctrl-Alt substitute for AltGr
|
||||
# type: bool
|
||||
# Windows provides Ctrl-Alt as a substitute for AltGr, historically to support
|
||||
# keyboards with no AltGr key. This may collide with some of Readline's
|
||||
# bindings.
|
||||
use_altgr_substitute = 1
|
||||
|
||||
# name: Strips CR and LF chars on paste
|
||||
# type: enum
|
||||
# 0 = Paste unchanged
|
||||
# 1 = Strip
|
||||
# 2 = As space
|
||||
# Setting this to a value >0 will make Clink strip CR and LF characters from
|
||||
# text pasted into the current line. Set this to 1 to strip all newline
|
||||
# characters and 2 to replace them with a space.
|
||||
strip_crlf_on_paste = 2
|
||||
|
||||
# name: Enables basic ANSI escape code support
|
||||
# type: bool
|
||||
# When printing the prompt, Clink has basic built-in support for SGR ANSI escape
|
||||
# codes to control the text colours. This is automatically disabled if a third
|
||||
# party tool is detected that also provides this facility. It can also be
|
||||
# disabled by setting this to 0.
|
||||
ansi_code_support = 1
|
||||
|
74
vendor/cmder.sh
vendored
74
vendor/cmder.sh
vendored
@ -1,12 +1,26 @@
|
||||
# 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.
|
||||
#
|
||||
# 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.
|
||||
|
||||
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
|
||||
@ -31,40 +45,52 @@ if [[ ! "$PATH" =~ "${GIT_INSTALL_ROOT}/bin:" ]] ; then
|
||||
PATH=${GIT_INSTALL_ROOT}/bin:$PATH
|
||||
fi
|
||||
|
||||
PATH=${CMDER_ROOT}/bin:$PATH:${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
|
||||
mkdir -p "${CMDER_ROOT}/config/profile.d"
|
||||
fi
|
||||
|
||||
if [ -d "${CMDER_ROOT}/config/profile.d" ] ; then
|
||||
unset profile_d_scripts
|
||||
pushd ${CMDER_ROOT}/config/profile.d >/dev/null
|
||||
profile_d_scripts=$(ls ${CMDER_ROOT}/config/profile.d/*.sh 2>/dev/null)
|
||||
|
||||
if [ ! "x${profile_d_scripts}" = "x" ] ; then
|
||||
for x in ${profile_d_scripts} ; do
|
||||
# echo Sourcing "${x}"...
|
||||
. $x
|
||||
done
|
||||
fi
|
||||
popd >/dev/null
|
||||
runProfiled "${CMDER_ROOT}/config/profile.d"
|
||||
fi
|
||||
|
||||
if [ -f ${CMDER_ROOT}/config/user-profile.sh ] ; then
|
||||
. ${CMDER_ROOT}/config/user-profile.sh
|
||||
else
|
||||
echo Creating user startup file: "${CMDER_ROOT}/config/user-profile.sh"
|
||||
cat <<-eof >"${CMDER_ROOT}/config/user-profile.sh"
|
||||
# use this file to run your own startup commands for msys2 bash'
|
||||
if [ -d "${CMDER_USER_CONFIG}/profile.d" ] ; then
|
||||
runProfiled "${CMDER_USER_CONFIG}/profile.d"
|
||||
fi
|
||||
|
||||
# To add a new vendor to the path, do something like:
|
||||
# export PATH=\${CMDER_ROOT}/vendor/whatever:\${PATH}
|
||||
eof
|
||||
|
||||
# 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}"
|
||||
cp "${CMDER_ROOT}/vendor/user_profile.sh.default" "${CmderUserProfilePath}"
|
||||
fi
|
||||
|
||||
# Source the users .bashrc file if it exists
|
||||
|
101
vendor/cmder_exinit
vendored
101
vendor/cmder_exinit
vendored
@ -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,13 +15,32 @@
|
||||
# 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
|
||||
# # 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
|
||||
|
||||
@ -39,48 +58,56 @@ 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}
|
||||
|
||||
|
||||
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
|
||||
mkdir -p "${CMDER_ROOT}/config/profile.d"
|
||||
fi
|
||||
|
||||
if [ -d "${CMDER_ROOT}/config/profile.d" ] ; then
|
||||
unset profile_d_scripts
|
||||
pushd ${CMDER_ROOT}/config/profile.d >/dev/null
|
||||
if [ ! "x${ZSH_VERSION}" = "x" ]; then
|
||||
profile_d_scripts=$(ls ${CMDER_ROOT}/config/profile.d/*.zsh 2>/dev/null)
|
||||
elif [ ! "x${BASH_VERSION}" = "x" ]; then
|
||||
profile_d_scripts=$(ls ${CMDER_ROOT}/config/profile.d/*.sh 2>/dev/null)
|
||||
fi
|
||||
|
||||
if [ ! "x${profile_d_scripts}" = "x" ] ; then
|
||||
for x in ${profile_d_scripts} ; do
|
||||
# echo Sourcing "${x}"...
|
||||
. $x
|
||||
done
|
||||
fi
|
||||
popd >/dev/null
|
||||
fi
|
||||
|
||||
if [ -f ${CMDER_ROOT}/config/user-profile.sh ] ; then
|
||||
. ${CMDER_ROOT}/config/user-profile.sh
|
||||
else
|
||||
echo Creating user startup file: "${CMDER_ROOT}/config/user-profile.sh"
|
||||
cat <<-eof >"${CMDER_ROOT}/config/user-profile.sh"
|
||||
# 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
|
||||
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}"
|
||||
cp "${CMDER_ROOT}/vendor/user_profile.sh.default" "${CmderUserProfilePath}"
|
||||
fi
|
||||
fi
|
||||
|
57
vendor/git-prompt.sh
vendored
57
vendor/git-prompt.sh
vendored
@ -1,22 +1,39 @@
|
||||
PS1='\[\033]0;$MSYSTEM:${PWD//[^[:ascii:]]/?}\007\]' # set window title
|
||||
PS1="$PS1"'\[\033[32m\]' # change to green
|
||||
PS1="$PS1"'\u@\h ' # user@host<space>
|
||||
PS1="$PS1"'\[\033[33m\]' # change to brownish yellow
|
||||
PS1="$PS1"'\w' # current working directory
|
||||
if test -z "$WINELOADERNOEXEC"
|
||||
if test -f /etc/profile.d/git-sdk.sh
|
||||
then
|
||||
GIT_EXEC_PATH="$(git --exec-path 2>/dev/null)"
|
||||
COMPLETION_PATH="${GIT_EXEC_PATH%/libexec/git-core}"
|
||||
COMPLETION_PATH="${COMPLETION_PATH%/lib/git-core}"
|
||||
COMPLETION_PATH="$COMPLETION_PATH/share/git/completion"
|
||||
if test -f "$COMPLETION_PATH/git-prompt.sh"
|
||||
then
|
||||
. "$COMPLETION_PATH/git-completion.bash"
|
||||
. "$COMPLETION_PATH/git-prompt.sh"
|
||||
PS1="$PS1"'\[\033[36m\]' # change color to cyan
|
||||
PS1="$PS1"'`__git_ps1`' # bash function
|
||||
fi
|
||||
TITLEPREFIX=SDK-${MSYSTEM#MINGW}
|
||||
else
|
||||
TITLEPREFIX=$MSYSTEM
|
||||
fi
|
||||
PS1="$PS1"'\[\033[0m\]' # change color
|
||||
PS1="$PS1"'\n' # new line
|
||||
PS1="$PS1"'λ ' # prompt: always λ
|
||||
|
||||
if test -f ~/.config/git/git-prompt.sh
|
||||
then
|
||||
. ~/.config/git/git-prompt.sh
|
||||
else
|
||||
PS1='\[\033]0;$MSYSTEM:${PWD//[^[:ascii:]]/?}\007\]' # set window title
|
||||
# PS1="$PS1"'\n' # new line
|
||||
PS1="$PS1"'\[\033[32m\]' # change to green
|
||||
PS1="$PS1"'\u@\h ' # user@host<space>
|
||||
# PS1="$PS1"'\[\033[35m\]' # change to purple
|
||||
# PS1="$PS1"'$MSYSTEM ' # show MSYSTEM
|
||||
PS1="$PS1"'\[\033[33m\]' # change to brownish yellow
|
||||
PS1="$PS1"'\w' # current working directory
|
||||
if test -z "$WINELOADERNOEXEC"
|
||||
then
|
||||
GIT_EXEC_PATH="$(git --exec-path 2>/dev/null)"
|
||||
COMPLETION_PATH="${GIT_EXEC_PATH%/libexec/git-core}"
|
||||
COMPLETION_PATH="${COMPLETION_PATH%/lib/git-core}"
|
||||
COMPLETION_PATH="$COMPLETION_PATH/share/git/completion"
|
||||
if test -f "$COMPLETION_PATH/git-prompt.sh"
|
||||
then
|
||||
. "$COMPLETION_PATH/git-completion.bash"
|
||||
. "$COMPLETION_PATH/git-prompt.sh"
|
||||
PS1="$PS1"'\[\033[36m\]' # change color to cyan
|
||||
PS1="$PS1"'`__git_ps1`' # bash function
|
||||
fi
|
||||
fi
|
||||
PS1="$PS1"'\[\033[0m\]' # change color
|
||||
PS1="$PS1"'\n' # new line
|
||||
PS1="$PS1"'λ ' # prompt: always λ
|
||||
fi
|
||||
|
||||
MSYS2_PS1="$PS1" # for detection by MSYS2 SDK's bash.basrc
|
||||
|
440
vendor/init.bat
vendored
440
vendor/init.bat
vendored
@ -1,38 +1,158 @@
|
||||
@echo off
|
||||
|
||||
set CMDER_INIT_START=%time%
|
||||
|
||||
:: Init Script for cmd.exe
|
||||
:: 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
|
||||
|
||||
:: Set to > 0 for verbose output to aid in debugging.
|
||||
if not defined verbose-output ( set verbose-output=0 )
|
||||
:: 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
|
||||
:: Add *nix tools to end of path. 0 turns off *nix tools.
|
||||
set nix_tools=1
|
||||
set "CMDER_USER_FLAGS= "
|
||||
|
||||
:: Find root dir
|
||||
if not defined CMDER_ROOT (
|
||||
for /f "delims=" %%i in ("%ConEmuDir%\..\..") do set "CMDER_ROOT=%%~fi"
|
||||
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 '\'
|
||||
:: Remove trailing '\' from %CMDER_ROOT%
|
||||
if "%CMDER_ROOT:~-1%" == "\" SET "CMDER_ROOT=%CMDER_ROOT:~0,-1%"
|
||||
|
||||
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"=="/nix_tools" (
|
||||
if "%2" equ "0" (
|
||||
REM Do not add *nix tools to path
|
||||
set nix_tools=0
|
||||
shift
|
||||
) else if "%2" equ "1" (
|
||||
REM Add *nix tools to end of path
|
||||
set nix_tools=1
|
||||
shift
|
||||
) else if "%2" equ "2" (
|
||||
REM Add *nix tools to front of path
|
||||
set nix_tools=2
|
||||
shift
|
||||
)
|
||||
) 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
|
||||
)
|
||||
|
||||
:: Tell the user about the clink config files...
|
||||
if not exist "%CMDER_ROOT%\config\settings" (
|
||||
set clink.history_io=3
|
||||
echo Generating clink initial settings in "%CMDER_ROOT%\config\settings"
|
||||
echo Additional *.lua files in "%CMDER_ROOT%\config" are loaded on startup.
|
||||
)
|
||||
if "%CMDER_CLINK%" == "1" (
|
||||
%lib_console% verbose_output "Injecting Clink!"
|
||||
|
||||
:: Run clink
|
||||
"%CMDER_ROOT%\vendor\clink\clink_x%architecture%.exe" inject --quiet --profile "%CMDER_ROOT%\config" --scripts "%CMDER_ROOT%\vendor"
|
||||
:: Run clink
|
||||
if defined CMDER_USER_CONFIG (
|
||||
if not exist "%CMDER_USER_CONFIG%\settings" (
|
||||
echo Generating clink initial settings in "%CMDER_USER_CONFIG%\settings"
|
||||
copy "%CMDER_ROOT%\vendor\clink_settings.default" "%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"
|
||||
copy "%CMDER_ROOT%\vendor\clink_settings.default" "%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
|
||||
|
||||
@ -44,25 +164,68 @@ if not defined TERM set TERM=cygwin
|
||||
:: * if the users points as to a specific git, use that
|
||||
:: * test if a git is in path and if yes, use that
|
||||
:: * last, use our vendored git
|
||||
:: also check that we have a recent enough version of git (e.g. test for GIT\cmd\git.exe)
|
||||
:: 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 :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
|
||||
)
|
||||
)
|
||||
|
||||
%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"
|
||||
%lib_git% validate_version VENDORED %GIT_VERSION_VENDORED%
|
||||
|
||||
:: check if git is in path...
|
||||
setlocal enabledelayedexpansion
|
||||
for /F "delims=" %%F in ('where git.exe 2^>nul') do @(
|
||||
for /F "delims=" %%F in ('where git.exe 2^>nul') do (
|
||||
:: get the absolute path to the user provided git binary
|
||||
pushd %%~dpF
|
||||
cd ..
|
||||
set "test_dir=!CD!"
|
||||
popd
|
||||
if exist "!test_dir!\cmd\git.exe" (
|
||||
set "GIT_INSTALL_ROOT=!test_dir!"
|
||||
set test_dir=
|
||||
goto :FOUND_GIT
|
||||
:: 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 (
|
||||
echo Found old git version in "!test_dir!", but not using...
|
||||
set test_dir=
|
||||
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=
|
||||
)
|
||||
|
||||
)
|
||||
)
|
||||
|
||||
@ -70,121 +233,192 @@ for /F "delims=" %%F in ('where git.exe 2^>nul') do @(
|
||||
:VENDORED_GIT
|
||||
if exist "%CMDER_ROOT%\vendor\git-for-windows" (
|
||||
set "GIT_INSTALL_ROOT=%CMDER_ROOT%\vendor\git-for-windows"
|
||||
call :verbose-output Add the minimal git commands to the front of the path
|
||||
set "PATH=!GIT_INSTALL_ROOT!\cmd;%PATH%"
|
||||
%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
|
||||
call :verbose-output Enhancing PATH with unix commands from git in "%GIT_INSTALL_ROOT%\usr\bin"
|
||||
set "PATH=%PATH%;%GIT_INSTALL_ROOT%\usr\bin;%GIT_INSTALL_ROOT%\usr\share\vim\vim74"
|
||||
if %nix_tools% equ 1 (
|
||||
%lib_console% debug_output init.bat "Preferring Windows commands"
|
||||
set "path_position=append"
|
||||
) else (
|
||||
%lib_console% debug_output init.bat "Preferring *nix commands"
|
||||
set "path_position="
|
||||
)
|
||||
|
||||
if exist "!GIT_INSTALL_ROOT!\cmd\git.exe" %lib_path% enhance_path "!GIT_INSTALL_ROOT!\cmd" !path_position!
|
||||
if exist "!GIT_INSTALL_ROOT!\mingw32" (
|
||||
%lib_path% enhance_path "!GIT_INSTALL_ROOT!\mingw32\bin" !path_position!
|
||||
) else if exist "!GIT_INSTALL_ROOT!\mingw64" (
|
||||
%lib_path% enhance_path "!GIT_INSTALL_ROOT!\mingw64\bin" !path_position!
|
||||
)
|
||||
|
||||
if %nix_tools% geq 1 (
|
||||
%lib_path% enhance_path "!GIT_INSTALL_ROOT!\usr\bin" !path_position!
|
||||
)
|
||||
|
||||
:: define SVN_SSH so we can use git svn with ssh svn repositories
|
||||
if not defined SVN_SSH set "SVN_SSH=%GIT_INSTALL_ROOT:\=\\%\\bin\\ssh.exe"
|
||||
|
||||
if not defined LANG (
|
||||
:: Find locale.exe: From the git install root, from the path, using the git installed env, or fallback using the env from the path.
|
||||
if not defined git_locale if exist "!GIT_INSTALL_ROOT!\usr\bin\locale.exe" set git_locale="!GIT_INSTALL_ROOT!\usr\bin\locale.exe"
|
||||
if not defined git_locale for /F "delims=" %%F in ('where locale.exe 2^>nul') do (if not defined git_locale set git_locale="%%F")
|
||||
if not defined git_locale if exist "!GIT_INSTALL_ROOT!\usr\bin\env.exe" set git_locale="!GIT_INSTALL_ROOT!\usr\bin\env.exe" /usr/bin/locale
|
||||
if not defined git_locale set git_locale=env /usr/bin/locale
|
||||
for /F "delims=" %%F in ('!git_locale! -uU 2') do (
|
||||
set "LANG=%%F"
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
:NO_GIT
|
||||
endlocal & set "PATH=%PATH%" & set "SVN_SSH=%SVN_SSH%" & set "GIT_INSTALL_ROOT=%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
|
||||
|
||||
:: Enhance Path
|
||||
set "PATH=%CMDER_ROOT%\bin;%PATH%;%CMDER_ROOT%\"
|
||||
: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.
|
||||
if not exist "%CMDER_ROOT%\config\profile.d" (
|
||||
mkdir "%CMDER_ROOT%\config\profile.d"
|
||||
%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"
|
||||
)
|
||||
|
||||
pushd "%CMDER_ROOT%\config\profile.d"
|
||||
for /f "usebackq" %%x in ( `dir /b *.bat *.cmd 2^>nul` ) do (
|
||||
call :verbose-output Calling "%CMDER_ROOT%\config\profile.d\%%x"...
|
||||
call "%CMDER_ROOT%\config\profile.d\%%x"
|
||||
)
|
||||
popd
|
||||
|
||||
:: 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',
|
||||
:: must also be self executing, see '.\user_aliases.cmd.default',
|
||||
:: and be in profile.d folder.
|
||||
set "user-aliases=%CMDER_ROOT%\config\user-aliases.cmd"
|
||||
|
||||
:: The aliases environment variable is used by alias.bat to id
|
||||
:: the default file to store new aliases in.
|
||||
if not defined aliases (
|
||||
set "aliases=%user-aliases%"
|
||||
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"
|
||||
)
|
||||
)
|
||||
|
||||
:: Make sure we have a self-extracting user-aliases.cmd file
|
||||
setlocal enabledelayedexpansion
|
||||
if not exist "%user-aliases%" (
|
||||
echo Creating intial 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 intial user-aliases store in "%user-aliases%"...
|
||||
copy "%CMDER_ROOT%\%user-aliases%" "%user-aliases%.old_format"
|
||||
copy "%CMDER_ROOT%\vendor\user-aliases.cmd.example" "%user-aliases%"
|
||||
)
|
||||
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.default" "%user_aliases%"
|
||||
) else (
|
||||
type "%user_aliases%" | %WINDIR%\System32\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.default" "%user_aliases%"
|
||||
) else (
|
||||
copy "%user_aliases%" "%user_aliases%.old_format"
|
||||
copy "%CMDER_ROOT%\vendor\user_aliases.cmd.default" "%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
|
||||
)
|
||||
|
||||
:: 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%"
|
||||
call "%user_aliases%"
|
||||
|
||||
:: See vendor\git-for-windows\README.portable for why we do this
|
||||
:: Basically we need to execute this post-install.bat because we are
|
||||
:: manually extracting the archive rather than executing the 7z sfx
|
||||
if exist "%CMDER_ROOT%\vendor\git-for-windows\post-install.bat" (
|
||||
call :verbose-output Running Git for Windows one time Post Install....
|
||||
cd /d "%CMDER_ROOT%\vendor\git-for-windows\"
|
||||
"%CMDER_ROOT%\vendor\git-for-windows\git-bash.exe" --no-needs-console --hide --no-cd --command=post-install.bat
|
||||
cd /d %USERPROFILE%
|
||||
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%"
|
||||
|
||||
:: This is either a env variable set by the user or the result of
|
||||
:: cmder.exe setting this variable due to a commandline argument or a "cmder here"
|
||||
if defined CMDER_START (
|
||||
cd /d "%CMDER_START%"
|
||||
)
|
||||
|
||||
|
||||
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"
|
||||
) else (
|
||||
echo Creating user startup file: "%CMDER_ROOT%\config\user-profile.cmd"
|
||||
(
|
||||
echo :: use this file to run your own startup commands
|
||||
echo :: use in front of the command to prevent printing the command
|
||||
echo.
|
||||
echo :: call "%%GIT_INSTALL_ROOT%%/cmd/start-ssh-agent.cmd"
|
||||
echo :: set "PATH=%%CMDER_ROOT%%\vendor\whatever;%%PATH%%"
|
||||
echo.
|
||||
) > "%CMDER_ROOT%\config\user-profile.cmd"
|
||||
%lib_console% debug_output init.bat "Calling - %CMDER_ROOT%\config\user_profile.cmd"
|
||||
call "%CMDER_ROOT%\config\user_profile.cmd"
|
||||
)
|
||||
|
||||
exit /b
|
||||
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
|
||||
%lib_console% debug_output init.bat "Calling - %CMDER_USER_CONFIG%\user_profile.cmd
|
||||
call "%CMDER_USER_CONFIG%\user_profile.cmd"
|
||||
)
|
||||
)
|
||||
|
||||
::
|
||||
:: sub-routines below here
|
||||
::
|
||||
:verbose-output
|
||||
if %verbose-output% gtr 0 echo %*
|
||||
exit /b
|
||||
if not exist "%initialConfig%" (
|
||||
echo Creating user startup file: "%initialConfig%"
|
||||
copy "%CMDER_ROOT%\vendor\user_profile.cmd.default" "%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
|
||||
|
81
vendor/lib/lib_base.cmd
vendored
Normal file
81
vendor/lib/lib_base.cmd
vendored
Normal file
@ -0,0 +1,81 @@
|
||||
@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" ^| %WINDIR%\System32\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% | %WINDIR%\System32\find /i "\cmd.exe" > nul && set "CMDER_SHELL=cmd"
|
||||
echo %comspec% | %WINDIR%\System32\find /i "\tcc.exe" > nul && set "CMDER_SHELL=tcc"
|
||||
echo %comspec% | %WINDIR%\System32\find /i "\tccle" > nul && set "CMDER_SHELL=tccle"
|
||||
|
||||
if not defined CMDER_CLINK (
|
||||
set CMDER_CLINK=1
|
||||
if "%CMDER_SHELL%" equ "tcc" set CMDER_CLINK=0
|
||||
if "%CMDER_SHELL%" equ "tccle" set CMDER_CLINK=0
|
||||
)
|
||||
|
||||
|
||||
if not defined CMDER_ALIASES (
|
||||
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
79
vendor/lib/lib_console.cmd
vendored
Normal 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
168
vendor/lib/lib_git.cmd
vendored
Normal 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
174
vendor/lib/lib_path.cmd
vendored
Normal 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%"|%WINDIR%\System32\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%"|%WINDIR%\System32\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
46
vendor/lib/lib_profile.cmd
vendored
Normal 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
|
||||
|
22
vendor/lib/start-ssh-agent.sh
vendored
Normal file
22
vendor/lib/start-ssh-agent.sh
vendored
Normal file
@ -0,0 +1,22 @@
|
||||
# Copied from https://help.github.com/articles/working-with-ssh-key-passphrases
|
||||
env=~/.ssh/agent.env
|
||||
|
||||
agent_load_env () { test -f "$env" && . "$env" >| /dev/null ; }
|
||||
|
||||
agent_start () {
|
||||
(umask 077; ssh-agent >| "$env")
|
||||
. "$env" >| /dev/null ; }
|
||||
|
||||
agent_load_env
|
||||
|
||||
# agent_run_state: 0=agent running w/ key; 1=agent w/o key; 2= agent not running
|
||||
agent_run_state=$(ssh-add -l >| /dev/null 2>&1; echo $?)
|
||||
|
||||
if [ ! "$SSH_AUTH_SOCK" ] || [ $agent_run_state = 2 ]; then
|
||||
agent_start
|
||||
ssh-add
|
||||
elif [ "$SSH_AUTH_SOCK" ] && [ $agent_run_state = 1 ]; then
|
||||
ssh-add
|
||||
fi
|
||||
|
||||
unset env
|
172
vendor/profile.ps1
vendored
172
vendor/profile.ps1
vendored
@ -2,25 +2,37 @@
|
||||
# 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
|
||||
|
||||
# We do this for Powershell as Admin Sessions because CMDER_ROOT is not beng set.
|
||||
if (! $ENV:CMDER_ROOT ) {
|
||||
$ENV:CMDER_ROOT = resolve-path( $ENV:ConEmuDir + "\..\.." )
|
||||
}
|
||||
|
||||
# Remove trailing '\'
|
||||
$ENV:CMDER_ROOT = (($ENV:CMDER_ROOT).trimend("\"))
|
||||
# !!! 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 $env:PSModulePath.Contains($CmderModulePath) ){
|
||||
if(-not $moduleInstallerAvailable -and -not $env:PSModulePath.Contains($CmderModulePath) ){
|
||||
$env:PSModulePath = $env:PSModulePath.Insert(0, "$CmderModulePath;")
|
||||
}
|
||||
|
||||
@ -72,36 +84,16 @@ function checkGit($Path) {
|
||||
}
|
||||
}
|
||||
|
||||
# Move to the wanted location
|
||||
# This is either a env variable set by the user or the result of
|
||||
# cmder.exe setting this variable due to a commandline argument or a "cmder here"
|
||||
if ( $ENV:CMDER_START ) {
|
||||
Set-Location -Path "$ENV:CMDER_START"
|
||||
}
|
||||
|
||||
if (Get-Module PSReadline -ErrorAction "SilentlyContinue") {
|
||||
Set-PSReadlineOption -ExtraPromptLineCount 1
|
||||
}
|
||||
|
||||
# Enhance Path
|
||||
$env:Path = "$Env:CMDER_ROOT\bin;$env:Path;$Env:CMDER_ROOT"
|
||||
|
||||
# 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 ls *.ps1) {
|
||||
# write-host write-host Sourcing $x
|
||||
. $x
|
||||
}
|
||||
popd
|
||||
$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.
|
||||
# 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.
|
||||
@ -113,53 +105,6 @@ popd
|
||||
checkGit($pwd.ProviderPath)
|
||||
}
|
||||
|
||||
$CmderUserProfilePath = Join-Path $env:CMDER_ROOT "config\user-profile.ps1"
|
||||
if(Test-Path $CmderUserProfilePath) {
|
||||
# Create this file and place your own command in there.
|
||||
. "$CmderUserProfilePath"
|
||||
} else {
|
||||
# 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
|
||||
|
||||
<#
|
||||
This scriptblock runs every time the prompt is returned.
|
||||
Explicitly use functions from MS namespace to protect from being overridden in the user session.
|
||||
@ -176,6 +121,75 @@ Custom prompt functions are loaded in as constants to get the same behaviour
|
||||
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 *.psm1) {
|
||||
# write-host write-host Sourcing $x
|
||||
Import-Module $x
|
||||
}
|
||||
|
||||
foreach ($x in Get-ChildItem *.ps1) {
|
||||
# write-host write-host Sourcing $x
|
||||
. $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 *.psm1) {
|
||||
# write-host write-host Sourcing $x
|
||||
Import-Module $x
|
||||
}
|
||||
|
||||
foreach ($x in Get-ChildItem *.ps1) {
|
||||
# write-host write-host Sourcing $x
|
||||
. $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.
|
||||
. "$CmderUserProfilePath" # user_profile.ps1 is not a module DO NOT USE import-module
|
||||
}
|
||||
|
||||
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) {
|
||||
. "$CmderUserProfilePath" # user_profile.ps1 is not a module DO NOT USE import-module
|
||||
}
|
||||
}
|
||||
|
||||
if (! (Test-Path $CmderUserProfilePath) ) {
|
||||
Write-Host -BackgroundColor Darkgreen -ForegroundColor White "First Run: Creating user startup file: $CmderUserProfilePath"
|
||||
Copy-Item "$env:CMDER_ROOT\vendor\user_profile.ps1.default" -Destination $CmderUserProfilePath
|
||||
}
|
||||
|
||||
# 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
|
||||
|
81
vendor/psmodules/PsGet/PsGet.psm1
vendored
81
vendor/psmodules/PsGet/PsGet.psm1
vendored
@ -9,8 +9,16 @@
|
||||
#region Setup
|
||||
|
||||
Write-Debug 'Set up the global scope config variables.'
|
||||
$global:UserModuleBasePath = Join-Path -Path ([Environment]::GetFolderPath('MyDocuments')) -ChildPath 'WindowsPowerShell\Modules'
|
||||
$global:CommonGlobalModuleBasePath = Join-Path -Path $env:CommonProgramFiles -ChildPath 'Modules'
|
||||
if ([Environment]::GetFolderPath('MyDocuments')) {
|
||||
$global:UserModuleBasePath = Join-Path -Path ([Environment]::GetFolderPath('MyDocuments')) -ChildPath 'WindowsPowerShell\Modules'
|
||||
}
|
||||
else {
|
||||
# Support scenarios where PSGet is running without a MyDocuments special folder (e.g. executing within a DSC resource)
|
||||
$global:UserModuleBasePath = Join-Path -Path $env:ProgramFiles -ChildPath 'WindowsPowerShell\Modules'
|
||||
}
|
||||
|
||||
# NOTE: Path changed to align with current MS conventions
|
||||
$global:CommonGlobalModuleBasePath = Join-Path -Path $env:ProgramFiles -ChildPath 'WindowsPowerShell\Modules'
|
||||
|
||||
if (-not (Test-Path -Path:variable:global:PsGetDirectoryUrl)) {
|
||||
$global:PsGetDirectoryUrl = 'https://github.com/psget/psget/raw/master/Directory.xml'
|
||||
@ -96,16 +104,16 @@ Set-Variable -Name PSGET_PSD1 -Value 'PSD1' -Option Constant -Scope Script
|
||||
.PARAMETER DoNotPostInstall
|
||||
If defined, the PostInstallHook is not executed.
|
||||
|
||||
.PARAMERTER PostInstallHook
|
||||
.PARAMETER PostInstallHook
|
||||
Defines the name of a script inside the installed module folder which should be executed after installation.
|
||||
Default: definition in directory file or 'Install.ps1'
|
||||
|
||||
.PARAMETER Force
|
||||
OBSOLATE
|
||||
OBSOLETE
|
||||
Alternative name for 'Update'.
|
||||
|
||||
.PARAMETER Startup
|
||||
OBSOLATE
|
||||
OBSOLETE
|
||||
Alternative name for 'AddToProfile'.
|
||||
|
||||
.LINK
|
||||
@ -349,7 +357,7 @@ function Install-Module {
|
||||
.PARAMETER DoNotPostInstall
|
||||
If defined, the PostInstallHook is not executed.
|
||||
|
||||
.PARAMERTER PostInstallHook
|
||||
.PARAMETER PostInstallHook
|
||||
Defines the name of a script inside the installed module folder which should be executed after installation.
|
||||
Will not be check in combination with -All switch.
|
||||
Default: 'Install.ps1'
|
||||
@ -414,7 +422,7 @@ function Update-Module {
|
||||
|
||||
}
|
||||
else {
|
||||
Install-Module -Module:$Module -Destination:$Destination -ModuleHash:$ModuleHash -Global:$Global -DoNotImport:$DoNotImport -AddToProfile:$AddToProfile -DirectoryUrl:$DirectoryUrl -Updat -DoNotPostInstall:$DoNotPostInstall -PostInstallHook:$PostInstallHook
|
||||
Install-Module -Module:$Module -Destination:$Destination -ModuleHash:$ModuleHash -Global:$Global -DoNotImport:$DoNotImport -AddToProfile:$AddToProfile -DirectoryUrl:$DirectoryUrl -Update -DoNotPostInstall:$DoNotPostInstall -PostInstallHook:$PostInstallHook
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -480,7 +488,9 @@ function Get-PsGetModuleInfo {
|
||||
|
||||
try {
|
||||
Write-Verbose "Downloading modules repository from $DirectoryUrl"
|
||||
$repoRaw = $client.DownloadString($DirectoryUrl)
|
||||
$stream = $client.OpenRead($DirectoryUrl)
|
||||
$repoXmlTemp = New-Object -TypeName System.Xml.XmlDocument
|
||||
$repoXmlTemp.Load($stream)
|
||||
$StatusCode = 200
|
||||
}
|
||||
catch [System.Net.WebException] {
|
||||
@ -489,7 +499,7 @@ function Get-PsGetModuleInfo {
|
||||
}
|
||||
|
||||
if ($StatusCode -eq 200) {
|
||||
$repoXml = [xml]$repoRaw
|
||||
$repoXml = [xml]$repoXmlTemp
|
||||
|
||||
$CacheEntry.ETag = $client.ResponseHeaders['ETag']
|
||||
if (-not (Test-Path -Path $PsGetDataPath)) {
|
||||
@ -629,7 +639,7 @@ function Get-PsGetModuleHash {
|
||||
.PARAMETER DoNotPostInstall
|
||||
If defined, the PostInstallHook is not executed.
|
||||
|
||||
.PARAMERTER PostInstallHook
|
||||
.PARAMETER PostInstallHook
|
||||
Defines the name of a script inside the installed module folder which should be executed after installation.
|
||||
Default: definition in directory file or 'Install.ps1'
|
||||
#>
|
||||
@ -754,7 +764,7 @@ function Install-ModuleFromDirectory {
|
||||
.PARAMETER DoNotPostInstall
|
||||
If defined, the PostInstallHook is not executed.
|
||||
|
||||
.PARAMERTER PostInstallHook
|
||||
.PARAMETER PostInstallHook
|
||||
Defines the name of a script inside the installed module folder which should be executed after installation.
|
||||
Default: 'Install.ps1'
|
||||
#>
|
||||
@ -863,7 +873,7 @@ function Install-ModuleFromWeb {
|
||||
.PARAMETER DoNotPostInstall
|
||||
If defined, the PostInstallHook is not executed.
|
||||
|
||||
.PARAMERTER PostInstallHook
|
||||
.PARAMETER PostInstallHook
|
||||
Defines the name of a script inside the installed module folder which should be executed after installation.
|
||||
Default: 'Install.ps1'
|
||||
#>
|
||||
@ -1010,7 +1020,7 @@ function Install-ModuleFromLocal {
|
||||
.PARAMETER DoNotPostInstall
|
||||
If defined, the PostInstallHook is not executed.
|
||||
|
||||
.PARAMERTER PostInstallHook
|
||||
.PARAMETER PostInstallHook
|
||||
Defines the name of a script inside the installed module folder which should be executed after installation.
|
||||
Default: 'Install.ps1'
|
||||
#>
|
||||
@ -1311,6 +1321,13 @@ function Import-ModuleGlobally {
|
||||
Write-Verbose "Importing installed module '$ModuleName' from '$($installedModule.ModuleBase)'"
|
||||
Import-Module -Name $ModuleBase -Global -Force:$Force
|
||||
|
||||
# For psget no further checks are needed and their execution cause
|
||||
# an error for the update process of 'psget'
|
||||
# https://github.com/psget/psget/issues/186
|
||||
if ($ModuleName -eq 'PsGet') {
|
||||
return
|
||||
}
|
||||
|
||||
$IdentityExtension = [System.IO.Path]::GetExtension((Get-ModuleFile -Path $ModuleBase -ModuleName $ModuleName))
|
||||
if ($IdentityExtension -eq '.dll') {
|
||||
# import module twice for binary modules to workaround PowerShell bug:
|
||||
@ -1514,7 +1531,7 @@ function Invoke-DownloadModuleFromWeb {
|
||||
.PARAMETER DoNotPostInstall
|
||||
If defined, the PostInstallHook is not executed.
|
||||
|
||||
.PARAMERTER PostInstallHook
|
||||
.PARAMETER PostInstallHook
|
||||
Defines the name of a script inside the installed module folder which should be executed after installation.
|
||||
#>
|
||||
function Install-ModuleToDestination {
|
||||
@ -1628,7 +1645,7 @@ function Install-ModuleToDestination {
|
||||
|
||||
$isDestinationInPSModulePath = $env:PSModulePath.Contains($Destination)
|
||||
if ($isDestinationInPSModulePath) {
|
||||
if (-not (Get-Module $ModuleName -ListAvailable)) {
|
||||
if (-not (Get-Module $InstallWithModuleName -ListAvailable)) {
|
||||
throw 'For some unexpected reasons module was not installed.'
|
||||
}
|
||||
}
|
||||
@ -1639,14 +1656,14 @@ function Install-ModuleToDestination {
|
||||
}
|
||||
|
||||
if ($Update) {
|
||||
Write-Host "Module $ModuleName was successfully updated." -Foreground Green
|
||||
Write-Host "Module $InstallWithModuleName was successfully updated." -Foreground Green
|
||||
}
|
||||
else {
|
||||
Write-Host "Module $ModuleName was successfully installed." -Foreground Green
|
||||
Write-Host "Module $InstallWithModuleName was successfully installed." -Foreground Green
|
||||
}
|
||||
|
||||
if (-not $DoNotImport) {
|
||||
Import-ModuleGlobally -ModuleName:$ModuleName -ModuleBase:$targetFolderPath -Force:$Update
|
||||
Import-ModuleGlobally -ModuleName:$InstallWithModuleName -ModuleBase:$targetFolderPath -Force:$Update
|
||||
}
|
||||
|
||||
if ($isDestinationInPSModulePath -and $AddToProfile) {
|
||||
@ -1657,8 +1674,8 @@ function Install-ModuleToDestination {
|
||||
New-Item $PROFILE -Type File -Force -ErrorAction Stop
|
||||
}
|
||||
|
||||
if (Select-String $PROFILE -Pattern "Import-Module $ModuleName") {
|
||||
Write-Verbose "Import-Module $ModuleName command already in your profile"
|
||||
if (Select-String $PROFILE -Pattern "Import-Module $InstallWithModuleName") {
|
||||
Write-Verbose "Import-Module $InstallWithModuleName command already in your profile"
|
||||
}
|
||||
else {
|
||||
$signature = Get-AuthenticodeSignature -FilePath $PROFILE
|
||||
@ -1667,8 +1684,8 @@ function Install-ModuleToDestination {
|
||||
Write-Error "PsGet cannot modify code-signed profile '$PROFILE'."
|
||||
}
|
||||
else {
|
||||
Write-Verbose "Add Import-Module $ModuleName command to the profile"
|
||||
"`nImport-Module $ModuleName" | Add-Content $PROFILE
|
||||
Write-Verbose "Add Import-Module $InstallWithModuleName command to the profile"
|
||||
"`nImport-Module $InstallWithModuleName" | Add-Content $PROFILE
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1736,7 +1753,7 @@ function Test-ModuleInstalledAndImport {
|
||||
return $false
|
||||
}
|
||||
|
||||
Write-Warning "The module '$ModuleName' was installed at more then one location. Installed paths:`n`t$($installedModule.ModuleBase | Format-List | Out-String)`n'$($firstInstalledModule.ModuleBase)' is the searched destination."
|
||||
Write-Warning "The module '$ModuleName' was installed at more than one location. Installed paths:`n`t$($installedModule.ModuleBase | Format-List | Out-String)`n'$($firstInstalledModule.ModuleBase)' is the searched destination."
|
||||
$installedModule = $targetModule
|
||||
}
|
||||
elseif ((Split-Path $installedModule.ModuleBase) -ne $Destination) {
|
||||
@ -1801,7 +1818,7 @@ function Expand-ZipModule {
|
||||
|
||||
# Check if powershell v3+ and .net v4.5 is available
|
||||
$netFailed = $true
|
||||
if ( $PSVersionTable.PSVersion.Major -ge 3 -and (Get-ChildItem -Path 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4' -Recurse | Get-ItemProperty -Name Version | Where-Object { $_.Version -like '4.5*' }) ) {
|
||||
if ( $PSVersionTable.PSVersion.Major -ge 3 -and (Get-ChildItem -Path 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4' -Recurse | Get-ItemProperty -Name Version | Where-Object { $_.Version -like '4.5*' -Or $_.Version -ge '4.5' }) ) {
|
||||
Write-Debug 'Attempting unzip using the .NET Framework...'
|
||||
|
||||
try {
|
||||
@ -1910,14 +1927,20 @@ function Invoke-DownloadNuGetPackage {
|
||||
}
|
||||
|
||||
Write-Verbose "Querying '$Source' repository for package with Id '$NuGetPackageId'"
|
||||
$Url = "{1}Packages()?`$filter=tolower(Id)+eq+'{0}'&`$orderby=Id" -f $NuGetPackageId.ToLower(), $Source
|
||||
Write-Debug "NuGet query url: $Url"
|
||||
|
||||
try {
|
||||
$Url = "{1}Packages()?`$filter=tolower(Id)+eq+'{0}'&`$orderby=Id" -f $NuGetPackageId.ToLower(), $Source
|
||||
Write-Debug "Trying NuGet query url: $Url"
|
||||
$XmlDoc = [xml]$WebClient.DownloadString($Url)
|
||||
}
|
||||
catch {
|
||||
throw "Unable to download from NuGet feed: $($_.Exception.InnerException.Message)"
|
||||
try {
|
||||
$Url = "{1}Packages(Id='{0}')?`$orderby=Id" -f $NuGetPackageId, $Source
|
||||
Write-Debug "Trying NuGet query url: $Url"
|
||||
$XmlDoc = [xml]$WebClient.DownloadString($Url)
|
||||
}
|
||||
catch {
|
||||
throw "Unable to download from NuGet feed: $($_.Exception.InnerException.Message)"
|
||||
}
|
||||
}
|
||||
|
||||
if ($PackageVersion) {
|
||||
@ -2110,7 +2133,7 @@ function TabExpansion {
|
||||
Get-PsGetModuleInfo -ModuleName "$lastword*" | % { $_.Id } | sort -Unique
|
||||
}
|
||||
elseif ( Test-Path -Path Function:\$tabExpansionBackup ) {
|
||||
& $teBackup $line $lastWord
|
||||
& $tabExpansionBackup $line $lastWord
|
||||
}
|
||||
}
|
||||
}
|
||||
|
16
vendor/sources.json
vendored
16
vendor/sources.json
vendored
@ -1,22 +1,22 @@
|
||||
[
|
||||
{
|
||||
"name": "git-for-windows",
|
||||
"version": "v2.10.2.windows.1",
|
||||
"url": "https://github.com/git-for-windows/git/releases/download/v2.10.2.windows.1/PortableGit-2.10.2-32-bit.7z.exe"
|
||||
"version": "v2.21.0.windows.1",
|
||||
"url": "https://github.com/git-for-windows/git/releases/download/v2.21.0.windows.1/PortableGit-2.21.0-64-bit.7z.exe"
|
||||
},
|
||||
{
|
||||
"name": "clink",
|
||||
"version": "0.4.8",
|
||||
"url": "https://github.com/mridgers/clink/releases/download/0.4.8/clink_0.4.8.zip"
|
||||
"version": "0.4.9",
|
||||
"url": "https://github.com/mridgers/clink/releases/download/0.4.9/clink_0.4.9.zip"
|
||||
},
|
||||
{
|
||||
"name": "conemu-maximus5",
|
||||
"version": "161022",
|
||||
"url": "https://github.com/Maximus5/ConEmu/releases/download/v16.10.22/ConEmuPack.161022.7z"
|
||||
"version": "180626",
|
||||
"url": "https://github.com/Maximus5/ConEmu/releases/download/v18.06.26/ConEmuPack.180626.7z"
|
||||
},
|
||||
{
|
||||
"name": "clink-completions",
|
||||
"version": "0.3.1",
|
||||
"url": "https://github.com/vladimir-kotikov/clink-completions/archive/0.3.1.zip"
|
||||
"version": "0.3.3",
|
||||
"url": "https://github.com/vladimir-kotikov/clink-completions/archive/0.3.3.zip"
|
||||
}
|
||||
]
|
||||
|
19
vendor/user_profile.cmd.default
vendored
Normal file
19
vendor/user_profile.cmd.default
vendored
Normal file
@ -0,0 +1,19 @@
|
||||
:: use this file to run your own startup commands
|
||||
:: use in front of the command to prevent printing the command
|
||||
|
||||
:: uncomment this to have the ssh agent load when cmder starts
|
||||
:: call "%GIT_INSTALL_ROOT%/cmd/start-ssh-agent.cmd" /k exit
|
||||
|
||||
:: uncomment the next two lines to use pageant as the ssh authentication agent
|
||||
:: SET SSH_AUTH_SOCK=/tmp/.ssh-pageant-auth-sock
|
||||
:: call "%GIT_INSTALL_ROOT%/cmd/start-ssh-pageant.cmd"
|
||||
|
||||
:: you can add your plugins to the cmder path like so
|
||||
:: set "PATH=%CMDER_ROOT%\vendor\whatever;%PATH%"
|
||||
|
||||
:: arguments in this batch are passed from init.bat, you can quickly parse them like so:
|
||||
:: more useage can be seen by typing "cexec /?"
|
||||
|
||||
:: %ccall% "/customOption" "command/program"
|
||||
|
||||
@echo off
|
25
vendor/user_profile.ps1.default
vendored
Normal file
25
vendor/user_profile.ps1.default
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
# 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>
|
||||
|
7
vendor/user_profile.sh.default
vendored
Normal file
7
vendor/user_profile.sh.default
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
# 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}
|
||||
|
||||
# Uncomment this to have the ssh agent load with the first bash terminal
|
||||
# . "${CMDER_ROOT}/vendor/lib/start-ssh-agent.sh"
|
Reference in New Issue
Block a user