Vim YAML แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒ— Kubernetes-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก

แฒจแƒ”แƒœแƒ˜แƒจแƒ•แƒœแƒ. แƒ—แƒแƒ แƒ’แƒ›แƒœแƒ: แƒแƒ แƒ˜แƒ’แƒ˜แƒœแƒแƒšแƒฃแƒ แƒ˜ แƒกแƒขแƒแƒขแƒ˜แƒ แƒ“แƒแƒ˜แƒฌแƒ”แƒ แƒ แƒฏแƒแƒจ แƒ แƒแƒกแƒแƒ›, VMware-แƒ˜แƒก แƒแƒ แƒฅแƒ˜แƒขแƒ”แƒฅแƒขแƒแƒ แƒ›แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ“แƒ แƒ” แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ“แƒ แƒ˜แƒกแƒ”แƒ— แƒ™แƒแƒ›แƒžแƒแƒœแƒ˜แƒ”แƒ‘แƒจแƒ˜, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ CoreOS แƒ“แƒ Heptio แƒ“แƒ แƒแƒกแƒ”แƒ•แƒ” แƒแƒ แƒ˜แƒก Kubernetes alb-ingress-แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ แƒ˜แƒก แƒ—แƒแƒœแƒแƒแƒ•แƒขแƒแƒ แƒ˜. แƒแƒ•แƒขแƒแƒ แƒ˜ แƒ˜แƒ–แƒ˜แƒแƒ แƒ”แƒ‘แƒก แƒžแƒแƒขแƒแƒ แƒ แƒ แƒ”แƒชแƒ”แƒžแƒขแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒซแƒแƒšแƒ˜แƒแƒœ แƒกแƒแƒกแƒแƒ แƒ’แƒ”แƒ‘แƒšแƒ แƒ˜แƒงแƒแƒก โ€žแƒซแƒ•แƒ”แƒšแƒ˜ แƒกแƒ™แƒแƒšแƒ˜แƒกโ€œ แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ˜แƒœแƒŸแƒ˜แƒœแƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒฃแƒžแƒ˜แƒ แƒแƒขแƒ”แƒกแƒแƒ‘แƒแƒก แƒแƒœแƒ˜แƒญแƒ”แƒ‘แƒ”แƒœ vim-แƒก, แƒ—แƒฃแƒœแƒ“แƒแƒช แƒ’แƒแƒ›แƒแƒ แƒฏแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฆแƒ แƒฃแƒ‘แƒšแƒ˜แƒก แƒ”แƒžแƒแƒฅแƒแƒจแƒ˜.

Vim YAML แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒ— Kubernetes-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก

YAML แƒ›แƒแƒœแƒ˜แƒคแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒฌแƒ”แƒ แƒ Kubernetes-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก vim-แƒจแƒ˜? แƒฃแƒ—แƒ•แƒแƒšแƒแƒ•แƒ˜ แƒกแƒแƒแƒ—แƒ˜ แƒ’แƒแƒแƒขแƒแƒ แƒ”แƒ— แƒ˜แƒ›แƒ˜แƒก แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ—แƒฃ แƒกแƒแƒ“ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒ•แƒ”แƒšแƒ˜ แƒแƒ› แƒกแƒžแƒ”แƒชแƒ˜แƒคแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒจแƒ˜? แƒแƒœ แƒ˜แƒฅแƒœแƒ”แƒ‘ แƒ“แƒแƒแƒคแƒแƒกแƒ”แƒ‘แƒ— แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒ˜แƒก แƒกแƒฌแƒ แƒแƒค แƒจแƒ”แƒฎแƒกแƒ”แƒœแƒ”แƒ‘แƒแƒก args ะธ command? แƒ™แƒแƒ แƒ’แƒ˜ แƒแƒ›แƒ‘แƒแƒ•แƒ˜แƒ! Vim-แƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜แƒ yaml-แƒ”แƒœแƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒ˜ แƒ“แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก, แƒ•แƒแƒšแƒ˜แƒ“แƒแƒชแƒ˜แƒ˜แƒก แƒ“แƒ แƒกแƒฎแƒ•แƒ แƒ›แƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ‘แƒฃแƒšแƒแƒ‘แƒ˜แƒก แƒ›แƒ˜แƒกแƒแƒฆแƒ”แƒ‘แƒแƒ“. แƒแƒ› แƒกแƒขแƒแƒขแƒ˜แƒแƒจแƒ˜ แƒ•แƒ˜แƒกแƒแƒฃแƒ‘แƒ แƒ”แƒ‘แƒ— แƒ˜แƒ›แƒแƒ–แƒ”, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒฃแƒœแƒ“แƒ แƒ“แƒแƒแƒงแƒ”แƒœแƒแƒ— แƒ”แƒœแƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜ แƒแƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก.

