Add markdown preview plugin

This commit is contained in:
Marko Korhonen 2022-09-16 16:53:16 +03:00
parent 049ce6e360
commit 40c7875779
Signed by: FunctionalHacker
GPG key ID: A7F78BCB859CD890

View file

@ -3,191 +3,195 @@ local fn = vim.fn
-- Install packer if it's not yet installed -- Install packer if it's not yet installed
local install_path = fn.stdpath('data') .. '/site/pack/packer/start/packer.nvim' local install_path = fn.stdpath('data') .. '/site/pack/packer/start/packer.nvim'
if fn.empty(fn.glob(install_path)) > 0 then if fn.empty(fn.glob(install_path)) > 0 then
print('Installing Packer') print('Installing Packer')
Packer_bootstrap = fn.system({ Packer_bootstrap = fn.system({
'git', 'clone', '--depth', '1', 'git', 'clone', '--depth', '1',
'https://github.com/wbthomason/packer.nvim', install_path 'https://github.com/wbthomason/packer.nvim', install_path
}) })
vim.cmd [[packadd packer.nvim]] vim.cmd [[packadd packer.nvim]]
print('Installed Packer') print('Installed Packer')
end end
-- Configure packer -- Configure packer
require('packer').startup(function() require('packer').startup(function()
local use = require('packer').use local use = require('packer').use
-- The plugin manager itself -- The plugin manager itself
use {'wbthomason/packer.nvim'} use { 'wbthomason/packer.nvim' }
-- Colorscheme -- Colorscheme
use { use {
'FunctionalHacker/pywal.nvim', 'FunctionalHacker/pywal.nvim',
config = function() require('pywal').setup() end config = function() require('pywal').setup() end
} }
-- Statusline -- Statusline
use { use {
'nvim-lualine/lualine.nvim', 'nvim-lualine/lualine.nvim',
requires = {'kyazdani42/nvim-web-devicons', opt = true}, requires = { 'kyazdani42/nvim-web-devicons', opt = true },
config = require('plugins.lualine') config = require('plugins.lualine')
} }
-- Startup screen/dashboard -- Startup screen/dashboard
use 'glepnir/dashboard-nvim' use 'glepnir/dashboard-nvim'
-- Git in signcolumn -- Git in signcolumn
use 'airblade/vim-gitgutter' use 'airblade/vim-gitgutter'
-- Tabline/bufferline -- Tabline/bufferline
use { use {
'akinsho/nvim-bufferline.lua', 'akinsho/nvim-bufferline.lua',
tag = '*', tag = '*',
requires = 'kyazdani42/nvim-web-devicons', requires = 'kyazdani42/nvim-web-devicons',
config = function() require('bufferline').setup {} end config = function() require('bufferline').setup {} end
} }
-- Git commands -- Git commands
use 'tpope/vim-fugitive' use 'tpope/vim-fugitive'
-- Indent characters -- Indent characters
use { use {
'lukas-reineke/indent-blankline.nvim', 'lukas-reineke/indent-blankline.nvim',
config = require('plugins.indent-blankline') config = require('plugins.indent-blankline')
} }
-- Tree explorer -- Tree explorer
use { use {
'kyazdani42/nvim-tree.lua', 'kyazdani42/nvim-tree.lua',
requires = 'kyazdani42/nvim-web-devicons', requires = 'kyazdani42/nvim-web-devicons',
config = require('plugins.nvim-tree') config = require('plugins.nvim-tree')
} }
-- Telescope -- Telescope
use { use {
'nvim-telescope/telescope.nvim', 'nvim-telescope/telescope.nvim',
config = require('plugins.telescope'), config = require('plugins.telescope'),
requires = { requires = {
{'nvim-lua/plenary.nvim'}, -- Internal dep for telescope { 'nvim-lua/plenary.nvim' }, -- Internal dep for telescope
{'nvim-telescope/telescope-fzf-native.nvim', run = 'make'}, -- Use fzf for fuzzy finder { 'nvim-telescope/telescope-fzf-native.nvim', run = 'make' }, -- Use fzf for fuzzy finder
{'nvim-telescope/telescope-ui-select.nvim'} -- Replace vim built in select with telescope { 'nvim-telescope/telescope-ui-select.nvim' } -- Replace vim built in select with telescope
} }
} }
-- Do stuff as sudo -- Do stuff as sudo
use 'lambdalisue/suda.vim' use 'lambdalisue/suda.vim'
-- Display possible keybinds -- Display possible keybinds
use {'folke/which-key.nvim', config = require('plugins.which-key')} use { 'folke/which-key.nvim', config = require('plugins.which-key') }
-- Read editorconfig settings -- Read editorconfig settings
use 'editorconfig/editorconfig-vim' use 'editorconfig/editorconfig-vim'
-- Package manager for LSP servers, DAP servers etc. -- Package manager for LSP servers, DAP servers etc.
use {'williamboman/mason.nvim', config = require('plugins.mason').setup} use { 'williamboman/mason.nvim', config = require('plugins.mason').setup }
-- Install LSP server executables with Mason -- Install LSP server executables with Mason
use { use {
'williamboman/mason-lspconfig.nvim', 'williamboman/mason-lspconfig.nvim',
config = require('plugins.mason').lspconfig_setup config = require('plugins.mason').lspconfig_setup
} }
-- Configs for built-in LSP -- Configs for built-in LSP
use {'neovim/nvim-lspconfig', config = require('plugins.lspconfig').setup} use { 'neovim/nvim-lspconfig', config = require('plugins.lspconfig').setup }
-- Additional LSP features for Java -- Additional LSP features for Java
use 'mfussenegger/nvim-jdtls' use 'mfussenegger/nvim-jdtls'
-- Display function signature -- Display function signature
use 'ray-x/lsp_signature.nvim' use 'ray-x/lsp_signature.nvim'
-- Snippets plugin -- Snippets plugin
use { use {
'L3MON4D3/LuaSnip', 'L3MON4D3/LuaSnip',
requires = {'rafamadriz/friendly-snippets'}, -- Snippets collection requires = { 'rafamadriz/friendly-snippets' }, -- Snippets collection
config = require('plugins.luasnip') config = require('plugins.luasnip')
} }
-- vim api documentation for lua lsp -- vim api documentation for lua lsp
use {'ii14/emmylua-nvim'} use { 'ii14/emmylua-nvim' }
-- Completion -- Completion
use { use {
'hrsh7th/nvim-cmp', 'hrsh7th/nvim-cmp',
requires = { requires = {
{'hrsh7th/cmp-buffer'}, -- Buffer source { 'hrsh7th/cmp-buffer' }, -- Buffer source
{'petertriho/cmp-git', requires = "nvim-lua/plenary.nvim"}, -- Git source { 'petertriho/cmp-git', requires = "nvim-lua/plenary.nvim" }, -- Git source
{'hrsh7th/cmp-nvim-lsp'}, -- LSP source { 'hrsh7th/cmp-nvim-lsp' }, -- LSP source
{'hrsh7th/cmp-nvim-lua'}, -- Neovim Lua API documentation source { 'hrsh7th/cmp-nvim-lua' }, -- Neovim Lua API documentation source
{'hrsh7th/cmp-path'}, -- Path source { 'hrsh7th/cmp-path' }, -- Path source
{'saadparwaiz1/cmp_luasnip'} -- Snippets source { 'saadparwaiz1/cmp_luasnip' } -- Snippets source
}, },
config = require('plugins.cmp') config = require('plugins.cmp')
} }
-- Automatic brackets -- Automatic brackets
use { use {
'windwp/nvim-autopairs', 'windwp/nvim-autopairs',
config = function() require('nvim-autopairs').setup {} end config = function() require('nvim-autopairs').setup {} end
} }
-- treesitter -- treesitter
use { use {
'nvim-treesitter/nvim-treesitter', 'nvim-treesitter/nvim-treesitter',
run = function() run = function()
require('nvim-treesitter.install').update({with_sync = true}) require('nvim-treesitter.install').update({ with_sync = true })
end, end,
config = require('plugins.treesitter') config = require('plugins.treesitter')
} }
-- treesitter plugin for commentstring -- treesitter plugin for commentstring
use 'JoosepAlviste/nvim-ts-context-commentstring' use 'JoosepAlviste/nvim-ts-context-commentstring'
-- Additional plugins for formats not supported -- Additional plugins for formats not supported
-- by treesitter -- by treesitter
use 'jamespeapen/swayconfig.vim' use 'jamespeapen/swayconfig.vim'
-- mappings for commenting in code -- mappings for commenting in code
use 'tpope/vim-commentary' use 'tpope/vim-commentary'
-- we all know this one -- we all know this one
use 'tpope/vim-surround' use 'tpope/vim-surround'
-- Formatter plugin -- Formatter plugin
use 'sbdchd/neoformat' use 'sbdchd/neoformat'
-- Make editing passwords safer -- Make editing passwords safer
use { use {
'https://git.zx2c4.com/password-store', 'https://git.zx2c4.com/password-store',
rtp = 'contrib/vim/redact_pass.vim' rtp = 'contrib/vim/redact_pass.vim'
} }
-- Neovim inside Firefox -- Neovim inside Firefox
use { use {
'glacambre/firenvim', 'glacambre/firenvim',
run = function() vim.fn['firenvim#install'](0) end run = function() vim.fn['firenvim#install'](0) end
} }
-- Vim <3 Asciidoctor -- Vim <3 Asciidoctor
use 'habamax/vim-asciidoctor' use 'habamax/vim-asciidoctor'
-- Edit GPG encrypted files transparently -- Markdown preview plugin
use 'jamessan/vim-gnupg' use({ "iamcco/markdown-preview.nvim", run = "cd app && npm install",
setup = function() vim.g.mkdp_filetypes = { "markdown" } end, ft = { "markdown" }, })
-- High performance color highlighter -- Edit GPG encrypted files transparently
use { use 'jamessan/vim-gnupg'
'norcalli/nvim-colorizer.lua',
config = function() require('colorizer').setup() end
}
-- If Packer was just installed, -- High performance color highlighter
-- sync plugins use {
if Packer_bootstrap then require('packer').sync() end 'norcalli/nvim-colorizer.lua',
config = function() require('colorizer').setup() end
}
-- If Packer was just installed,
-- sync plugins
if Packer_bootstrap then require('packer').sync() end
end) end)
-- Sync plugins if Packer was just -- Sync plugins if Packer was just
-- installed -- installed
if Packer_bootstrap then if Packer_bootstrap then
print('Syncing plugins') print('Syncing plugins')
require('packer').sync() require('packer').sync()
end end