feat: add nvimdots

This commit is contained in:
2024-07-21 02:51:17 -04:00
parent f16942be42
commit e78c5ce3f5
149 changed files with 10623 additions and 43 deletions

View File

@@ -0,0 +1,121 @@
name: Bug Report
description: File a bug report
labels: [bug]
body:
- type: markdown
attributes:
value: |
_Before reporting:_ Search [existing issues](https://github.com/ayamir/nvimdots/issues) and check the [FAQ](https://github.com/ayamir/nvimdots/wiki/Issues). Thank you for helping us improve!
> [!IMPORTANT]
> The `0.11` branch is intended for nightly Neovim builds and is **not** stable. It typically harbors subtle issues scattered throughout. Therefore, refrain from submitting issues if you happen to encounter them. They will be closed directly unless a viable solution is proposed or included.
- type: checkboxes
id: is-latest-commit
attributes:
label: "Version confirmation"
description: "The local configuration is up-to-date in the current branch and this issue _persists_."
options:
- label: "Confirm"
required: true
- type: checkboxes
id: prerequisites-done
attributes:
label: "Following prerequisites"
description: "I've checked everything mentioned in [Wiki: Prerequisites](https://github.com/ayamir/nvimdots/wiki/Prerequisites)."
options:
- label: "Confirm"
required: true
- type: checkboxes
id: not-user-config-issue
attributes:
label: "Not a user config issue"
description: "This issue _persists_ after removing ALL user configs. If this is not the case, you should open a [Custom (User) Config Issue](https://github.com/ayamir/nvimdots/issues/new?assignees=&labels=usage&projects=&template=custom_config.yml) instead."
options:
- label: "Confirm"
required: true
- type: input
id: nvim-version
attributes:
label: "Neovim version"
description: "Paste the output of `nvim --version` here"
placeholder: "NVIM v0.11.0-dev-194+g6c7677e5d"
validations:
required: true
- type: input
id: system-version
attributes:
label: "Operating system/version"
placeholder: "macOS 12.6.1"
validations:
required: true
- type: input
id: terminal-version
attributes:
label: "Terminal name/version"
placeholder: "iTerm2 Build 3.4.17"
validations:
required: true
- type: input
id: term-env
attributes:
label: "$TERM environment variable"
placeholder: "xterm-256color"
validations:
required: false
- type: dropdown
id: branch
attributes:
label: "Branch info"
description: "Which branch are you currently on? If you are not sure, check the output of `git rev-parse --abbrev-ref HEAD`"
options:
- main (Default/Latest)
- 0.9 (Legacy)
- 0.8 (Deprecated)
- 0.11 (Nightly)
validations:
required: true
- type: dropdown
id: fetch-pref
attributes:
label: "Fetch Preferences"
description: "In what way do you fetch resources? If you are not sure, check the value of `use_ssh` in `lua/user/settings.lua`"
options:
- SSH (use_ssh = true)
- HTTPS (use_ssh = false)
validations:
required: true
- type: textarea
id: repro-steps
attributes:
label: "How to reproduce the issue"
description: "Note: Issues without any information will be closed directly"
placeholder: |
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
validations:
required: true
- type: textarea
id: expected-behavior
attributes:
label: "Expected behavior"
description: "Describe the behavior you expect"
validations:
required: true
- type: textarea
id: actual-behavior
attributes:
label: "Actual behavior"
validations:
required: false
- type: textarea
id: extras
attributes:
label: Additional information
description: If applicable, you may include logs, images, or videos to help explain your problem
validations:
required: false

View File

@@ -0,0 +1,8 @@
blank_issues_enabled: true
contact_links:
- name: GitHub Discussions
url: https://github.com/ayamir/nvimdots/discussions/new/choose
about: Any issue that does not fall into the above categories shall go here
- name: GitHub Wiki
url: https://github.com/ayamir/nvimdots/wiki
about: Make sure you have checked our documentation first. To be explicit, the "Issues" section

View File

@@ -0,0 +1,111 @@
name: Custom (User) Config Issue
description: Problems when trying to implement your custom config
labels: [usage]
body:
- type: markdown
attributes:
value: |
_Before requesting:_ Make sure you've read through our [Wiki: Usage](https://github.com/ayamir/nvimdots/wiki/Usage) before you start to add things to nvimdots!
> [!IMPORTANT]
> The `0.11` branch is intended for nightly Neovim builds and is **not** stable. It typically harbors subtle issues scattered throughout. Therefore, refrain from submitting issues if you happen to encounter them. They will be closed directly unless a viable solution is proposed or included.
- type: checkboxes
id: is-latest-commit
attributes:
label: "Version confirmation"
description: "The local configuration is up-to-date in the current branch and this issue _persists_."
options:
- label: "Confirm"
required: true
- type: checkboxes
id: prerequisites-done
attributes:
label: "Following prerequisites"
description: "I've checked everything mentioned in [Wiki: Prerequisites](https://github.com/ayamir/nvimdots/wiki/Prerequisites)."
options:
- label: "Confirm"
required: true
- type: input
id: nvim-version
attributes:
label: "Neovim version"
description: "Paste the output of `nvim --version` here"
placeholder: "NVIM v0.11.0-dev-194+g6c7677e5d"
validations:
required: true
- type: dropdown
id: branch-info
attributes:
label: "Branch info"
description: "This issue template mainly targets `main` branch. Check the output of `git rev-parse --abbrev-ref HEAD` if you're not sure."
options:
- main (Default/Latest)
- 0.9 (Legacy)
- 0.8 (Deprecated)
- 0.11 (Nightly)
validations:
required: true
- type: textarea
id: folder-structure-ta
attributes:
label: "Minimal (user) folder structure required to reproduce the issue"
description: "Note: You only need to describe where the *new/modified files* are. This section will be automatically formatted."
render: console
placeholder: |
└── lua/
├── core/
├── keymap/ default keymaps
├── modules/ default plugins and plugin configs
└── user custom configs root directory
├── configs/ custom plugin config folder
│ ├── dap-clients/ custom dap client config folder
│ ├── lsp-servers/ custom lsp server config folder
│ └── your-config.lua your plugin configs (if applicable)
├── keymap/ custom keymap folder
│ └── your-config.lua your keymap overrides (if applicable)
├── plugins/ custom plugin folder
│ └── your-config.lua your plugins (if applicable)
├── event.lua custom `core/events.lua` overrides
├── options.lua custom `core/options.lua` overrides
└── settings.lua custom `core/settings.lua` overrides
validations:
required: true
- type: textarea
id: repro-steps
attributes:
label: "Minimal config with steps on how to reproduce the issue"
description: "Note: Issues without any information will be closed directly"
placeholder: |
This is my custom config (`specs.lua`):
```lua
return {
popup = {
delay_ms = 20,
}
}
```
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
validations:
required: true
- type: textarea
id: expected-behavior
attributes:
label: "Expected behavior"
description: "Describe the behavior you expect"
validations:
required: true
- type: textarea
id: extras
attributes:
label: Additional information
description: If applicable, you may include logs, images, or videos to help explain your problem
validations:
required: false

View File

@@ -0,0 +1,22 @@
name: Feature Request
description: Request an enhancement for this project
labels: [enhancement]
body:
- type: markdown
attributes:
value: |
_Before requesting:_ Search [existing issues](https://github.com/ayamir/nvimdots/labels/enhancement) and check the [FAQ](https://github.com/ayamir/nvimdots/wiki/Issues). Thank you for helping us improve!
- type: textarea
id: feat-desc
attributes:
label: "Feature description"
validations:
required: true
- type: textarea
id: extras
attributes:
label: "Additional information"
description: "If applicable, you may include images or videos to help explain your request"
validations:
required: false

View File

@@ -0,0 +1,148 @@
name: LSP Issue
description: File a bug report related to LSPs
labels: [bug, lsp]
body:
- type: markdown
attributes:
value: |
_Before reporting:_ Search [existing issues](https://github.com/ayamir/nvimdots/issues) and check the [FAQ](https://github.com/ayamir/nvimdots/wiki/Issues). Thank you for helping us improve!
> [!IMPORTANT]
> The `0.11` branch is intended for nightly Neovim builds and is **not** stable. It typically harbors subtle issues scattered throughout. Therefore, refrain from submitting issues if you happen to encounter them. They will be closed directly unless a viable solution is proposed or included.
- type: checkboxes
id: is-latest-commit
attributes:
label: "Version confirmation"
description: "The local configuration is up-to-date in the current branch and this issue _persists_."
options:
- label: "Confirm"
required: true
- type: checkboxes
id: prerequisites-done
attributes:
label: "Following prerequisites"
description: "I've checked everything mentioned in [Wiki: Prerequisites](https://github.com/ayamir/nvimdots/wiki/Prerequisites)."
options:
- label: "Confirm"
required: true
- type: checkboxes
id: not-user-config-issue
attributes:
label: "Not a user config issue"
description: "This issue _persists_ after removing ALL user configs. If this is not the case, you should open a [Custom (User) Config Issue](https://github.com/ayamir/nvimdots/issues/new?assignees=&labels=usage&projects=&template=custom_config.yml) instead."
options:
- label: "Confirm"
required: true
- type: input
id: nvim-version
attributes:
label: "Neovim version"
description: "Paste the output of `nvim --version` here"
placeholder: "NVIM v0.11.0-dev-194+g6c7677e5d"
validations:
required: true
- type: input
id: system-version
attributes:
label: "Operating system/version"
placeholder: "macOS 12.6.1"
validations:
required: true
- type: input
id: terminal-version
attributes:
label: "Terminal name/version"
placeholder: "iTerm2 Build 3.4.17"
validations:
required: true
- type: input
id: term-env
attributes:
label: "$TERM environment variable"
placeholder: "xterm-256color"
validations:
required: false
- type: dropdown
id: branch
attributes:
label: "Branch info"
description: "Which branch are you currently on? If you are not sure, check the output of `git rev-parse --abbrev-ref HEAD`"
options:
- main (Default/Latest)
- 0.9 (Legacy)
- 0.8 (Deprecated)
- 0.11 (Nightly)
validations:
required: true
- type: dropdown
id: fetch-pref
attributes:
label: "Fetch Preferences"
description: "In what way do you fetch resources? If you are not sure, check the value of `use_ssh` in `lua/user/settings.lua`"
options:
- SSH (use_ssh = true)
- HTTPS (use_ssh = false)
validations:
required: true
- type: input
id: servers
attributes:
label: "Affected language servers"
description: "If this issue is specific to one or more language servers, list them here. If not, write `any`"
placeholder: "lua-language-server, clangd"
validations:
required: true
- type: textarea
id: repro-steps
attributes:
label: "How to reproduce the issue"
description: "Note: Issues without any information will be closed directly"
placeholder: |
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
validations:
required: true
- type: textarea
id: actual-behavior
attributes:
label: "Actual behavior"
description: "Briefly describe what you've observed"
validations:
required: true
- type: textarea
id: expected-behavior
attributes:
label: "Expected behavior"
description: "Describe the behavior you expect"
validations:
required: false
- type: textarea
id: support-info
attributes:
label: "Support info"
description: "Plase include information (screenshots) from `:LspInfo` and `:Mason`"
placeholder: |
:LspInfo
:Mason
validations:
required: true
- type: textarea
id: lsp-logs
attributes:
label: "Logs"
description: "Please copy and paste any relevant log output (e.g., `${HOME}/.local/state/nvim/lsp.log` and `${HOME}/.cache/nvim/lsp.log`). This section will be automatically formatted"
render: console
validations:
required: false
- type: textarea
id: extras
attributes:
label: "Additional information"
description: "If applicable, you may include images or videos to help explain your problem"
validations:
required: false

11
nvim/.github/workflows/lint_code.yml vendored Normal file
View File

@@ -0,0 +1,11 @@
name: lint code
on: [push, pull_request]
jobs:
luacheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: lunarmodules/luacheck@v1
with:
args: . --std luajit --globals vim _debugging _command_panel _flash_esc_or_noh _telescope_collections _toggle_lazygit --max-line-length 150 --no-config

13
nvim/.github/workflows/style_check.yml vendored Normal file
View File

@@ -0,0 +1,13 @@
name: style check
on: [push, pull_request]
jobs:
stylua:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: JohnnyMorganz/stylua-action@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
version: latest
args: --check --config-path=stylua.toml .

26
nvim/.github/workflows/update_flake.yml vendored Normal file
View File

@@ -0,0 +1,26 @@
name: update flake.lock
on:
# Scheduled update (1st of every month)
schedule: [{ cron: "30 02 1 * *" }]
jobs:
update-lockfile:
if: github.repository_owner == 'ayamir'
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v26
with:
nix_path: nixpkgs=channel:nixos-unstable
- name: Run flake-update
run: |
nix flake update
- uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: "chore(lockfile): auto update flake.lock"
commit_user_name: "github-actions[bot]"
commit_user_email: "41898282+github-actions[bot]@users.noreply.github.com"
commit_author: "github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>"
file_pattern: "flake.lock"

View File

@@ -0,0 +1,41 @@
name: update lockfile
on:
# Scheduled update (each day)
schedule: [{ cron: "30 01 * * *" }]
jobs:
update-lockfile:
if: github.repository_owner == 'ayamir'
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # Required to count the commits
- uses: andstor/file-existence-action@v3
id: check_lockfile
with:
files: "lazy-lock.json"
- name: Run count-new-commits
run: |
echo "NEW_COMMIT_COUNT=$(git log --oneline --since '24 hours ago' --perl-regexp --author='^((?!github-actions).*)$' | wc -l)" >> "$GITHUB_ENV"
- uses: rhysd/action-setup-vim@v1
if: ${{ steps.check_lockfile.outputs.files_exists == 'true' && env.NEW_COMMIT_COUNT > 0 }}
with:
neovim: true
- name: Run lockfile-autoupdate
if: ${{ steps.check_lockfile.outputs.files_exists == 'true' && env.NEW_COMMIT_COUNT > 0 }}
timeout-minutes: 5
run: |
./scripts/install.sh
nvim --headless "+Lazy! update" +qa
cp -pv "${HOME}/.config/nvim/lazy-lock.json" .
- uses: stefanzweifel/git-auto-commit-action@v5
if: ${{ steps.check_lockfile.outputs.files_exists == 'true' && env.NEW_COMMIT_COUNT > 0 }}
with:
commit_message: "chore(lockfile): auto update lazy-lock.json"
commit_user_name: "github-actions[bot]"
commit_user_email: "41898282+github-actions[bot]@users.noreply.github.com"
commit_author: "github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>"
file_pattern: "lazy-lock.json"