(แƒแƒ แƒ˜แƒ’แƒ˜แƒœแƒแƒšแƒฃแƒ แƒ˜ แƒกแƒขแƒแƒขแƒ˜แƒแƒช แƒแƒ แƒ˜แƒก แƒ•แƒ˜แƒ“แƒ”แƒ, แƒกแƒแƒ“แƒแƒช แƒแƒ•แƒขแƒแƒ แƒ˜ แƒกแƒแƒฃแƒ‘แƒ แƒแƒ‘แƒก แƒ“แƒ แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก แƒ›แƒแƒกแƒแƒšแƒ˜แƒก แƒจแƒ˜แƒœแƒแƒแƒ แƒกแƒก.)

แƒ”แƒœแƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜

แƒ”แƒœแƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜ (แƒ”แƒœแƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜) แƒ˜แƒกแƒแƒฃแƒ‘แƒ แƒ”แƒ— แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ”แƒ‘แƒ–แƒ” แƒ แƒ”แƒ“แƒแƒฅแƒขแƒแƒ แƒ”แƒ‘แƒกแƒ แƒ“แƒ IDE-แƒ”แƒ‘แƒ–แƒ”, แƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒกแƒแƒช แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒแƒ‘แƒ”แƒœ แƒ”แƒ แƒ—แƒ›แƒแƒœแƒ”แƒ—แƒ—แƒแƒœ แƒกแƒžแƒ”แƒชแƒ˜แƒแƒšแƒฃแƒ แƒ˜ แƒžแƒ แƒแƒขแƒแƒ™แƒแƒšแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— - แƒ”แƒœแƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒžแƒ แƒแƒขแƒแƒ™แƒแƒšแƒ˜ (LSP). แƒ”แƒก แƒจแƒ”แƒกแƒแƒœแƒ˜แƒจแƒœแƒแƒ•แƒ˜ แƒ›แƒ˜แƒ“แƒ’แƒแƒ›แƒแƒ, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒแƒซแƒšแƒ”แƒ•แƒก แƒ”แƒ แƒ— แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒแƒก แƒ”แƒ แƒ—แƒ“แƒ แƒแƒฃแƒšแƒแƒ“ แƒ›แƒ˜แƒแƒฌแƒแƒ“แƒแƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒ‘แƒ”แƒ•แƒ  แƒ แƒ”แƒ“แƒแƒฅแƒขแƒแƒ แƒก/IDE-แƒก. แƒ›แƒ” แƒฃแƒ™แƒ•แƒ” แƒฌแƒ”แƒ แƒ“แƒ แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒ’แƒแƒคแƒšแƒ”แƒ‘แƒ˜ - แƒ”แƒœแƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ Golang-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก - แƒ“แƒ แƒ แƒแƒ’แƒแƒ  แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ›แƒ˜แƒกแƒ˜ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ vim. Kubernetes-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก YAML-แƒจแƒ˜ แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒ˜ แƒ“แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒ‘แƒ˜แƒฏแƒ”แƒ‘แƒ˜ แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜แƒ.

Vim YAML แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒ— Kubernetes-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก

