From 04b78eb79f363859a83fc7a9f404273803de8bc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20La=C3=ADn?= Date: Tue, 16 Jan 2024 11:13:40 +0100 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(vscodium):=20add=20config=20wi?= =?UTF-8?q?th=20settings,=20keybinds=20and=20snippets?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit using vscodium as a fallback editor in pair with the neovim native integration plugin --- .config/VSCodium/User/.github/README.md | 3 + .config/VSCodium/User/.github/title.png | Bin 0 -> 29618 bytes .config/VSCodium/User/keybindings.json | 278 ++++++++++++++++++ .config/VSCodium/User/settings.json | 249 ++++++++++++++++ .config/VSCodium/User/snippets/css.json | 13 + .config/VSCodium/User/snippets/global.json | 6 + .config/VSCodium/User/snippets/lua.json | 50 ++++ .config/VSCodium/User/snippets/markdown.json | 72 +++++ .../VSCodium/User/snippets/python/python.json | 19 ++ .../arch/packages/tasks/modules/coding.yml | 3 +- .github/README.md | 34 ++- 11 files changed, 710 insertions(+), 17 deletions(-) create mode 100644 .config/VSCodium/User/.github/README.md create mode 100644 .config/VSCodium/User/.github/title.png create mode 100644 .config/VSCodium/User/keybindings.json create mode 100644 .config/VSCodium/User/settings.json create mode 100644 .config/VSCodium/User/snippets/css.json create mode 100644 .config/VSCodium/User/snippets/global.json create mode 100644 .config/VSCodium/User/snippets/lua.json create mode 100644 .config/VSCodium/User/snippets/markdown.json create mode 100644 .config/VSCodium/User/snippets/python/python.json diff --git a/.config/VSCodium/User/.github/README.md b/.config/VSCodium/User/.github/README.md new file mode 100644 index 00000000..affa9d51 --- /dev/null +++ b/.config/VSCodium/User/.github/README.md @@ -0,0 +1,3 @@ +
+ +
diff --git a/.config/VSCodium/User/.github/title.png b/.config/VSCodium/User/.github/title.png new file mode 100644 index 0000000000000000000000000000000000000000..dd153e223a01ebf6a8c06df4bb6ec0498ae2973b GIT binary patch literal 29618 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

