diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000..75b94c0 --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,34 @@ +name: ci + +on: + pull_request: + branches: + - master + +jobs: + linting: + name: Lint Shell Scripts and Workflows + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Run ShellCheck + uses: ludeeus/action-shellcheck@master + with: + scandir: './scripts' + env: + SHELLCHECK_OPTS: -e SC2016 -e SC1090 + + - name: Run actionlint + uses: raven-actions/actionlint@v1 + + - uses: JohnnyMorganz/stylua-action@v4 + with: + token: ${{ secrets.GITHUB_TOKEN }} + version: latest + args: --check . + + - uses: ludvighz/vint-action@v1 + with: + path: xdg_config/vim/vimrc diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml deleted file mode 100644 index efecf18..0000000 --- a/.github/workflows/lint.yaml +++ /dev/null @@ -1,44 +0,0 @@ -name: ci - -on: - pull_request: - branches: - - master - -jobs: - linting: - name: Lint Shell Scripts and Workflows - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Setup shfmt - uses: mfinelli/setup-shfmt@v2 - - - name: Run shfmt - run: | - # shellcheck disable=SC2046 - shfmt -i 2 -ci -d $(shfmt -f . | grep -v '\.zsh$') - - # - name: Run ShellCheck - # uses: ludeeus/action-shellcheck@master - - - name: Download actionlint - id: get_actionlint - run: bash <(curl https://raw.githubusercontent.com/rhysd/actionlint/main/scripts/download-actionlint.bash) - shell: bash - - - name: Check workflow files - run: ${{ steps.get_actionlint.outputs.executable }} -color - shell: bash - - # - uses: JohnnyMorganz/stylua-action@v4 - # with: - # token: ${{ secrets.GITHUB_TOKEN }} - # version: latest - # args: --check . - - - uses: ludvighz/vint-action@v1 - with: - path: xgd_config/vim/vimrc diff --git a/LICENSE b/LICENSE deleted file mode 100644 index a84f357..0000000 --- a/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2024 Yuta Nomura - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/scripts/deploy.sh b/scripts/deploy.sh index 3c50d97..16e33bb 100644 --- a/scripts/deploy.sh +++ b/scripts/deploy.sh @@ -21,6 +21,5 @@ if [ "$(uname)" = "Darwin" ]; then elif [ "$(uname)" = "Linux" ]; then echo 'source "$HOME/.dotfiles/config/.bashrc.local"' >>~/.bashrc echo 'source "$HOME/.rye/env"' >>~/.bashrc - # shellcheck disable=SC1090 source ~/.bashrc fi diff --git a/xdg_config/alacritty/alacritty.toml b/xdg_config/alacritty/alacritty.toml index 1864189..bb87299 100644 --- a/xdg_config/alacritty/alacritty.toml +++ b/xdg_config/alacritty/alacritty.toml @@ -48,4 +48,4 @@ white = '#ECEFF4' [keyboard] bindings = [ { key = "j", mods = "Control", action = "ToggleViMode" } -] \ No newline at end of file +] diff --git a/xdg_config/mise/config.toml b/xdg_config/mise/config.toml index 90b2d9d..98208ab 100644 --- a/xdg_config/mise/config.toml +++ b/xdg_config/mise/config.toml @@ -6,3 +6,4 @@ zellij = "latest" rye = "latest" vim = "latest" jq = "latest" +lazygit = "latest" \ No newline at end of file diff --git a/xdg_config/nvim/init.lua b/xdg_config/nvim/init.lua index 6a9317b..58c44b0 100644 --- a/xdg_config/nvim/init.lua +++ b/xdg_config/nvim/init.lua @@ -1,36 +1,36 @@ -- ====== OPTIONS ====== vim.loader.enable() vim.g.mapleader = " " -vim.opt.title = true -- ウィンドウのタイトルを現在開いているファイル名で更新 -vim.opt.termguicolors = true -- ターミナルの色を24ビットカラーに設定 -vim.opt.clipboard = "unnamedplus" -- システムのクリップボードを直接使用 +vim.opt.title = true -- ウィンドウのタイトルを現在開いているファイル名で更新 +vim.opt.termguicolors = true -- ターミナルの色を24ビットカラーに設定 +vim.opt.clipboard = "unnamedplus" -- システムのクリップボードを直接使用 vim.opt.completeopt = { "menuone", "noselect" } -- 補完メニューを表示し、自動で選択しない -vim.opt.ignorecase = true -- 検索時に大文字小文字を区別しない -vim.opt.pumheight = 10 -- ポップアップメニューの高さを10行に設定 -vim.opt.showtabline = 2 -- タブラインを常に表示 -vim.opt.smartcase = true -- 検索パターンに大文字が含まれている場合は大文字小文字を区別 -vim.opt.smartindent = true -- 自動インデントを有効に -vim.opt.swapfile = false -- スワップファイルを作成しないように -vim.opt.timeoutlen = 500 -- キーマッピングの待ち時間を300ミリ秒に設定 -vim.opt.undofile = true -- アンドゥ情報をファイルに保存 -vim.opt.writebackup = false -- 書き込み時のバックアップファイルを作成しないように -vim.opt.expandtab = true -- タブをスペースに展開 -vim.opt.cursorline = true -- カーソル行をハイライト -vim.opt.number = true -- 行番号を表示 -vim.opt.wrap = false -- 折り返しを無効に -vim.opt.scrolloff = 8 -- スクロール時に画面の端から8行分余裕を持たせる -vim.opt.sidescrolloff = 8 -- スクロール時に画面の端から8列分余裕を持たせる -vim.opt.laststatus = 3 -- ステータスラインを常に表示し、現在のウィンドウだけでなく全てのウィンドウに適用 -vim.opt.list = true -- 制御文字を表示 +vim.opt.ignorecase = true -- 検索時に大文字小文字を区別しない +vim.opt.pumheight = 10 -- ポップアップメニューの高さを10行に設定 +vim.opt.showtabline = 2 -- タブラインを常に表示 +vim.opt.smartcase = true -- 検索パターンに大文字が含まれている場合は大文字小文字を区別 +vim.opt.smartindent = true -- 自動インデントを有効に +vim.opt.swapfile = false -- スワップファイルを作成しないように +vim.opt.timeoutlen = 500 -- キーマッピングの待ち時間を300ミリ秒に設定 +vim.opt.undofile = true -- アンドゥ情報をファイルに保存 +vim.opt.writebackup = false -- 書き込み時のバックアップファイルを作成しないように +vim.opt.expandtab = true -- タブをスペースに展開 +vim.opt.cursorline = true -- カーソル行をハイライト +vim.opt.number = true -- 行番号を表示 +vim.opt.wrap = false -- 折り返しを無効に +vim.opt.scrolloff = 8 -- スクロール時に画面の端から8行分余裕を持たせる +vim.opt.sidescrolloff = 8 -- スクロール時に画面の端から8列分余裕を持たせる +vim.opt.laststatus = 3 -- ステータスラインを常に表示し、現在のウィンドウだけでなく全てのウィンドウに適用 +vim.opt.list = true -- 制御文字を表示 -- ====== KEYMAP ====== vim.keymap.set("i", "jk", "") -vim.keymap.set("t", "jk", [[]]) -- Terminal Mode 時jkでノーマルモードに戻る -vim.keymap.set("x", "", ":move '<-2gv=gv") -- 選択範囲を上に移動 -vim.keymap.set("x", "", ":move '>+1gv=gv") -- 選択範囲を下に移動 -vim.keymap.set("n", "K", vim.lsp.buf.hover) -- 定義やドキュメントをホバー -vim.keymap.set("n", "gd", vim.lsp.buf.definition) -- 定義にジャンプ -vim.keymap.set("n", "lf", vim.lsp.buf.format) -- フォーマット +vim.keymap.set("t", "fd", [[]]) -- Terminal Mode 時fdでノーマルモードに戻る +vim.keymap.set("x", "", ":move '<-2gv=gv") -- 選択範囲を上に移動 +vim.keymap.set("x", "", ":move '>+1gv=gv") -- 選択範囲を下に移動 +vim.keymap.set("n", "K", vim.lsp.buf.hover) -- 定義やドキュメントをホバー +vim.keymap.set("n", "gd", vim.lsp.buf.definition) -- 定義にジャンプ +vim.keymap.set("n", "lf", vim.lsp.buf.format) -- フォーマット -- ====== COLORS ====== vim.api.nvim_set_hl(0, "Function", { fg = "NvimLightBlue" }) @@ -51,8 +51,8 @@ end vim.opt.rtp:prepend(lazypath) require("lazy").setup({ - { "akinsho/bufferline.nvim", version = "*", config = true }, - { "github/copilot.vim", event = "BufRead" }, + { "akinsho/bufferline.nvim", version = "*", config = true }, + { "github/copilot.vim", event = "BufRead" }, { "folke/flash.nvim", keys = { @@ -132,6 +132,13 @@ require("lazy").setup({ { "fb", mode = "n", "Telescope buffers" }, }, }, - { "akinsho/toggleterm.nvim", keys = { { "", "ToggleTerm" } }, config = true }, + { + "akinsho/toggleterm.nvim", + keys = { + { "tt", "ToggleTerm direction=float" }, + { "tj", "ToggleTerm direction=horizontal" }, + }, + config = true, + }, defaults = { lazy = true }, }) diff --git a/xdg_config/vim/vimrc b/xdg_config/vim/vimrc index 9d5ced1..1e7488d 100644 --- a/xdg_config/vim/vimrc +++ b/xdg_config/vim/vimrc @@ -1,69 +1,29 @@ -set encoding=utf-8 -scriptencoding utf-8 - -"===== 色関係 =====" -syntax enable -syntax on -set background=dark -set t_Co=256 -colorscheme industry - -"===== 表示設定 =====" +set encoding=utf-8 "ファイルのエンコーディングをUTF-8に設定" +scriptencoding utf-8 "スクリプトのエンコーディングをUTF-8に設定" +syntax enable "シンタックスハイライトを有効化" +set background=dark "背景色をダークモードに設定" +set t_Co=256 "ターミナルの色数を256色に設定" set number "行番号の表示" set title "編集中ファイル名の表示" set showmatch "括弧入力時に対応する括弧を示す" set list "タブ、空白、改行を可視化" set ruler "カーソル位置を表示" -set relativenumber "相対行番号の表示" - -"===== 文字、カーソル設定 =====" set autoindent "自動インデント" set expandtab "タブキーを空白に変換" set smartindent "オートインデント" set tabstop=4 "インデントをスペース4つ分に設定" set shiftwidth=4 "自動的に入力されたインデントの空白を4つ分に設定" set listchars=tab:▸\ ,eol:↲,extends:❯,precedes:❮ "不可視文字の指定" -set whichwrap=b,s,h,l,<,>,[,],~ "行頭、行末で行のカーソル移動を可能にする" -set cursorline -hi clear CursorLine -hi CursorLineNr term=bold cterm=NONE ctermfg=228 ctermbg=NONE "カーソルのある行番号をハイライト" - -"===== マウス =====" -set mouse=a "全モードでマウスを有効化" - -"===== キー入力 =====" -inoremap jk -nnoremap == gg=G'' -nnoremap : nohlsearch +set cursorline "カーソル行をハイライト" set backspace=indent,eol,start -set wildmenu "コマンドラインモードでTABキーによる補完を有効化" -set wildchar= "コマンド補完を開始するキー" -let mapleader = "\" - -"===== ファイル出力無効化 =====" -set noswapfile -set nobackup -set noundofile -set viminfo= - -"===== 検索 =====" +set wildmenu "コマンドラインモードでTABキーによる補完を有効化" +set noswapfile "スワップファイルを作成しない" +set nobackup "バックアップファイルを作成しない" +set noundofile "アンドゥファイルを作成しない" +set viminfo= "viminfoファイルを作成しない" set ignorecase "大文字、小文字の区別をしない" set smartcase "大文字が含まれている場合は区別する" set wrapscan "検索時に最後まで行ったら最初に戻る" set hlsearch "検索した文字を強調" set incsearch "インクリメンタルサーチを有効にする" - -"===== 全角スペースのハイライト表示 =====" -"ref: http://code-life.net/?p=2704" - -function! ZenkakuSpace() - highlight ZenkakuSpace cterm=reverse ctermfg=DarkMagenta gui=reverse guifg=DarkMagenta -endfunction -if has('syntax') - augroup ZenkakuSpace - autocmd! - autocmd ColorScheme * call ZenkakuSpace() - autocmd VimEnter,WinEnter * match ZenkakuSpace / / - augroup END -call ZenkakuSpace() -endif +inoremap jk \ No newline at end of file