แƒ˜แƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ› vim-แƒ›แƒ แƒ˜แƒ›แƒฃแƒจแƒแƒแƒก แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜ แƒ’แƒ–แƒ˜แƒ—, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ“แƒแƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒแƒ— แƒ”แƒœแƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜. แƒ›แƒ” แƒ•แƒ˜แƒชแƒ˜ แƒแƒ แƒ˜ แƒ›แƒ”แƒ—แƒแƒ“แƒ˜ LanguageClient-neovim ะธ coc.vim. แƒกแƒขแƒแƒขแƒ˜แƒแƒจแƒ˜ แƒ’แƒแƒœแƒ•แƒ˜แƒฎแƒ˜แƒšแƒแƒ• coc.vim - แƒ”แƒก แƒแƒ แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒžแƒแƒžแƒฃแƒšแƒแƒ แƒฃแƒšแƒ˜ แƒ›แƒแƒ“แƒฃแƒšแƒ˜ แƒแƒ›แƒŸแƒแƒ›แƒแƒ“. แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ“แƒแƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒแƒ— แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ— vim-plug:

" Use release branch (Recommend)
Plug 'neoclide/coc.nvim', {'branch': 'release'}

" Or build from source code by use yarn: https://yarnpkg.com
Plug 'neoclide/coc.nvim', {'do': 'yarn install --frozen-lockfile'}

แƒ“แƒแƒกแƒแƒฌแƒงแƒ”แƒ‘แƒแƒ“ coc (แƒ“แƒ แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒแƒ“ yaml-language-server) แƒ“แƒแƒกแƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ node.js แƒ“แƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒ:

curl -sL install-node.now.sh/lts | bash

แƒ แƒแƒ“แƒ”แƒกแƒแƒช coc.vim แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜, แƒ“แƒแƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ— แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ’แƒแƒคแƒแƒ แƒ—แƒแƒ”แƒ‘แƒ coc-yaml vim-แƒ˜แƒกแƒ’แƒแƒœ:

:CocInstall coc-yaml

Vim YAML แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒ— Kubernetes-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก

แƒ“แƒแƒ‘แƒแƒšแƒแƒก, แƒ“แƒ˜แƒ“แƒ˜ แƒแƒšแƒ‘แƒแƒ—แƒแƒ‘แƒ˜แƒ— แƒ›แƒแƒ’แƒ˜แƒœแƒ“แƒ”แƒ‘แƒแƒ— แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒ“แƒแƒฌแƒงแƒ”แƒ‘แƒ coc-vim, แƒฌแƒแƒ แƒ›แƒแƒ“แƒ’แƒ”แƒœแƒ˜แƒšแƒ˜ แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜. แƒ™แƒ”แƒ แƒซแƒแƒ“, แƒ˜แƒก แƒแƒแƒฅแƒขแƒ˜แƒฃแƒ แƒ”แƒ‘แƒก แƒ™แƒแƒ›แƒ‘แƒ˜แƒœแƒแƒชแƒ˜แƒแƒก + แƒกแƒ˜แƒ•แƒ แƒชแƒ” แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒ˜ แƒ“แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒซแƒแƒฎแƒ”แƒ‘แƒ.

yaml-language-server-แƒ˜แƒก แƒแƒ›แƒแƒชแƒœแƒแƒ‘แƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ

แƒ แƒแƒ› coc แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒก yaml-language-server, แƒ›แƒแƒก แƒฃแƒœแƒ“แƒ แƒ›แƒแƒ”แƒ—แƒฎแƒแƒ•แƒแƒก แƒกแƒฅแƒ”แƒ›แƒ˜แƒก แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ Kubernetes-แƒ“แƒแƒœ YAML แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ แƒ”แƒ“แƒแƒฅแƒขแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒแƒก. แƒ”แƒก แƒ™แƒ”แƒ—แƒ“แƒ”แƒ‘แƒ แƒ แƒ”แƒ“แƒแƒฅแƒขแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒ— coc-config:

:CocConfig

แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒแƒจแƒ˜ แƒ“แƒแƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ— แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ kubernetes แƒงแƒ•แƒ”แƒšแƒ แƒคแƒแƒ˜แƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก yaml. แƒ›แƒ” แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ— แƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘ แƒ”แƒœแƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒก golangแƒแƒกแƒ” แƒ แƒแƒ›, แƒฉแƒ”แƒ›แƒ˜ แƒ–แƒแƒ’แƒแƒ“แƒ˜ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ แƒแƒกแƒ” แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒ:

{
  "languageserver": {
      "golang": {
        "command": "gopls",
        "rootPatterns": ["go.mod"],
        "filetypes": ["go"]
      }
  },

  "yaml.schemas": {
      "kubernetes": "/*.yaml"
  }
}

kubernetes โ€” แƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ•แƒ”แƒšแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ”แƒฃแƒ‘แƒœแƒ”แƒ‘แƒ แƒ”แƒœแƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒก แƒฉแƒแƒ›แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒแƒก Kubernetes แƒกแƒฅแƒ”แƒ›แƒ แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒฃแƒšแƒ˜ URL-แƒ“แƒแƒœ แƒ”แƒก แƒ›แƒฃแƒ“แƒ›แƒ˜แƒ•แƒ˜. yaml.schemas แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒคแƒแƒ แƒ—แƒแƒ•แƒ“แƒ”แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒกแƒฅแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒกแƒแƒญแƒ”แƒ แƒแƒ“ - แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒ“แƒ”แƒขแƒแƒšแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ˜แƒฎ แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒ˜ แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ.

แƒแƒฎแƒšแƒ แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒจแƒ”แƒฅแƒ›แƒœแƒแƒ— YAML แƒคแƒแƒ˜แƒšแƒ˜ แƒ“แƒ แƒ“แƒแƒ˜แƒฌแƒงแƒแƒ— แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒ˜ แƒจแƒ”แƒ•แƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ. แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒ— + แƒกแƒ˜แƒ•แƒ แƒชแƒ” (แƒแƒœ vim-แƒจแƒ˜ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒฎแƒ•แƒ แƒ™แƒแƒ›แƒ‘แƒ˜แƒœแƒแƒชแƒ˜แƒ) แƒฃแƒœแƒ“แƒ แƒแƒฉแƒ•แƒ”แƒœแƒแƒก แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜ แƒ•แƒ”แƒšแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” แƒ™แƒแƒœแƒขแƒ”แƒฅแƒกแƒขแƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—:

Vim YAML แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒ— Kubernetes-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก
แƒแƒฅ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก +space แƒ˜แƒ›แƒ˜แƒขแƒแƒ› แƒ แƒแƒ› แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ แƒ’แƒแƒ•แƒแƒ™แƒ”แƒ—แƒ” inoremap <silent><expr> <c-space> coc#refresh(). แƒ—แƒฃ แƒ”แƒก แƒแƒ  แƒ’แƒแƒ’แƒ˜แƒ™แƒ”แƒ—แƒ”แƒ‘แƒ˜แƒแƒ—, แƒœแƒแƒฎแƒ”แƒ— coc.nvim README แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

Kubernetes API แƒ•แƒ”แƒ แƒกแƒ˜แƒ˜แƒก แƒจแƒ”แƒ แƒฉแƒ”แƒ•แƒ

