From 76b2929ec800ed21363a4059c44ce085dc969b49 Mon Sep 17 00:00:00 2001 From: Git E2E Dev Test Username Date: Tue, 18 Oct 2022 10:36:24 -0400 Subject: [PATCH] git subrepo clone (merge) https://github.com/ekalinin/dockerfile.vim.git ./dotfiles/.vim/plugged/dockerfile.vim subrepo: subdir: "dotfiles/.vim/plugged/dockerfile.vim" merged: "2a31e6bc" upstream: origin: "https://github.com/ekalinin/dockerfile.vim.git" branch: "master" commit: "2a31e6bc" git-subrepo: version: "0.4.3" origin: "???" commit: "???" --- .../.vim/plugged/dockerfile.vim/.gitignore | 2 + dotfiles/.vim/plugged/dockerfile.vim/.gitrepo | 12 ++ dotfiles/.vim/plugged/dockerfile.vim/LICENSE | 20 +++ dotfiles/.vim/plugged/dockerfile.vim/Makefile | 22 +++ .../.vim/plugged/dockerfile.vim/README.md | 55 ++++++ .../dockerfile.vim/ftdetect/Dockerfile.vim | 13 ++ .../ftdetect/docker-compose.vim | 4 + .../dockerfile.vim/ftplugin/Dockerfile.vim | 33 ++++ .../ftplugin/docker-compose.vim | 5 + .../dockerfile.vim/indent/Dockerfile.vim | 23 +++ .../snippets/Dockerfile.snippets | 67 +++++++ .../snippets/docker-compose.snippets | 166 ++++++++++++++++++ .../dockerfile.vim/syntax/Dockerfile.vim | 59 +++++++ .../dockerfile.vim/syntax/docker-compose.vim | 80 +++++++++ .../dockerfile.vim/vim-dockerfile-example.png | Bin 0 -> 57722 bytes 15 files changed, 561 insertions(+) create mode 100644 dotfiles/.vim/plugged/dockerfile.vim/.gitignore create mode 100644 dotfiles/.vim/plugged/dockerfile.vim/.gitrepo create mode 100644 dotfiles/.vim/plugged/dockerfile.vim/LICENSE create mode 100644 dotfiles/.vim/plugged/dockerfile.vim/Makefile create mode 100644 dotfiles/.vim/plugged/dockerfile.vim/README.md create mode 100644 dotfiles/.vim/plugged/dockerfile.vim/ftdetect/Dockerfile.vim create mode 100644 dotfiles/.vim/plugged/dockerfile.vim/ftdetect/docker-compose.vim create mode 100644 dotfiles/.vim/plugged/dockerfile.vim/ftplugin/Dockerfile.vim create mode 100644 dotfiles/.vim/plugged/dockerfile.vim/ftplugin/docker-compose.vim create mode 100644 dotfiles/.vim/plugged/dockerfile.vim/indent/Dockerfile.vim create mode 100644 dotfiles/.vim/plugged/dockerfile.vim/snippets/Dockerfile.snippets create mode 100644 dotfiles/.vim/plugged/dockerfile.vim/snippets/docker-compose.snippets create mode 100644 dotfiles/.vim/plugged/dockerfile.vim/syntax/Dockerfile.vim create mode 100644 dotfiles/.vim/plugged/dockerfile.vim/syntax/docker-compose.vim create mode 100644 dotfiles/.vim/plugged/dockerfile.vim/vim-dockerfile-example.png diff --git a/dotfiles/.vim/plugged/dockerfile.vim/.gitignore b/dotfiles/.vim/plugged/dockerfile.vim/.gitignore new file mode 100644 index 00000000..38193138 --- /dev/null +++ b/dotfiles/.vim/plugged/dockerfile.vim/.gitignore @@ -0,0 +1,2 @@ +*.swp +*.swo diff --git a/dotfiles/.vim/plugged/dockerfile.vim/.gitrepo b/dotfiles/.vim/plugged/dockerfile.vim/.gitrepo new file mode 100644 index 00000000..acd389a9 --- /dev/null +++ b/dotfiles/.vim/plugged/dockerfile.vim/.gitrepo @@ -0,0 +1,12 @@ +; DO NOT EDIT (unless you know what you are doing) +; +; This subdirectory is a git "subrepo", and this file is maintained by the +; git-subrepo command. See https://github.com/git-commands/git-subrepo#readme +; +[subrepo] + remote = https://github.com/ekalinin/dockerfile.vim.git + branch = master + commit = 2a31e6bcea5977209c05c728c4253d82fd873c82 + parent = 78b956b821bb0c96c5b2804c1461df0eb28cc559 + method = merge + cmdver = 0.4.3 diff --git a/dotfiles/.vim/plugged/dockerfile.vim/LICENSE b/dotfiles/.vim/plugged/dockerfile.vim/LICENSE new file mode 100644 index 00000000..27856ca5 --- /dev/null +++ b/dotfiles/.vim/plugged/dockerfile.vim/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2013 Eugene Kalinin + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/dotfiles/.vim/plugged/dockerfile.vim/Makefile b/dotfiles/.vim/plugged/dockerfile.vim/Makefile new file mode 100644 index 00000000..cf5ab3c9 --- /dev/null +++ b/dotfiles/.vim/plugged/dockerfile.vim/Makefile @@ -0,0 +1,22 @@ +install: + @echo "Installation:" + @mkdir -p ~/.vim/syntax + @mkdir -p ~/.vim/indent + @mkdir -p ~/.vim/ftdetect + @mkdir -p ~/.vim/ftplugin + @mkdir -p ~/.vim/snippets + @echo " * Dirs ... success." + @cp ./syntax/Dockerfile.vim ~/.vim/syntax/ + @cp ./syntax/docker-compose.vim ~/.vim/syntax/ + @echo " * Ident ... success." + @cp ./indent/Dockerfile.vim ~/.vim/indent/ + @echo " * Syntax ... success." + @cp ./ftdetect/Dockerfile.vim ~/.vim/ftdetect/ + @cp ./ftdetect/docker-compose.vim ~/.vim/ftdetect/ + @echo " * Filetype ... success." + @cp ./ftplugin/Dockerfile.vim ~/.vim/ftplugin/ + @cp ./ftplugin/docker-compose.vim ~/.vim/ftplugin/ + @echo " * Plugin ... success." + @cp ./snippets/Dockerfile.snippets ~/.vim/snippets/ + @cp ./snippets/docker-compose.snippets ~/.vim/snippets/ + @echo " * Snippets ... success." diff --git a/dotfiles/.vim/plugged/dockerfile.vim/README.md b/dotfiles/.vim/plugged/dockerfile.vim/README.md new file mode 100644 index 00000000..f24940a8 --- /dev/null +++ b/dotfiles/.vim/plugged/dockerfile.vim/README.md @@ -0,0 +1,55 @@ +Dockerfile.vim +============== + +Vim syntax file for [Docker](http://docker.io/)'s [Dockerfile](http://docs.docker.com/reference/builder/) +and snippets for [snipMate](http://www.vim.org/scripts/script.php?script_id=2540). + +Screenshot +========== + +Here is an example in gnome-terminal with [vim-monokai](https://github.com/sickill/vim-monokai) color scheme: + + +![Vim & Dockerfile.vim ](https://raw.github.com/ekalinin/Dockerfile.vim/master/vim-dockerfile-example.png) + + + +Installation +============ + +```bash +$ git clone https://github.com/ekalinin/Dockerfile.vim.git +$ cd Dockerfile.vim +$ make install +``` + +#### Or using Pathogen: +```bash +# Clone directly into the bundle folder. +git clone https://github.com/ekalinin/Dockerfile.vim.git ~/.vim/bundle/Dockerfile +``` + +#### Or using Vundle: +```bash +# near the top of your .vimrc +Plugin 'ekalinin/Dockerfile.vim' +``` + +#### Or using NeoBundle: + +```bash +NeoBundle 'ekalinin/Dockerfile.vim' +``` + +#### Or using Vim-Plug + +```bash +# Inside the Vim-Plug block on your .vimrc +Plug 'ekalinin/Dockerfile.vim' +``` + + +License +======= + +See [LICENSE](https://github.com/ekalinin/Dockerfile.vim/blob/master/LICENSE) file. diff --git a/dotfiles/.vim/plugged/dockerfile.vim/ftdetect/Dockerfile.vim b/dotfiles/.vim/plugged/dockerfile.vim/ftdetect/Dockerfile.vim new file mode 100644 index 00000000..63d5efca --- /dev/null +++ b/dotfiles/.vim/plugged/dockerfile.vim/ftdetect/Dockerfile.vim @@ -0,0 +1,13 @@ +" vint: -ProhibitAutocmdWithNoGroup + +" Dockerfile +autocmd BufRead,BufNewFile [Dd]ockerfile set ft=Dockerfile +autocmd BufRead,BufNewFile [Dd]ockerfile* setfiletype Dockerfile +autocmd BufRead,BufNewFile *.[Dd]ockerfile set ft=Dockerfile +autocmd BufRead,BufNewFile *.dock set ft=Dockerfile +autocmd BufRead,BufNewFile [Dd]ockerfile.vim set ft=vim + +" Containerfile +autocmd BufRead,BufNewFile [Cc]ontainerfile set ft=Dockerfile +autocmd BufRead,BufNewFile [Cc]ontainerfile* set ft=Dockerfile +autocmd BufRead,BufNewFile *.[Cc]ontainerfile set ft=Dockerfile diff --git a/dotfiles/.vim/plugged/dockerfile.vim/ftdetect/docker-compose.vim b/dotfiles/.vim/plugged/dockerfile.vim/ftdetect/docker-compose.vim new file mode 100644 index 00000000..61a3876c --- /dev/null +++ b/dotfiles/.vim/plugged/dockerfile.vim/ftdetect/docker-compose.vim @@ -0,0 +1,4 @@ +" vint: -ProhibitAutocmdWithNoGroup + +" docker-compose.yml +autocmd BufRead,BufNewFile docker-compose*.{yaml,yml}* set ft=yaml.docker-compose diff --git a/dotfiles/.vim/plugged/dockerfile.vim/ftplugin/Dockerfile.vim b/dotfiles/.vim/plugged/dockerfile.vim/ftplugin/Dockerfile.vim new file mode 100644 index 00000000..79edc460 --- /dev/null +++ b/dotfiles/.vim/plugged/dockerfile.vim/ftplugin/Dockerfile.vim @@ -0,0 +1,33 @@ +" Define comment string +setlocal commentstring=#\ %s + +" Enable automatic comment insertion +setlocal formatoptions+=cro + +function! DockerfileReplaceInstruction(original, replacement) + let syn = synIDtrans(synID(line("."), col(".") - 1, 0)) + if syn != hlID("Comment") && syn != hlID("Constant") && strlen(getline(".")) == 0 + let word = a:replacement + else + let word = a:original + endif + let g:UnduBuffer = a:original + return word +endfunction + +inoreabbr from =DockerfileReplaceInstruction("from", "FROM") +inoreabbr maintainer =DockerfileReplaceInstruction("maintainer", "MAINTAINER") +inoreabbr run =DockerfileReplaceInstruction("run", "RUN") +inoreabbr cmd =DockerfileReplaceInstruction("cmd", "CMD") +inoreabbr label =DockerfileReplaceInstruction("label", "LABEL") +inoreabbr expose =DockerfileReplaceInstruction("expose", "EXPOSE") +inoreabbr env =DockerfileReplaceInstruction("env", "ENV") +inoreabbr add =DockerfileReplaceInstruction("add", "ADD") +inoreabbr copy =DockerfileReplaceInstruction("copy", "COPY") +inoreabbr entrypoint =DockerfileReplaceInstruction("entrypoint", "ENTRYPOINT") +inoreabbr volume =DockerfileReplaceInstruction("volume", "VOLUME") +inoreabbr user =DockerfileReplaceInstruction("user", "USER") +inoreabbr workdir =DockerfileReplaceInstruction("workdir", "WORKDIR") +inoreabbr arg =DockerfileReplaceInstruction("arg", "ARG") +inoreabbr onbuild =DockerfileReplaceInstruction("onbuild", "ONBUILD") +inoreabbr stopsignal =DockerfileReplaceInstruction("stopsignal", "STOPSIGNAL") diff --git a/dotfiles/.vim/plugged/dockerfile.vim/ftplugin/docker-compose.vim b/dotfiles/.vim/plugged/dockerfile.vim/ftplugin/docker-compose.vim new file mode 100644 index 00000000..4564fd02 --- /dev/null +++ b/dotfiles/.vim/plugged/dockerfile.vim/ftplugin/docker-compose.vim @@ -0,0 +1,5 @@ +" Define comment string +setlocal commentstring=#\ %s + +" Enable automatic comment insertion +setlocal formatoptions+=cro diff --git a/dotfiles/.vim/plugged/dockerfile.vim/indent/Dockerfile.vim b/dotfiles/.vim/plugged/dockerfile.vim/indent/Dockerfile.vim new file mode 100644 index 00000000..e7b50581 --- /dev/null +++ b/dotfiles/.vim/plugged/dockerfile.vim/indent/Dockerfile.vim @@ -0,0 +1,23 @@ +if exists('b:did_indent') | finish | endif +let b:did_indent = 1 + + +function! DockerfileIndent(line) + let prev_line = getline(a:line - 1) + if a:line > 1 && prev_line =~ '\\\s*$' + let i = indent(a:line - 1) + if i == 0 + let i += &l:shiftwidth + if &l:expandtab && prev_line =~# '^RUN\s' + " Overindent past RUN + let i = 4 + &l:shiftwidth + endif + endif + return i + endif + + return -1 +endfunction + + +set indentexpr=DockerfileIndent(v:lnum) diff --git a/dotfiles/.vim/plugged/dockerfile.vim/snippets/Dockerfile.snippets b/dotfiles/.vim/plugged/dockerfile.vim/snippets/Dockerfile.snippets new file mode 100644 index 00000000..bc0e59ab --- /dev/null +++ b/dotfiles/.vim/plugged/dockerfile.vim/snippets/Dockerfile.snippets @@ -0,0 +1,67 @@ +snippet F + FROM ${1:ubuntu} +snippet f + FROM ${1:ubuntu} +snippet M + LABEL maintainer="${1:name}" +snippet m + LABEL maintainer="${1:name}" +snippet R + RUN ${1:command} +snippet r + RUN ${1:command} +snippet C + CMD ${1:command} +snippet c + CMD ${1:command} +snippet CP + COPY ${1:src} ${2:dest} +snippet cp + COPY ${1:src} ${2:dest} +snippet EXP + EXPOSE ${1:port} +snippet exp + EXPOSE ${1:port} +snippet E + ENV ${1:key} ${2:value} +snippet e + ENV ${1:key} ${2:value} +snippet A + ADD ${1:src} ${2:dst} +snippet a + ADD ${1:src} ${2:dst} +snippet ENT + ENTRYPOINT ${1:command} +snippet ent + ENTRYPOINT ${1:command} +snippet V + VOLUME ["${1:path}"] +snippet v + VOLUME ["${1:path}"] +snippet U + USER ${1:name} +snippet u + USER ${1:name} +snippet W + WORKDIR ${1:path} +snippet w + WORKDIR ${1:path} +snippet upd + # update packages + RUN echo "deb http://archive.ubuntu.com/ubuntu ${1:precise} main universe" > /etc/apt/sources.list; \ + apt-get update && apt-get -y upgrade; \ + ${2} + ;rm -rf /var/lib/apt/lists/* +snippet head + # ${1:Description} + # + # VERSION ${2:0.1.0} + ${3} +snippet O + ONBUILD ${1} +snippet o + ONBUILD ${1} +snippet L + LABEL ${1:label}="${2:value}" +snippet l + LABEL ${1:label}="${2:value}" diff --git a/dotfiles/.vim/plugged/dockerfile.vim/snippets/docker-compose.snippets b/dotfiles/.vim/plugged/dockerfile.vim/snippets/docker-compose.snippets new file mode 100644 index 00000000..82617cd5 --- /dev/null +++ b/dotfiles/.vim/plugged/dockerfile.vim/snippets/docker-compose.snippets @@ -0,0 +1,166 @@ +snippet ve + version: '${1:3}' +snippet volumes + volumes: + - ${1:value} +snippet volume_ + volume_driver: ${1:driver} +snippet volumes_ + volumes_from: + - ${1:name} +snippet exter + external: ${1:boolean} +snippet ser + services: + ${1:name} +snippet bu + build: + ${1:value} +snippet conte + context: ${1:dir} +snippet com + command: ${1:command} +snippet dep + depends_on: + ${1:value} +snippet env + environment: + ${1:name}: ${2:value} +snippet doc + dockerfile: ${1:file} +snippet ar + args: + ${1:name}: ${2:value} +snippet cap_a + cap_add: + - ${1:value} +snippet cap_d + cap_drop: + - ${1:value} +snippet cgr + cgroup_parent: ${1:cgroup} +snippet conta + container_name: ${1:name} +snippet dev + devices: + - ${1:value} +snippet dn + dns: + - ${1:ip} +snippet dns_ + dns_search: + - ${1:ip} +snippet tm + tmpfs: + - ${1:dir} +snippet ent + entrypoint: ${1:command} +snippet env_ + env_file: + - ${1:file} +snippet exp + expose: + - ${1:port} +snippet exten + extends: + file: ${1:file} + service: ${2:name} +snippet extr + extra_hosts: + - ${1:host}:${2:ip} +snippet gr + group_add: + - ${1:name} +snippet im + image: ${1:image} +snippet la + labels: + ${1:dns}: ${2:label} +snippet links + links: + - ${1:name} +snippet logg + logging: + driver: ${1:driver} + options: + ${2:value} +snippet log_d + log_driver: ${1:driver} +snippet log_o + log_opt: + ${1:value} +snippet net + net: ${1:value} +snippet network_ + network_mode: ${1:value} +snippet networks + networks: + - ${1:value} +snippet al + networks: + - ${1:name} +snippet ipv4 + ipv4_address: ${1:ip} +snippet ipv6 + ipv6_address: ${1:ip} +snippet link_ + link_local_ips: + - ${1:ip} +snippet pi + pid: ${1:host} +snippet po + ports: + - ${1:value} +snippet sec + security_opt: + - ${1:value} +snippet sto + stop_signal: ${1:signal} +snippet ul + ulimits: + ${1:value} +snippet cpu_s + cpu_shares: ${1:value} +snippet cpu_q + cpu_quota: ${1:value} +snippet cpus + cpuset: ${1:value} +snippet dom + domainname: ${1:name} +snippet ho + hostname: ${1:name} +snippet ipc + ipc: ${1:host} +snippet mem_ + mem_limit: ${1:value} +snippet mems + memswap_limit: ${1:value} +snippet pr + privileged: ${1:boolean} +snippet oom + oom_score_adj: ${1:value} +snippet res + restart: ${1:value} +snippet us + user: ${1:value} +snippet wo + working_dir: ${1:dir} +snippet rea + read_only: ${1:boolean} +snippet sh + shm_size: ${1:value} +snippet std + stdin_open: ${1:boolean} +snippet tt + tty: ${1:boolean} +snippet driver + driver: ${1:value} +snippet driver_ + driver_opts: + ${1:key}: ${2:value} +snippet ipa + ipam: + ${1:value} +snippet hc + healthcheck: + test: ${1:command} diff --git a/dotfiles/.vim/plugged/dockerfile.vim/syntax/Dockerfile.vim b/dotfiles/.vim/plugged/dockerfile.vim/syntax/Dockerfile.vim new file mode 100644 index 00000000..4bae623d --- /dev/null +++ b/dotfiles/.vim/plugged/dockerfile.vim/syntax/Dockerfile.vim @@ -0,0 +1,59 @@ +" Vim syntax file +" Language: Dockerfile +" Maintainer: Eugene Kalinin +" Latest Revision: 11 September 2013 +" Source: http://docs.docker.io/en/latest/use/builder/ + +if exists("b:current_syntax") + finish +endif + +" case sensitivity (fix #17) +" syn case ignore + +" Keywords +syn keyword dockerfileKeywords FROM AS MAINTAINER RUN CMD COPY +syn keyword dockerfileKeywords EXPOSE ADD ENTRYPOINT +syn keyword dockerfileKeywords VOLUME USER WORKDIR ONBUILD +syn keyword dockerfileKeywords LABEL ARG HEALTHCHECK SHELL STOPSIGNAL + +" Bash statements +setlocal iskeyword+=- +syn keyword bashStatement add-apt-repository adduser apk apt-get aptitude apt-key autoconf bundle +syn keyword bashStatement cd chgrp chmod chown clear complete composer cp curl du echo egrep +syn keyword bashStatement expr fgrep find gem gnufind gnugrep gpg grep groupadd head less ln +syn keyword bashStatement ls make mkdir mv node npm pacman pip pip3 php python rails rm rmdir rpm ruby +syn keyword bashStatement sed sleep sort strip tar tail tailf touch useradd virtualenv yum +syn keyword bashStatement usermod bash cat a2ensite a2dissite a2enmod a2dismod apache2ctl +syn keyword bashStatement wget gzip + +" Strings +syn region dockerfileString start=/"/ skip=/\\"|\\\\/ end=/"/ +syn region dockerfileString1 start=/'/ skip=/\\'|\\\\/ end=/'/ + +" Emails +syn region dockerfileEmail start=// contains=@ oneline + +" Urls +syn match dockerfileUrl /\(http\|https\|ssh\|hg\|git\)\:\/\/[a-zA-Z0-9\/\-\._]\+/ + +" Task tags +syn keyword dockerfileTodo contained TODO FIXME XXX + +" Comments +syn region dockerfileComment start="#" end="\n" contains=dockerfileTodo +syn region dockerfileEnvWithComment start="^\s*ENV\>" end="\n" contains=dockerfileEnv +syn match dockerfileEnv contained /\/ + +" Highlighting +hi link dockerfileKeywords Keyword +hi link dockerfileEnv Keyword +hi link dockerfileString String +hi link dockerfileString1 String +hi link dockerfileComment Comment +hi link dockerfileEmail Identifier +hi link dockerfileUrl Identifier +hi link dockerfileTodo Todo +hi link bashStatement Function + +let b:current_syntax = "dockerfile" diff --git a/dotfiles/.vim/plugged/dockerfile.vim/syntax/docker-compose.vim b/dotfiles/.vim/plugged/dockerfile.vim/syntax/docker-compose.vim new file mode 100644 index 00000000..47695283 --- /dev/null +++ b/dotfiles/.vim/plugged/dockerfile.vim/syntax/docker-compose.vim @@ -0,0 +1,80 @@ +" Vim syntax file +" Language: Dockerfile +" Maintainer: Eugene Kalinin +" Latest Revision: 11 September 2013 +" Source: https://docs.docker.com/compose/ + +if !exists('main_syntax') + let main_syntax = 'yaml' +endif + +" case sensitivity (fix #17) +" syn case ignore + +" Keywords +syn keyword dockercomposeKeywords build context dockerfile args cap_add cap_drop +syn keyword dockercomposeKeywords command cgroup_parent container_name devices depends_on +syn keyword dockercomposeKeywords dns dns_search tmpfs entrypoint env_file environment +syn keyword dockercomposeKeywords expose extends extends external_links extra_hosts +syn keyword dockercomposeKeywords group_add image isolation labels links +syn keyword dockercomposeKeywords log_opt net network_mode networks aliases +syn keyword dockercomposeKeywords ipv4_address ipv6_address link_local_ips pid ports +syn keyword dockercomposeKeywords security_opt stop_signal ulimits volumes volume_driver +syn keyword dockercomposeKeywords volumes_from cpu_shares cpu_quota cpuset domainname hostname +syn keyword dockercomposeKeywords ipc mac_address mem_limit memswap_limit oom_score_adj privileged +syn keyword dockercomposeKeywords read_only restart shm_size stdin_open tty user working_dir +syn keyword dockercomposeKeywords healthcheck test interval timeout retries disable sysctls +syn keyword dockercomposeKeywords userns_mode secrets +"" Volume configuration reference +syn keyword dockercomposeKeywords driver driver_opts external labels +"" Network configuration reference +syn keyword dockercomposeKeywords driver driver_opts enable_ipv6 ipam internal labels external +"" Versioning +syn keyword dockercomposeKeywords version services +"" Logging +syn keyword dockercomposeKeywords logging log_driver env options max-size max-file +syn keyword dockercomposeKeywords syslog-address syslog-facility syslog-tls-ca-cert syslog-tls-cert +syn keyword dockercomposeKeywords syslog-tls-key syslog-tls-skip tag syslog-format gelf-address +syn keyword dockercomposeKeywords gelf-compression-type gelf-compression-level fluentd-address +syn keyword dockercomposeKeywords fluentd-buffer-limit fluentd-retry-wait fluentd-max-retries +syn keyword dockercomposeKeywords fluentd-async-connect awslogs-region awslogs-group awslogs-stream +syn keyword dockercomposeKeywords splunk-token splunk-url splunk-source splunk-sourcetype splunk-index +syn keyword dockercomposeKeywords splunk-capath splunk-caname splunk-insecureskipverify gcp-project log-cmd + +" Bash statements +setlocal iskeyword+=- +syn keyword bashStatement add-apt-repository adduser apk apt-get aptitude apt-key autoconf bundle +syn keyword bashStatement cd chgrp chmod chown clear complete composer cp curl du echo egrep +syn keyword bashStatement expr fgrep find gem gnufind gnugrep gpg grep groupadd head less ln +syn keyword bashStatement ls make mkdir mv node npm pacman pip pip3 php python rails rm rmdir rpm ruby +syn keyword bashStatement sed sleep sort strip tar tail tailf touch useradd virtualenv yum +syn keyword bashStatement usermod bash cat a2ensite a2dissite a2enmod a2dismod apache2ctl +syn keyword bashStatement wget gzip + +" Strings +syn region dockercomposeString start=/"/ skip=/\\"/ end=/"/ +syn region dockercomposeString1 start=/'/ skip=/\\'/ end=/'/ + +" Emails +syn region dockercomposeEmail start=// contains=@ oneline + +" Urls +syn match dockercomposeUrl /\(http\|https\|ssh\|hg\|git\)\:\/\/[a-zA-Z0-9\/\-\.]\+/ + +" Task tags +syn keyword dockercomposeTodo contained TODO FIXME XXX + +" Comments +syn region dockercomposeComment start="#" end="\n" contains=dockercomposeTodo + +" Highlighting +hi link dockercomposeKeywords Keyword +hi link dockercomposeString String +hi link dockercomposeString1 String +hi link dockercomposeComment Comment +hi link dockercomposeEmail Identifier +hi link dockercomposeUrl Identifier +hi link dockercomposeTodo Todo +hi link bashStatement Function + +let b:current_syntax = "dockercompose" diff --git a/dotfiles/.vim/plugged/dockerfile.vim/vim-dockerfile-example.png b/dotfiles/.vim/plugged/dockerfile.vim/vim-dockerfile-example.png new file mode 100644 index 0000000000000000000000000000000000000000..c82f871f84f7a27ee90783ac65a997708e0f033f GIT binary patch literal 57722 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 literal 0 HcmV?d00001