commit
b47b6414c8
1 changed files with 100 additions and 4 deletions
|
@ -21,18 +21,104 @@ function Invoke-Starship-PreCommand {
|
||||||
Invoke-Expression (&starship init powershell)
|
Invoke-Expression (&starship init powershell)
|
||||||
$ENV:STARSHIP_CONFIG = "$HOME\.config\starship.toml"
|
$ENV:STARSHIP_CONFIG = "$HOME\.config\starship.toml"
|
||||||
|
|
||||||
# for chezmoi
|
# home_util shortcut
|
||||||
$Editor = "C:\Users\Owner\AppData\Local\Programs\Microsoft VS Code\Code.exe"
|
$home_util_path = "~\Documents\macro\ahk"
|
||||||
|
function home_util {
|
||||||
|
& (Join-Path -Path $home_util_path -ChildPath "home_util.exe")
|
||||||
|
}
|
||||||
|
|
||||||
# oh my posh
|
# change encoding
|
||||||
# oh-my-posh --init --shell pwsh --config ~/AppData/Local/Programs/oh-my-posh/themes/capr4n.omp.json | Invoke-Expression
|
# ref: https://qiita.com/e4rfx/items/3772ecb58b6918ed5348
|
||||||
|
# 文字エンコードをUTF8に設定する
|
||||||
|
function Set-UTF8 {
|
||||||
|
<#
|
||||||
|
.SYNOPSIS
|
||||||
|
Sets powershell encoding to UTF-8.
|
||||||
|
|
||||||
|
.DESCRIPTION
|
||||||
|
Sets powershell encodings to UTF-8.
|
||||||
|
To remove this settings, use Remove-EncodingSettings.
|
||||||
|
To set to default, use Reset-EncodingSettings.
|
||||||
|
For more details, see https://qiita.com/e4rfx/items/3772ecb58b6918ed5348.
|
||||||
|
#>
|
||||||
|
$PSDefaultParameterValues['*:Encoding'] = 'utf8'
|
||||||
|
$global:OutputEncoding = [System.Text.Encoding]::UTF8
|
||||||
|
[console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
||||||
|
}
|
||||||
|
# UTF 16 LE
|
||||||
|
# pwsh default encoding
|
||||||
|
# best for redirecting to more.exe, Out-File
|
||||||
|
function Set-UTF16LE {
|
||||||
|
<#
|
||||||
|
.SYNOPSIS
|
||||||
|
Sets powershell encoding to UTF-16 LE.
|
||||||
|
|
||||||
|
.DESCRIPTION
|
||||||
|
Sets powershell encodings to UTF-16 LE(Little Endian), which is the default of pwsh.
|
||||||
|
This function is especially useful when redirecting to more.exe and less and Out-File and etc.
|
||||||
|
To remove this settings, use Remove-EncodingSettings.
|
||||||
|
To set to default, use Reset-EncodingSettings.
|
||||||
|
For more details, see https://qiita.com/e4rfx/items/3772ecb58b6918ed5348.
|
||||||
|
#>
|
||||||
|
$PSDefaultParameterValues['*:Encoding'] = 'unicode'
|
||||||
|
$global:OutputEncoding = [System.Text.Encoding]::Unicode
|
||||||
|
[console]::OutputEncoding = [System.Text.Encoding]::Unicode
|
||||||
|
}
|
||||||
|
# デフォルトパラメータの文字エンコード指定を解除する
|
||||||
|
function Remove-EncodingSettings {
|
||||||
|
<#
|
||||||
|
.SYNOPSIS
|
||||||
|
Remove custom encoding settings.
|
||||||
|
|
||||||
|
.DESCRIPTION
|
||||||
|
Remove custom encoding settings.
|
||||||
|
For more details, see https://qiita.com/e4rfx/items/3772ecb58b6918ed5348.
|
||||||
|
#>
|
||||||
|
$PSDefaultParameterValues.Remove('*:Encoding')
|
||||||
|
}
|
||||||
|
# 文字エンコード設定を初期状態に戻す
|
||||||
|
function Reset-EncodingSettings {
|
||||||
|
<#
|
||||||
|
.SYNOPSIS
|
||||||
|
Sets powershell encoding to default.
|
||||||
|
|
||||||
|
.DESCRIPTION
|
||||||
|
Sets powershell encodings to default(Shift-JIS).
|
||||||
|
For more details, see https://qiita.com/e4rfx/items/3772ecb58b6918ed5348.
|
||||||
|
#>
|
||||||
|
$PSDefaultParameterValues.Remove('*:Encoding')
|
||||||
|
$global:OutputEncoding = [System.Text.Encoding]::ASCII
|
||||||
|
[console]::OutputEncoding = [System.Text.Encoding]::Default
|
||||||
|
}
|
||||||
|
|
||||||
# shortcut to enable ssh-agent
|
# shortcut to enable ssh-agent
|
||||||
function Enable-SshAgent {
|
function Enable-SshAgent {
|
||||||
|
<#
|
||||||
|
.SYNOPSIS
|
||||||
|
starts ssh-agent
|
||||||
|
execute ssh-add to add ssh keys
|
||||||
|
|
||||||
|
.DESCRIPTION
|
||||||
|
Starts ssh-agent.
|
||||||
|
Execute ssh-add to add ssh keys.
|
||||||
|
You just need to execute this once after start up.
|
||||||
|
|
||||||
|
.INPUTS
|
||||||
|
no inputs
|
||||||
|
|
||||||
|
.OUTPUTS
|
||||||
|
no outputs
|
||||||
|
#>
|
||||||
sudo Set-Service -Name ssh-agent -StartupType Manual && Start-Service ssh-agent
|
sudo Set-Service -Name ssh-agent -StartupType Manual && Start-Service ssh-agent
|
||||||
}
|
}
|
||||||
# execute "ssh-add" to add keys
|
# execute "ssh-add" to add keys
|
||||||
|
|
||||||
|
|
||||||
|
# less options
|
||||||
|
$env:LESS = "-M -R -S -W -z-4 -x4"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# chezmoi completion
|
# chezmoi completion
|
||||||
$script = "$HOME\.config\powershell\chezmoi_completion.ps1"
|
$script = "$HOME\.config\powershell\chezmoi_completion.ps1"
|
||||||
if (Test-Path $script) {
|
if (Test-Path $script) {
|
||||||
|
@ -52,3 +138,13 @@ Register-ArgumentCompleter -Native -CommandName winget -ScriptBlock {
|
||||||
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterValue', $_)
|
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterValue', $_)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Import the Chocolatey Profile that contains the necessary code to enable
|
||||||
|
# tab-completions to function for `choco`.
|
||||||
|
# Be aware that if you are missing these lines from your profile, tab completion
|
||||||
|
# for `choco` will not function.
|
||||||
|
# See https://ch0.co/tab-completion for details.
|
||||||
|
$ChocolateyProfile = "$env:ChocolateyInstall\helpers\chocolateyProfile.psm1"
|
||||||
|
if (Test-Path($ChocolateyProfile)) {
|
||||||
|
Import-Module "$ChocolateyProfile"
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue