{"id":13411518,"url":"https://github.com/askfiy/visual_studio_code","last_synced_at":"2025-03-14T17:30:55.813Z","repository":{"id":106887027,"uuid":"607815323","full_name":"askfiy/visual_studio_code","owner":"askfiy","description":"A `neovim` theme that highly restores `vscode`, so that your friends will no longer be surprised that you use `neovim`, because they will think you are using `vscode` .. ","archived":false,"fork":false,"pushed_at":"2024-06-21T07:53:57.000Z","size":2964,"stargazers_count":159,"open_issues_count":1,"forks_count":11,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-07-31T20:46:10.656Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/askfiy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-02-28T18:25:29.000Z","updated_at":"2024-07-26T08:26:31.000Z","dependencies_parsed_at":"2024-04-12T03:40:18.282Z","dependency_job_id":"036a96ba-db30-465a-8401-b5206407c990","html_url":"https://github.com/askfiy/visual_studio_code","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/askfiy%2Fvisual_studio_code","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/askfiy%2Fvisual_studio_code/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/askfiy%2Fvisual_studio_code/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/askfiy%2Fvisual_studio_code/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/askfiy","download_url":"https://codeload.github.com/askfiy/visual_studio_code/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243618635,"owners_count":20320269,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-30T20:01:14.207Z","updated_at":"2025-03-14T17:30:54.949Z","avatar_url":"https://github.com/askfiy.png","language":"Lua","readme":"# README\n\n\u003ch3 align=\"center\"\u003e\nNeovim Visual Studio Code Theme\n\u003c/h3\u003e\n\n\u003ch6\u003e\nA `neovim` theme based on `visual studio code`, written in `Lua`.\nIt tries to get all the colors in `developer mode` of `vscode`, so the simulation is very high.\n\u003c/h6\u003e\n\n\u003ch6 align=\"center\"\u003e\n\u003chr/\u003e\n\u003cimg src=\"./screen/dark.png\" width=\"80%\" /\u003e\n\u003chr/\u003e\n\u003cimg src=\"./screen/light.png\" width=\"80%\" /\u003e\n\u003c/h6\u003e\n\u003chr/\u003e\n\n## Install and use\n\nInstall via `Lazy`:\n\n```lua\n-- lazy\n{\n    \"askfiy/visual_studio_code\",\n    priority = 100,\n    config = function()\n        vim.cmd([[colorscheme visual_studio_code]])\n    end,\n},\n```\n\nInstall via `Packer`:\n\n```lua\n-- packer\n{\n    \"askfiy/visual_studio_code\",\n    config = function()\n        vim.cmd([[colorscheme visual_studio_code]])\n    end,\n}\n```\n\n## Default configuration\n\nDefault config, modify any option via `setup()`:\n\n```lua\nrequire(\"visual_studio_code\").setup({\n    -- `dark` or `light`\n    mode = \"dark\",\n    -- Whether to load all color schemes\n    preset = true,\n    -- Whether to enable background transparency\n    transparent = false,\n    -- Whether to apply the adapted plugin\n    expands = {\n        hop = true,\n        dbui = true,\n        lazy = true,\n        aerial = true,\n        null_ls = true,\n        nvim_cmp = true,\n        gitsigns = true,\n        which_key = true,\n        nvim_tree = true,\n        lspconfig = true,\n        telescope = true,\n        bufferline = true,\n        nvim_navic = true,\n        nvim_notify = true,\n        vim_illuminate = true,\n        nvim_treesitter = true,\n        nvim_ts_rainbow = true,\n        nvim_scrollview = true,\n        nvim_ts_rainbow2 = true,\n        indent_blankline = true,\n        vim_visual_multi = true,\n    },\n    hooks = {\n        before = function(conf, colors, utils) end,\n        after = function(conf, colors, utils) end,\n    },\n})\n```\n\n## Related functions\n\nThe plugin provides some utility functions:\n\n```lua\nrequire(\"visual_studio_code\")\n   - get_config()               -- current configuration table\n   - get_colors()               -- current color highlight table\n   - get_lualine_sections()     -- lualine sections table\n   - get_bufferline_right()     -- bufferline custom right area\n\nrequire(\"visual_studio_code.utils\")\n   - hl.set(name, options)\n   - hl.link(src, dst)\n   - hl.get(name, option)\n   - hl.bulk_set(groups)\n```\n\nExample:\n\n```lua\nrequire(\"visual_studio_code.utils\").hl.set(\"Normal\", { fg = \"#000000\", bg = \"#1E1E2E\"})\n\nrequire(\"visual_studio_code.utils\").hl.link(\"NormalFloat\", \"Normal\")\n\nrequire(\"visual_studio_code.utils\").hl.get(\"Normal\", \"fg\")   -- #000000\n\nrequire(\"visual_studio_code.utils\").hl.bulk_set({\n    Normal = { fg = \"#000000\", bg = \"#1E1E2E\"},\n    NormalFloat = { link = \"Normal\" },\n    Cursor = { bg = \"#0FE1EE\", bold = true }\n})\n```\n\n## Hooks function\n\nThe plugin provides 2 hook functions, which are automatically executed before and after the color is applied:\n\n```lua\nhooks = {\n    before = function(conf, colors, utils) end,\n    after = function(conf, colors, utils) end,\n}\n```\n\n## Additional considerations\n\nRegarding the `bufferline`, you need to make sure it has the `themable` option turned on:\n\n```lua\n\nrequire(\"bufferline\").setup({\n    options = {\n        themable = true,\n        ...\n    }\n})\n```\n\nIf you need to use the `vim_visual_multi` plugin adaptation, please add the following code to your `init.lua` file:\n\n```lua\nvim.g.VM_Extend_hl = \"VM_Extend_hl\"\nvim.g.VM_Cursor_hl = \"VM_Cursor_hl\"\nvim.g.VM_Mono_hl = \"VM_Mono_hl\"\nvim.g.VM_Insert_hl = \"VM_Insert_hl\"\n```\n\nIf you don't use `tmux`, try running `:set cmdheight=0`.\n\nIf some `nvim-web-devicons` icons do not display well in `light` mode, please tell me the name of the icon, and I will adapt it.\n\n## Lualine integrated\n\nTo quickly get a `vscode` style statusline, you need to use `lualine`:\n\n```lua\nrequire(\"lualine\").setup({\n    options = {\n        theme = \"visual_studio_code\",\n        icons_enabled = true,\n        component_separators = { left = \"\", right = \"\" },\n        section_separators = { left = \"\", right = \"\" },\n        disabled_filetypes = {},\n        globalstatus = true,\n        refresh = {\n            statusline = 100,\n        },\n    },\n    sections = require(\"visual_studio_code\").get_lualine_sections(),\n})\n```\n\n## Bufferline integrated\n\n要快速获取 `vscode` 右上角的几个按钮，你可以向下面这样设置 `bufferline`:\n\n```lua\nrequire(\"bufferline\").setup({\n    options = {\n        themable = true,\n        close_icon = \"\",\n        ...\n        custom_areas = {\n            right = require(\"visual_studio_code\").get_bufferline_right(),\n        },\n    }\n})\n```\n\n## Extension\n\nExtended plugin colors are in the `expands` directory.\n\n[lua/visual_studio_code/core/expands/](./lua/visual_studio_code/core/expands/)\n\nAlso, any new `PR`s are welcome, as I'm not enthusiastic about plugin adaptation, so may need everyone's help to make it better..\n\n## Screenshot\n\n\u003ch6 align=\"center\"\u003e\n\u003chr/\u003e\n\u003cimg src=\"./screen/dark01.png\" width=\"80%\" /\u003e\n\u003chr/\u003e\n\u003cimg src=\"./screen/light01.png\" width=\"80%\" /\u003e\n\u003chr/\u003e\n\u003cimg src=\"./screen/dark02.png\" width=\"80%\" /\u003e\n\u003chr/\u003e\n\u003cimg src=\"./screen/light02.png\" width=\"80%\" /\u003e\n\u003chr/\u003e\n\u003c/h6\u003e\n","funding_links":[],"categories":["Colorscheme"],"sub_categories":["Tree-sitter Supported Colorscheme","Assembly"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faskfiy%2Fvisual_studio_code","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faskfiy%2Fvisual_studio_code","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faskfiy%2Fvisual_studio_code/lists"}