แƒแƒ› แƒ“แƒแƒฌแƒ”แƒ แƒ˜แƒก แƒ›แƒแƒ›แƒ”แƒœแƒขแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, yaml-language-server แƒ˜แƒ’แƒ–แƒแƒ•แƒœแƒ”แƒ‘แƒ Kubernetes 1.14.0 แƒกแƒฅแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒ—. แƒกแƒฅแƒ”แƒ›แƒ˜แƒก แƒ“แƒ˜แƒœแƒแƒ›แƒ˜แƒฃแƒ แƒแƒ“ แƒแƒ แƒฉแƒ”แƒ•แƒ˜แƒก แƒ’แƒ–แƒ แƒ•แƒ”แƒ  แƒ•แƒ˜แƒžแƒแƒ•แƒ”, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒ’แƒแƒ•แƒฎแƒกแƒ”แƒœแƒ˜ แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒ˜ GitHub แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ. แƒกแƒแƒ‘แƒ”แƒ“แƒœแƒ˜แƒ”แƒ แƒแƒ“, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ”แƒœแƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ แƒ“แƒแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜แƒ แƒกแƒแƒ‘แƒ”แƒญแƒ“แƒ˜ แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜แƒ—, แƒ•แƒ”แƒ แƒกแƒ˜แƒ˜แƒก แƒฎแƒ”แƒšแƒ˜แƒ— แƒจแƒ”แƒชแƒ•แƒšแƒ แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜แƒ. แƒแƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒ˜แƒžแƒแƒ•แƒ”แƒ— แƒคแƒแƒ˜แƒšแƒ˜ server.ts.

แƒ—แƒฅแƒ•แƒ”แƒœแƒก แƒแƒžแƒแƒ แƒแƒขแƒ–แƒ” แƒ›แƒ˜แƒก แƒแƒ›แƒแƒกแƒแƒชแƒœแƒแƒ‘แƒแƒ“, แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒ’แƒแƒฎแƒกแƒ”แƒœแƒ˜แƒ— YAML แƒคแƒแƒ˜แƒšแƒ˜ vim-แƒ˜แƒ— แƒ“แƒ แƒ˜แƒžแƒแƒ•แƒ”แƒ— แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜ yaml-language-server.

ps aux | grep -i yaml-language-server

joshrosso         2380  45.9  0.2  5586084  69324   ??  S     9:32PM   0:00.43 /usr/local/Cellar/node/13.5.0/bin/node /Users/joshrosso/.config/coc/extensions/node_modules/coc-yaml/node_modules/yaml-language-server/out/server/src/server.js --node-ipc --node-ipc --clientProcessId=2379
joshrosso         2382   0.0  0.0  4399352    788 s001  S+    9:32PM   0:00.00 grep -i yaml-language-server

แƒฉแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒ˜ แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜แƒ แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜ 2380: แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ˜แƒก, แƒ แƒแƒกแƒแƒช แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก vim YAML แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ แƒ”แƒ“แƒแƒฅแƒขแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒแƒก.

แƒ แƒแƒ’แƒแƒ แƒช แƒแƒ“แƒ•แƒ˜แƒšแƒแƒ“ แƒฎแƒ”แƒ“แƒแƒ•แƒ—, แƒคแƒแƒ˜แƒšแƒ˜ แƒ›แƒ“แƒ”แƒ‘แƒแƒ แƒ”แƒแƒ‘แƒก /Users/joshrosso/.config/coc/extensions/node_modules/coc-yaml/node_modules/yaml-language-server/out/server/src/server.js. แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒจแƒ”แƒชแƒ•แƒแƒšแƒ”แƒ— แƒ˜แƒ’แƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ˜แƒ— KUBERNETES_SCHEMA_URLแƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, 1.17.0 แƒ•แƒ”แƒ แƒกแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก:

// old 1.14.0 schema
//exports.KUBERNETES_SCHEMA_URL = "https://raw.githubusercontent.com/garethr/kubernetes-json-schema/master/v1.14.0-standalone-strict/all.json";
// new 1.17.0 schema in instrumenta repo
exports.KUBERNETES_SCHEMA_URL = "https://raw.githubusercontent.com/instrumenta/kubernetes-json-schema/master/v1.17.0-standalone-strict/all.json";

แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ•แƒ”แƒ แƒกแƒ˜แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ— coc-yaml แƒ™แƒแƒ“แƒจแƒ˜ แƒชแƒ•แƒšแƒแƒ“แƒ˜แƒก แƒ›แƒ“แƒ”แƒ‘แƒแƒ แƒ”แƒแƒ‘แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ“แƒ”แƒ‘แƒแƒ“แƒ”แƒก. แƒแƒกแƒ”แƒ•แƒ” แƒ’แƒแƒ˜แƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒ”แƒ—, แƒ แƒแƒ› แƒ›แƒ” แƒจแƒ”แƒ•แƒชแƒ•แƒแƒšแƒ” แƒกแƒแƒชแƒแƒ•แƒ˜ garethr on instrumenta. แฒ แƒแƒ’แƒแƒ แƒช แƒฉแƒแƒœแƒก garethr แƒ’แƒแƒ“แƒแƒ”แƒ แƒ—แƒ แƒ˜แƒฅ แƒ“แƒแƒ›แƒฎแƒ›แƒแƒ แƒ” แƒกแƒฅแƒ”แƒ›แƒ”แƒ‘แƒ–แƒ”.

แƒ˜แƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒšแƒแƒ“, แƒ แƒแƒ› แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ แƒจแƒ”แƒ•แƒ˜แƒ“แƒ แƒซแƒแƒšแƒแƒจแƒ˜, แƒœแƒแƒฎแƒ”แƒ— แƒ—แƒฃ แƒแƒ แƒ แƒ•แƒ”แƒšแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒฅแƒแƒ›แƒ“แƒ” แƒแƒ  แƒ˜แƒงแƒ [Kubernetes-แƒ˜แƒก แƒฌแƒ˜แƒœแƒ แƒ•แƒ”แƒ แƒกแƒ˜แƒ”แƒ‘แƒจแƒ˜]. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, K8s 1.14 แƒ“แƒ˜แƒแƒ’แƒ แƒแƒ›แƒแƒจแƒ˜ แƒแƒ  แƒ˜แƒงแƒ startupProbe:

Vim YAML แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒ— Kubernetes-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก

แƒ แƒ”แƒ–แƒ˜แƒฃแƒ›แƒ”

แƒ˜แƒ›แƒ”แƒ“แƒ˜ แƒ›แƒแƒฅแƒ•แƒก, แƒ แƒแƒ› แƒ”แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ แƒ˜แƒกแƒ”แƒ•แƒ” แƒ’แƒแƒ’แƒแƒฎแƒแƒ แƒ”แƒ‘แƒ—, แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒ”. แƒ‘แƒ”แƒ“แƒœแƒ˜แƒ”แƒ แƒ˜ YAMLing! แƒ“แƒแƒ แƒฌแƒ›แƒฃแƒœแƒ“แƒ˜แƒ—, แƒ แƒแƒ› แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ— แƒ”แƒก แƒกแƒแƒชแƒแƒ•แƒ˜, แƒ แƒแƒ› แƒฃแƒ™แƒ”แƒ— แƒ’แƒแƒ˜แƒ’แƒแƒ— แƒกแƒขแƒแƒขแƒ˜แƒแƒจแƒ˜ แƒœแƒแƒฎแƒกแƒ”แƒœแƒ”แƒ‘แƒ˜ แƒ™แƒแƒ›แƒฃแƒœแƒแƒšแƒฃแƒ แƒ˜ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜:

PS แƒ›แƒ—แƒแƒ แƒ’แƒ›แƒœแƒ”แƒšแƒ˜แƒกแƒ’แƒแƒœ

แƒ“แƒ แƒแƒกแƒ”แƒ•แƒ” แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก แƒ•แƒ˜แƒ™แƒฃแƒ‘แƒ”, แƒ•แƒ˜แƒ›-แƒ™แƒฃแƒ‘แƒ”แƒ แƒœแƒ”แƒขแƒ”แƒ‘แƒ˜ ะธ แƒ•แƒ˜แƒ›แƒ™แƒฃแƒ‘แƒ”แƒฅแƒขแƒšแƒ˜.

แƒแƒกแƒ”แƒ•แƒ” แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒฉแƒ•แƒ”แƒœแƒก แƒ‘แƒšแƒแƒ’แƒ–แƒ”:

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