{K) 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 literal 0 HcmV?d00001 diff --git a/.config/VSCodium/User/keybindings.json b/.config/VSCodium/User/keybindings.json new file mode 100644 index 00000000..41df2844 --- /dev/null +++ b/.config/VSCodium/User/keybindings.json @@ -0,0 +1,278 @@ +[ + { + "key": "ctrl+shift+b", + "command": "workbench.action.toggleActivityBarVisibility" + }, + { + "key": "ctrl+shift+[Backslash]", + "command": "workbench.action.toggleStatusbarVisibility" + }, + { + "key": "ctrl+shift+i", + "command": "-editor.action.formatDocument.none", + "when": "editorTextFocus && !editorHasDocumentFormattingProvider && !editorReadonly" + }, + { + "key": "ctrl+meta+numpad_add", + "command": "editor.action.formatDocument", + "when": "editorHasDocumentFormattingProvider && editorTextFocus && !editorReadonly && !inCompositeEditor" + }, + { + "key": "ctrl+shift+i", + "command": "-editor.action.formatDocument", + "when": "editorHasDocumentFormattingProvider && editorTextFocus && !editorReadonly && !inCompositeEditor" + }, + { + "key": "ctrl+shift+m", + "command": "-workbench.actions.view.problems", + "when": "workbench.panel.markers.view.active" + }, + { + "key": "ctrl+numpad_divide", + "command": "bookmarks.toggle", + "when": "editorTextFocus" + }, + { + "key": "ctrl+alt+k", + "command": "-bookmarks.toggle", + "when": "editorTextFocus" + }, + { + "key": "ctrl+1", + "command": "-workbench.action.focusFirstEditorGroup" + }, + { + "key": "ctrl+1", + "command": "extension.liveServer.goOnline", + "when": "editorTextFocus" + }, + { + "key": "alt+l alt+o", + "command": "-extension.liveServer.goOnline", + "when": "editorTextFocus" + }, + { + "key": "shift+f11", + "command": "-workbench.action.debug.stepOut", + "when": "debugState == 'stopped'" + }, + { + "key": "f11 f11", + "command": "workbench.action.toggleZenMode" + }, + { + "key": "ctrl+k z", + "command": "-workbench.action.toggleZenMode" + }, + { + "key": "shift+f11", + "command": "workbench.action.debug.stepIntoTarget", + "when": "inDebugMode && stepIntoTargetsSupported && debugState == 'stopped'" + }, + { + "key": "ctrl+f11", + "command": "-workbench.action.debug.stepIntoTarget", + "when": "inDebugMode && stepIntoTargetsSupported && debugState == 'stopped'" + }, + { + "key": "ctrl+b", + "command": "-lineHighlightBookmark.toogleBookmarks", + "when": "editorTextFocus" + }, + { + "key": "ctrl+t", + "command": "-workbench.action.showAllSymbols" + }, + { + "key": "ctrl+t", + "command": "workbench.action.terminal.toggleTerminal", + "when": "terminal.active" + }, + { + "key": "ctrl+`", + "command": "-workbench.action.terminal.toggleTerminal", + "when": "terminal.active" + }, + { + "key": "ctrl+alt+p", + "command": "workbench.action.showAllEditors" + }, + { + "key": "ctrl+k ctrl+p", + "command": "-workbench.action.showAllEditors" + }, + { + "key": "ctrl+shift+o", + "command": "workbench.action.files.openFolder", + "when": "openFolderWorkspaceSupport" + }, + { + "key": "ctrl+k ctrl+o", + "command": "-workbench.action.files.openFolder", + "when": "openFolderWorkspaceSupport" + }, + { + "key": "shift+alt+left", + "command": "-editor.action.smartSelect.shrink", + "when": "editorTextFocus" + }, + { + "key": "ctrl+shift+t", + "command": "workbench.action.toggleTabsVisibility" + }, + { + "key": "ctrl+shift+t", + "command": "-workbench.action.reopenClosedEditor" + }, + { + "key": "ctrl+shift+b", + "command": "-workbench.action.tasks.build", + "when": "taskCommandsRegistered" + }, + { + "key": "ctrl+k left", + "command": "-workbench.action.moveActiveEditorGroupLeft" + }, + { + "key": "ctrl+alt+left", + "command": "-workbench.action.moveEditorToPreviousGroup" + }, + { + "key": "ctrl+alt+right", + "command": "-workbench.action.moveEditorToNextGroup" + }, + { + "key": "ctrl+k right", + "command": "-workbench.action.moveActiveEditorGroupRight" + }, + { + "key": "ctrl+k up", + "command": "-workbench.action.moveActiveEditorGroupUp" + }, + { + "key": "ctrl+k down", + "command": "-workbench.action.moveActiveEditorGroupDown" + }, + { + "key": "ctrl+alt+down", + "command": "workbench.action.moveEditorToBelowGroup" + }, + { + "key": "ctrl+alt+up", + "command": "workbench.action.moveEditorToAboveGroup" + }, + { + "key": "ctrl+alt+left", + "command": "workbench.action.moveEditorToLeftGroup" + }, + { + "key": "ctrl+alt+right", + "command": "workbench.action.moveEditorToRightGroup" + }, + { + "key": "ctrl+m", + "command": "editor.action.toggleMinimap" + }, + { + "key": "ctrl+shift+m", + "command": "-rust-analyzer.matchingBrace", + "when": "editorTextFocus && editorLangId == 'rust'" + }, + { + "key": "ctrl+m", + "command": "-markdown.extension.editing.toggleMath", + "when": "editorTextFocus && !editorReadonly && editorLangId =~ /^markdown$|^rmd$|^quarto$/" + }, + { + "key": "ctrl+m", + "command": "-editor.action.toggleTabFocusMode" + }, + { + "key": "ctrl+d", + "command": "-vscode-neovim.ctrl-d", + "when": "editorTextFocus && neovim.ctrlKeysNormal && neovim.init && neovim.mode != 'insert'" + }, + { + "key": "ctrl+u", + "command": "-vscode-neovim.ctrl-u", + "when": "editorTextFocus && neovim.ctrlKeysNormal && neovim.init && neovim.mode != 'insert'" + }, + { + "key": "ctrl+f", + "command": "-vscode-neovim.ctrl-f", + "when": "editorTextFocus && neovim.ctrlKeysNormal && neovim.init && neovim.mode != 'insert'" + }, + { + "key": "ctrl+b", + "command": "-vscode-neovim.ctrl-b", + "when": "editorTextFocus && neovim.ctrlKeysNormal && neovim.init && neovim.mode != 'insert'" + }, + { + "command": "vscode-neovim.send", + "key": "ctrl+d", + "when": "editorTextFocus && neovim.init && neovim.mode != insert || neovim.recording", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "ctrl+u", + "when": "editorTextFocus && neovim.init && neovim.mode != insert || neovim.recording", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "ctrl+f", + "when": "editorTextFocus && neovim.init && neovim.mode != insert || neovim.recording", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "ctrl+b", + "when": "editorTextFocus && neovim.init && neovim.mode != insert || neovim.recording", + "args": "" + }, + { + "key": "ctrl+d", + "command": "-vscode-neovim.ctrl-d", + "when": "editorTextFocus && neovim.ctrlKeysNormal && neovim.init && neovim.mode != 'insert'" + }, + { + "key": "ctrl+u", + "command": "-vscode-neovim.ctrl-u", + "when": "editorTextFocus && neovim.ctrlKeysNormal && neovim.init && neovim.mode != 'insert'" + }, + { + "key": "ctrl+f", + "command": "-vscode-neovim.ctrl-f", + "when": "editorTextFocus && neovim.ctrlKeysNormal && neovim.init && neovim.mode != 'insert'" + }, + { + "key": "ctrl+b", + "command": "-vscode-neovim.ctrl-b", + "when": "editorTextFocus && neovim.ctrlKeysNormal && neovim.init && neovim.mode != 'insert'" + }, + { + "command": "vscode-neovim.send", + "key": "ctrl+d", + "when": "editorTextFocus && neovim.init && neovim.mode != insert || neovim.recording", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "ctrl+u", + "when": "editorTextFocus && neovim.init && neovim.mode != insert || neovim.recording", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "ctrl+f", + "when": "editorTextFocus && neovim.init && neovim.mode != insert || neovim.recording", + "args": "" + }, + { + "command": "vscode-neovim.send", + "key": "ctrl+b", + "when": "editorTextFocus && neovim.init && neovim.mode != insert || neovim.recording", + "args": "" + }, +] \ No newline at end of file diff --git a/.config/VSCodium/User/settings.json b/.config/VSCodium/User/settings.json new file mode 100644 index 00000000..846ecf57 --- /dev/null +++ b/.config/VSCodium/User/settings.json @@ -0,0 +1,249 @@ +{ + // open json editor for settings + "workbench.settings.editor": "json", + + // Theme + "workbench.colorTheme": "Catppuccin Macchiato", + "workbench.preferredDarkColorTheme": "Catppuccin Macchiato", + "workbench.iconTheme": "catppuccin-perfect-mocha", + "workbench.preferredHighContrastColorTheme": "Catppuccin Macchiato", + "catppuccin.accentColor": "lavender", + "catppuccin.extraBordersEnabled": true, + "catppuccin.italicKeywords": true, + + // Font + "editor.fontFamily": "JetBrainsMono Nerd Font", + "editor.inlayHints.fontFamily": "JetBrainsMono Nerd Font", + "terminal.integrated.fontFamily": "JetBrainsMono Nerd Font", + "scm.inputFontFamily": "JetBrainsMono Nerd Font", + "chat.editor.fontFamily": "JetBrainsMono Nerd Font", + "debug.console.fontFamily": "JetBrainsMono Nerd Font", + "editor.codeLensFontFamily": "JetBrainsMono Nerd Font", + "notebook.output.fontFamily": "JetBrainsMono Nerd Font", + "markdown.preview.fontFamily": "JetBrainsMono Nerd Font", + "errorLens.fontFamily": "JetBrainsMono Nerd Font", + "editor.fontSize": 14, + "terminal.integrated.fontSize": 14, + + // UI + "window.commandCenter": false, + "editor.lineNumbers": "relative", + "window.menuBarVisibility": "toggle", + "editor.minimap.enabled": false, + "editor.overviewRulerBorder": false, + "workbench.editor.enablePreviewFromCodeNavigation": true, + "workbench.view.alwaysShowHeaderActions": true, + "workbench.startupEditor": "none", + "editor.scrollbar.horizontal": "hidden", + "editor.hideCursorInOverviewRuler": true, + "workbench.statusBar.visible": false, + "workbench.editor.empty.hint": "hidden", + "workbench.editor.tabActionCloseVisibility": false, + "markdown-preview-github-styles.lightTheme": "dark", + "markdown-preview-github-styles.colorTheme": "dark", + "editor.matchBrackets": "never", + "files.trimTrailingWhitespace": true, + "editor.foldingImportsByDefault": true, + "editor.guides.bracketPairs": true, + "editor.guides.highlightActiveIndentation": true, + "editor.guides.bracketPairsHorizontal": "active", + "cSpell.language": "en, es", + "search.followSymlinks": false, + "workbench.editor.showTabs": "multiple", + "explorer.compactFolders": false, + "breadcrumbs.filePath": "off", + "editor.bracketPairColorization.enabled": true, + "editor.scrollbar.vertical": "hidden", + "editor.wordWrap": "off", + + // Misc + "codeium.enableCodeLens": false, + "git.openRepositoryInParentFolders": "never", + "editor.linkedEditing": true, + "git.closeDiffOnOperation": true, + "workbench.editor.scrollToSwitchTabs": true, + "editor.inlayHints.enabled": "on", + "editor.autoClosingBrackets": "always", + "diffEditor.codeLens": true, + "editor.suggest.preview": true, + "debug.allowBreakpointsEverywhere": true, + "editor.suggest.matchOnWordStartOnly": false, + "editor.mouseWheelZoom": true, + "codeium.enableSearch": true, + "workbench.editor.splitInGroupLayout": "vertical", + "files.associations": { + ".env*": "dotenv" + }, + "update.mode": "manual", + + // APC + "apc.activityBar": { + "position": "bottom", + "hideSettings": true, + "size": 28 + }, + "apc.electron": { + "titleBarStyle": "hiddenInset", + "trafficLightPosition": { + "x": 12, + "y": 10 + } + }, + "apc.font.family": "JetBrainsMono Nerd Font", + "apc.monospace.font.family": "JetBrainsMono Nerd Font", + "apc.statusBar": { + "position": "editor-bottom", + "height": 28, + "fontSize": 12 + }, + + // Custom css + "apc.stylesheet": { + ".title-actions": "display: none !important", + ".tabs-and-actions-container > .editor-actions": "display: none !important", + ".titlebar-center": "display: none !important", + ".titlebar-right": "display: none !important", + ".inline-tabs-placeholder": "display: none !important" + }, + + // Toggle excluded files + "files.exclude": { + "**/.git": true, + "**/.svn": true, + "**/.hg": true, + "**/CVS": true, + "**/.DS_Store": true, + "**/Thumbs.db": true, + "**/node_modules": true, + "**/.next": true, + "**/.husky": true, + "**/drizzle": true, + "**/dist": true, + "**/.todo.md": true, + "**/.vscode": true, + "**/.eslintrc.cjs": true, + "**/.editorconfig": true, + "**/.gitignore": true, + "**/.lintstagedrc.mjs": true, + "**/.markdownlint.json": true, + "**/.markdownlintignore": true, + "**/.prettierignore": true, + "**/bun.lockb": true, + "**/cspell.json": true, + "**/package-lock.json": true, + "**/pnpm-lock.yaml": true, + "**/next-env.d.ts": true, + "**/postcss.config.cjs": true, + "**/prettier.config.js": true, + "**/README.md": true, + "**/next.config.js": true, + "**/tailwind.config.ts": true, + "**/drizzle.config.ts": true, + "**/migrate.ts": true, + "**/.env.example": true + }, + + // Neovim + "extensions.experimental.affinity": { + "asvetliakov.vscode-neovim": 1 + }, + + // Project Manager + "projectManager.git.baseFolders": [ + "/home/matt/Repos/Work", + "/home/matt/Repos/Personal", + "/home/matt/Repos/Community", + "/home/matt/Repos/Class" + ], + + // Smooth movement + "editor.cursorSmoothCaretAnimation": "on", + "workbench.list.smoothScrolling": true, + "terminal.integrated.smoothScrolling": true, + "editor.cursorBlinking": "smooth", + "editor.smoothScrolling": true, + + // Animations + "animations.Enabled": true, + "animations.Active": "Indent", + "animations.Scrolling": "Slide", + "animations.Durations": { + "Command-Palette": 400, + "Scrolling": 300, + "Active": 200, + "Smooth-Mode": 300, + "Tabs": 300 + }, + "animations.Smooth-Mode": true, + "animations.Install-Method": "Apc Customize UI++", + "apc.imports": [ + "file:///home/matt/.vscode/extensions/brandonkirbyson.vscode-animations-2.0.1/dist/updateHandler.js" + ], + + // Language specific + "markdown.preview.scrollEditorWithPreview": true, + "markdown.preview.scrollPreviewWithEditor": true, + "Lua.codeLens.enable": true, + "html.format.enable": true, + "json.format.enable": true, + "javascript.format.enable": true, + "redhat.telemetry.enabled": false, + + // Terminal + "terminal.integrated.cursorBlinking": true, + "terminal.external.linuxExec": "kitty", + "terminal.integrated.cursorStyle": "line", + "terminal.integrated.defaultProfile.linux": "fish", + "terminal.integrated.gpuAcceleration": "on", + "terminal.integrated.shellIntegration.suggestEnabled": true, + "terminal.integrated.enableImages": true, + "terminal.explorerKind": "external", + "terminal.integrated.env.linux": {}, + + // Zen mode + "zenMode.showTabs": "none", + "zenMode.hideLineNumbers": false, + "zenMode.silentNotifications": false, + "zenMode.fullScreen": false, + + // Error lens + "errorLens.errorGutterIconColor": "#ED8796", + "errorLens.searchForProblemQuery": "https://search.brave.com/search?q=$message", + "errorLens.warningGutterIconColor": "#EED49F", + + // Colorize + "colorize.include": [ + "**/*.lua", + "**/*.cs", + "**/*.css", + "**/*.scss", + "**/*.sass", + "**/*.less", + "**/*.styl", + "**/*.xml", + "**/*.svg", + "**/*.json", + "**/*.js", + "**/*.java", + "**/*.kt", + "**/*.cpp", + "**/*.rasi" + ], + "colorize.languages": [ + "css", + "sass", + "scss", + "less", + "postcss", + "sss", + "stylus", + "xml", + "svg", + "json", + "javascript", + "java", + "c", + "rasi", + "markdown" + ], +} \ No newline at end of file diff --git a/.config/VSCodium/User/snippets/css.json b/.config/VSCodium/User/snippets/css.json new file mode 100644 index 00000000..835896fe --- /dev/null +++ b/.config/VSCodium/User/snippets/css.json @@ -0,0 +1,13 @@ +{ + "ignore (prettier)": { + "body": "/* prettier-ignore */", + "prefix": "ignore (prettier)" + }, + "ignore range (stylelint)": { + "body": [ + "/* stylelint-disable ${1:no-duplicate-selectors} */", + "/* stylelint-enable ${1:no-duplicate-selectors} */" + ], + "prefix": "ignore range (stylelint)" + } +} diff --git a/.config/VSCodium/User/snippets/global.json b/.config/VSCodium/User/snippets/global.json new file mode 100644 index 00000000..96e7c982 --- /dev/null +++ b/.config/VSCodium/User/snippets/global.json @@ -0,0 +1,6 @@ +{ + "nonbreaking space": { + "body": " ", + "prefix": "nonbreaking space" + } +} diff --git a/.config/VSCodium/User/snippets/lua.json b/.config/VSCodium/User/snippets/lua.json new file mode 100644 index 00000000..f7e8a981 --- /dev/null +++ b/.config/VSCodium/User/snippets/lua.json @@ -0,0 +1,50 @@ +{ + "@class (LuaDoc)": { + "body": [ + "---@class (exact) ${1:class_name}", + "---@field ${2:field_name} string", + "---@field ${3:field_name} string" + ], + "description": "https://github.com/LuaLS/lua-language-server/wiki/Annotations#class", + "prefix": "@class (LuaDoc)" + }, + "@type (LuaDoc)": { + "body": "---@type ${1:string}", + "prefix": "@type (LuaDoc)" + }, + "export module": { + "body": [ + "local M = {}", + "--------------------------------------------------------------------------------", + "", + "$0--------------------------------------------------------------------------------", + "return M" + ], + "prefix": "export module" + }, + "find all in string": { + "body": [ + "local ${1:matches} = {}", + "for match in ${2:str}:gmatch(${3:pattern}) do", + "\ttable.insert(${1:matches}, match)", + "end" + ], + "prefix": "find all in string" + }, + "home": { + "body": "os.getenv(\"HOME\")", + "prefix": "home" + }, + "ignore (stylua)": { + "body": "-- stylua: ignore", + "prefix": "ignore (stylua)" + }, + "ignore start/end (stylua)": { + "body": ["-- stylua: ignore start", "-- stylua: ignore end"], + "prefix": "ignore start/end (stylua)" + }, + "import module": { + "body": "local ${1:name} = require(\"${2:module}.${1:name}\")", + "prefix": "import module" + } +} diff --git a/.config/VSCodium/User/snippets/markdown.json b/.config/VSCodium/User/snippets/markdown.json new file mode 100644 index 00000000..10dad64e --- /dev/null +++ b/.config/VSCodium/User/snippets/markdown.json @@ -0,0 +1,72 @@ +{ + "caution (callout)": { + "body": [ + "> [!CAUTION]", + "> $0" + ], + "description": "https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#alerts", + "prefix": "caution (callout)" + }, + "centerdiv": { + "body": "

$0
", + "prefix": "centerdiv" + }, + "details & summary": { + "body": [ + "
", + "${1:Text}", + "$0", + "
" + ], + "description": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/details", + "prefix": [ + "toggle / fold", + "details & summary" + ] + }, + "div": { + "body": "
$0
", + "description": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/div", + "prefix": "div" + }, + "image": { + "body": "\"${2:alt", + "description": "HTML syntax for images used to display images with reduced size", + "prefix": "image" + }, + "important (callout)": { + "body": [ + "> [!IMPORTANT]", + "> $0" + ], + "description": "https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#alerts", + "prefix": "important (callout)" + }, + "note (callout)": { + "body": [ + "> [!NOTE]", + "> $0" + ], + "description": "https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#alerts", + "prefix": [ + "info (callout)", + "note (callout)" + ] + }, + "tip (callout)": { + "body": [ + "> [!TIP]", + "> $0" + ], + "description": "https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#alerts", + "prefix": "tip (callout)" + }, + "warning (callout)": { + "body": [ + "> [!WARNING]", + "> $0" + ], + "description": "https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#alerts", + "prefix": "warning (callout)" + } +} diff --git a/.config/VSCodium/User/snippets/python/python.json b/.config/VSCodium/User/snippets/python/python.json new file mode 100644 index 00000000..01932eee --- /dev/null +++ b/.config/VSCodium/User/snippets/python/python.json @@ -0,0 +1,19 @@ +{ + "list comprehension": { + "body": "list(${1:value} for ${2:value} in ${3:iterable})$0", + "description": "List comprehension for creating a list based on existing lists.", + "prefix": "list comprehension" + }, + "replace (regex)": { + "body": "re.sub(r\"${1:regex}\", r\"${2:replace}\", ${3:str})$0", + "prefix": "replace (regex)" + }, + "ternary": { + "body": "${1:value1} if ${2:condition} else ${3:value2}", + "prefix": "ternary" + }, + "while": { + "body": "while ${1:condition}:\n\t${2:pass}$0", + "prefix": "while" + } +} diff --git a/.config/ansible/roles/arch/packages/tasks/modules/coding.yml b/.config/ansible/roles/arch/packages/tasks/modules/coding.yml index bd9bb397..36937bfe 100644 --- a/.config/ansible/roles/arch/packages/tasks/modules/coding.yml +++ b/.config/ansible/roles/arch/packages/tasks/modules/coding.yml @@ -43,7 +43,8 @@ - lazynpm - scc-bin - tgpt-bin - - visual-studio-code-bin + - vscodium-bin + - vscodium-marketplace-bin # Cargo - name: Install Rust Packages diff --git a/.github/README.md b/.github/README.md index 22da30be..8ceb7d15 100644 --- a/.github/README.md +++ b/.github/README.md @@ -54,6 +54,7 @@ I've been working on this for a long time so I hope you like it! - :dark_sunglasses: Dark Mode for the whole system - :framed_picture: Various Wallpapers - :nerd_face: Nerd Fonts for the Shell Prompt +- :rocket: VSCodium with native integration of your Neovim setup - :loud_sound: Volume OSD - :iphone: App Launcher - :keyboard: Multiple Keyboard Layouts @@ -162,22 +163,23 @@ Here is all the information about my setup:
🖱️ GUI Apps -| 📚 Entry | ✨ App | -| --------------------- | ------------------------------------------------------------------------------------------------------------------------------ | -| **Music Player** | [Spotify](https://open.spotify.com/) (patched with [Spicetify](https://spicetify.app/)) [:gear:](../.config/spicetify/) | -| **Web Browser** | 💖 [Librewolf](https://librewolf.net/) [:gear:](../.config/browser/) | -| **Messaging App** | [Discord](https://discord.com/) (patched with [BetterDiscord](https://betterdiscord.app/)) [:gear:](../.config/BetterDiscord/) | -| **Email Client** | [Thunderbird](https://www.thunderbird.net/) | -| **PDF Viewer** | [Zathura](https://pwmt.org/projects/zathura/) [:gear:](../.config/zathura/) | -| **Note Taking App** | 💖 [Obsidian](https://obsidian.md/) [:gear:](../.config/obsidian/) | -| **Video Player** | [Celluloid](https://celluloid-player.github.io/) ([MPV](https://mpv.io/) frontend) [:gear:](../.config/mpv/) | -| **Image Viewer** | [geeqie](https://www.geeqie.org/) [:gear:](../.config/geeqie/) | -| **File Manager** | [Nemo](https://community.linuxmint.com/software/view/nemo) | -| **Audio Effects** | [Easyeffects](https://github.com/wwmm/easyeffects) | -| **Image Editor** | [Krita](https://krita.org/) | -| **VM Manager** | [Virt-Manager](https://virt-manager.org/) ([QEMU](https://www.qemu.org/)) | -| **Recording Program** | [OBS](https://obsproject.com/) | -| **Office Apps** | [LibreOffice](https://www.libreoffice.org/) | +| 📚 Entry | ✨ App | +| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | +| **Music Player** | [Spotify](https://open.spotify.com/) (patched with [Spicetify](https://spicetify.app/)) [:gear:](../.config/spicetify/) | +| **Fallback Text Editor** | [VSCodium](https://vscodium.com/) [:gear:](../.config/VSCodium/User/) | +| **Web Browser** | 💖 [Librewolf](https://librewolf.net/) [:gear:](../.config/browser/) | +| **Messaging App** | [Discord](https://discord.com/) (patched with [BetterDiscord](https://betterdiscord.app/)) [:gear:](../.config/BetterDiscord/) | +| **Email Client** | [Thunderbird](https://www.thunderbird.net/) | +| **PDF Viewer** | [Zathura](https://pwmt.org/projects/zathura/) [:gear:](../.config/zathura/) | +| **Note Taking App** | 💖 [Obsidian](https://obsidian.md/) [:gear:](../.config/obsidian/) | +| **Video Player** | [Celluloid](https://celluloid-player.github.io/) ([MPV](https://mpv.io/) frontend) [:gear:](../.config/mpv/) | +| **Image Viewer** | [geeqie](https://www.geeqie.org/) [:gear:](../.config/geeqie/) | +| **File Manager** | [Nemo](https://community.linuxmint.com/software/view/nemo) | +| **Audio Effects** | [Easyeffects](https://github.com/wwmm/easyeffects) | +| **Image Editor** | [Krita](https://krita.org/) | +| **VM Manager** | [Virt-Manager](https://virt-manager.org/) ([QEMU](https://www.qemu.org/)) | +| **Recording Program** | [OBS](https://obsproject.com/) | +| **Office Apps** | [LibreOffice](https://www.libreoffice.org/) |