Module: RuVim::Lang::Dockerfile

Defined in:
lib/ruvim/lang/dockerfile.rb

Constant Summary collapse

INSTRUCTIONS =
%w[
  FROM AS RUN CMD EXPOSE ENV ADD COPY ENTRYPOINT VOLUME
  USER WORKDIR ARG ONBUILD STOPSIGNAL HEALTHCHECK SHELL LABEL MAINTAINER
].freeze
INSTRUCTION_RE =
/\A\s*(?:#{INSTRUCTIONS.join("|")})\b/i
STRING_DOUBLE_RE =
/"(?:\\.|[^"\\])*"/
STRING_SINGLE_RE =
/'(?:\\.|[^'\\])*'/
VARIABLE_RE =
/\$\{?[\w]+\}?/
COMMENT_RE =
/\A\s*#.*/
FLAG_RE =
/--[\w\-]+=?/

Class Method Summary collapse

Class Method Details

.color_columns(text) ⇒ Object



20
21
22
23
24
25
26
27
28
29
# File 'lib/ruvim/lang/dockerfile.rb', line 20

def color_columns(text)
  cols = {}
  Highlighter.apply_regex(cols, text, INSTRUCTION_RE, Highlighter::KEYWORD_COLOR)
  Highlighter.apply_regex(cols, text, FLAG_RE, Highlighter::CONSTANT_COLOR)
  Highlighter.apply_regex(cols, text, STRING_DOUBLE_RE, Highlighter::STRING_COLOR)
  Highlighter.apply_regex(cols, text, STRING_SINGLE_RE, Highlighter::STRING_COLOR)
  Highlighter.apply_regex(cols, text, VARIABLE_RE, Highlighter::VARIABLE_COLOR)
  Highlighter.apply_regex(cols, text, COMMENT_RE, Highlighter::COMMENT_COLOR, override: true)
  cols
end