nvim-cmp source(s)

長かったような...、短かったような...。

ついにこのメドレーもフィナーレの時❗

Oh yeah, alright

Are you going to be in my dreams

あーそうだね、いいよ

きみは僕の夢に出てくるんだろ

Tonight? 1

今夜?

source for...

駆け抜けろ❗一気に😆

Love you, love you 2

Love you, love you...

cmp-buffer

nvim-cmp source for buffer words.

バッファ内単語の nvim-cmp ソース。

extensions/init.lua

use {
  'hrsh7th/nvim-cmp',
  config = function() require 'extensions.nvim-cmp' end,
  requires = {
    'hrsh7th/cmp-nvim-lsp',
+   'hrsh7th/cmp-buffer',

    (中略)
  }
}

extensions/nvim-cmp.lua

  sources = cmp.config.sources {
    { name = 'nvim_lsp' },
    { name = 'luasnip' },
    { name = 'copilot' },
+   { name = 'buffer' },
  },
beforecmp-buffer-before
aftercmp-buffer-after

extensions/nvim-cmp.lua

cmp.setup {

  (中略)

}

+cmp.setup.cmdline({ '/', '?' }, {
+  sources = cmp.config.sources {
+    {
+      name = 'buffer',
+      option = {
+        keyword_pattern = [[\k\+]],
+      },
+    },
+  },
+})

Default: [[\%(-\?\d\+\%(\.\d\+\)\?\|\h\w*\%([\-.]\w*\)*\)]]

A vim's regular expression for creating a word list from buffer content.

バッファの内容から単語リストを作成するためのvimの正規表現。

You can set this to [[\k\+]] if you want to use the iskeyword option for recognizing words. Lua's [[ ]] string literals are particularly useful here to avoid escaping all of the backslash (\) characters used for writing regular expressions.

iskeywordオプションを使って単語を認識したい場合は、これを[[\k\+]]に設定します。 Luaの[[ ]]文字列リテラルは、正規表現の記述に使用されるバックスラッシュ(\) のエスケープを回避するために特に有用です。

beforecmp-buffer-find-before
aftercmp-buffer-find-after

cmp-cmdline

nvim-cmp source for vim's cmdline.

vim の cmdline 用 nvim-cmp ソース。

extensions/init.lua

use {
  'hrsh7th/nvim-cmp',
  config = function() require 'extensions.nvim-cmp' end,
  requires = {
    'hrsh7th/cmp-nvim-lsp', 'hrsh7th/cmp-buffer',
+   'hrsh7th/cmp-cmdline',

    (中略)
  }
}

extensions/nvim-cmp.lua

+cmp.setup.cmdline(':', {
+  mapping = cmp.mapping.preset.cmdline(),
+  sources = cmp.config.sources {
+    { name = 'cmdline' },
+  },
+})

cmp.setup.cmdline({ '/', '?' }, {
+ mapping = cmp.mapping.preset.cmdline(),
  sources = cmp.config.sources {
    {
      name = 'buffer',
      option = {
        keyword_pattern = [[\k\+]],
      },
    },
  },
})
beforecmp-cmdline-before
aftercmp-cmdline-after

cmp-path

nvim-cmp source for filesystem paths.

ファイルシステムパス用の nvim-cmp ソース。

extensions/init.lua

use {
  'hrsh7th/nvim-cmp',
  config = function() require 'extensions.nvim-cmp' end,
  requires = {
    'hrsh7th/cmp-nvim-lsp', 'hrsh7th/cmp-buffer', 'hrsh7th/cmp-cmdline',
+   'hrsh7th/cmp-path',

    (中略)
  }
}

extensions/nvim-cmp.lua

cmp.setup {

  (中略)

  sources = cmp.config.sources {
    { name = 'nvim_lsp' },
    { name = 'luasnip' },
    { name = 'copilot' },
    { name = 'buffer' },
+   { name = 'path' },
  },

  (中略)
}

cmp.setup.cmdline(':', {
  sources = cmp.config.sources {
    { name = 'cmdline' },
+   { name = 'path' },
  },
})
cmp-path

lspkind.nvim

This tiny plugin adds vscode-like pictograms to neovim built-in lsp:

この小さなプラグインは、neovim の内蔵 lsp に vscode のような絵文字を追加します:

extensions/init.lua

use {
  'hrsh7th/nvim-cmp',
  config = function() require 'extensions.nvim-cmp' end,
  requires = {
    'hrsh7th/cmp-nvim-lsp', 'hrsh7th/cmp-buffer', 'hrsh7th/cmp-path', 'hrsh7th/cmp-cmdline',
+   'onsails/lspkind-nvim',

    (中略)
  }
}

extensions/nvim-cmp.lua

cmp.setup {

  -- (中略)

  formatting = {
    format = require('lspkind').cmp_format {
      mode = 'symbol',
      preset = 'codicons',
    },
  },
}

Highlighting & icon (copilot-cmp)

Copilot's cmp source now has a builtin highlight group CmpItemKindCopilot. To add an icon to copilot for lspkind, simply add copilot to your lspkind symbol map.

Copilot の cmp ソースに、組み込みのハイライトグループCmpItemKindCopilotが追加されました。 lspkind の copilot にアイコンを追加するには、lspkind のシンボルマップに copilot を追加するだけです。

Alternatively, you can add Copilot to the lspkind symbol_map within the cmp format function.

または、cmp フォーマット関数内で lspkind symbol_mapに Copilot を追加することもできます。

extensions/nvim-cmp.lua

cmp.setup {

  -- (中略)

  formatting = {
    format = require('lspkind').cmp_format {
      mode = 'symbol',
      preset = 'codicons',
+      symbol_map = { Copilot = '' },
    },
  },
}
beforelspkind-before
afterlspkind-after

(Plus: cmp-path)

lspkind-path-after

(Plus: cmp-cmdline)

lspkind-cmdline-after

The End

And in the end3

結局のところ

Success

The love you take

Is equal to the love you make 4

きみが得る愛と

与える愛はイコールなんだよ

実は、まだ自分で描いたロードマップを踏破できてないんですね〜🙀

copilotは当初の予定に無かったから、これでちょっと足りなくなっちゃったよね❗haha😆

...まあ、そもそも行き当たりばったりでずーっとやらせてもろ〜てますけど❤️

ぶっちゃけ "順番間違えたなー" とは思ってますが、ちゃんと落とし前はつけます。

つまり、もうちょっとだけ続く❗

続くったら続く... 🐅 🦍 🐘 🦒

Her Majesty5 was a pretty nice girl

But she doesn't have was a lot to say

陛下はとても素敵な女性だった

多くは語らなかったけどね