diff options
Diffstat (limited to 'indent')
| -rw-r--r-- | indent/aap.vim | 16 | ||||
| -rw-r--r-- | indent/ada.vim | 312 | ||||
| -rw-r--r-- | indent/ant.vim | 16 | ||||
| -rw-r--r-- | indent/automake.vim | 15 | ||||
| -rw-r--r-- | indent/awk.vim | 236 | ||||
| -rw-r--r-- | indent/graphql.vim | 25 | 
6 files changed, 608 insertions, 12 deletions
| diff --git a/indent/aap.vim b/indent/aap.vim new file mode 100644 index 00000000..9e7573df --- /dev/null +++ b/indent/aap.vim @@ -0,0 +1,16 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'aap') == -1 + +" Vim indent file +" Language:	Aap recipe +" Maintainer:	Bram Moolenaar <Bram@vim.org> +" Last Change:	2005 Jun 24 + +" Only load this indent file when no other was loaded. +if exists("b:did_indent") +  finish +endif + +" Works mostly like Python. +runtime! indent/python.vim + +endif diff --git a/indent/ada.vim b/indent/ada.vim new file mode 100644 index 00000000..77000842 --- /dev/null +++ b/indent/ada.vim @@ -0,0 +1,312 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ada') == -1 + +"------------------------------------------------------------------------------ +"  Description: Vim Ada indent file +"     Language: Ada (2005) +"	   $Id: ada.vim 887 2008-07-08 14:29:01Z krischik $ +"    Copyright: Copyright (C) 2006 Martin Krischik +"   Maintainer: Martin Krischik <krischik@users.sourceforge.net> +"		Neil Bird <neil@fnxweb.com> +"		Ned Okie <nokie@radford.edu> +"      $Author: krischik $ +"	 $Date: 2008-07-08 16:29:01 +0200 (Di, 08 Jul 2008) $ +"      Version: 4.6 +"    $Revision: 887 $ +"     $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/indent/ada.vim $ +"      History: 24.05.2006 MK Unified Headers +"		16.07.2006 MK Ada-Mode as vim-ball +"		15.10.2006 MK Bram's suggestion for runtime integration +"		05.11.2006 MK Bram suggested to save on spaces +"		19.09.2007 NO g: missing before ada#Comment +"    Help Page: ft-vim-indent +"------------------------------------------------------------------------------ +" ToDo: +"  Verify handling of multi-line exprs. and recovery upon the final ';'. +"  Correctly find comments given '"' and "" ==> " syntax. +"  Combine the two large block-indent functions into one? +"------------------------------------------------------------------------------ + +" Only load this indent file when no other was loaded. +if exists("b:did_indent") || version < 700 +   finish +endif + +let b:did_indent = 45 + +setlocal indentexpr=GetAdaIndent() +setlocal indentkeys-=0{,0} +setlocal indentkeys+=0=~then,0=~end,0=~elsif,0=~when,0=~exception,0=~begin,0=~is,0=~record + +" Only define the functions once. +if exists("*GetAdaIndent") +   finish +endif +let s:keepcpo= &cpo +set cpo&vim + +if exists("g:ada_with_gnat_project_files") +   let s:AdaBlockStart = '^\s*\(if\>\|while\>\|else\>\|elsif\>\|loop\>\|for\>.*\<\(loop\|use\)\>\|declare\>\|begin\>\|type\>.*\<is\>[^;]*$\|\(type\>.*\)\=\<record\>\|procedure\>\|function\>\|accept\>\|do\>\|task\>\|package\>\|project\>\|then\>\|when\>\|is\>\)' +else +   let s:AdaBlockStart = '^\s*\(if\>\|while\>\|else\>\|elsif\>\|loop\>\|for\>.*\<\(loop\|use\)\>\|declare\>\|begin\>\|type\>.*\<is\>[^;]*$\|\(type\>.*\)\=\<record\>\|procedure\>\|function\>\|accept\>\|do\>\|task\>\|package\>\|then\>\|when\>\|is\>\)' +endif + +" Section: s:MainBlockIndent {{{1 +" +" Try to find indent of the block we're in +" prev_indent = the previous line's indent +" prev_lnum   = previous line (to start looking on) +" blockstart  = expr. that indicates a possible start of this block +" stop_at     = if non-null, if a matching line is found, gives up! +" No recursive previous block analysis: simply look for a valid line +" with a lesser or equal indent than we currently (on prev_lnum) have. +" This shouldn't work as well as it appears to with lines that are currently +" nowhere near the correct indent (e.g., start of line)! +" Seems to work OK as it 'starts' with the indent of the /previous/ line. +function s:MainBlockIndent (prev_indent, prev_lnum, blockstart, stop_at) +   let lnum = a:prev_lnum +   let line = substitute( getline(lnum), g:ada#Comment, '', '' ) +   while lnum > 1 +      if a:stop_at != ''  &&  line =~ '^\s*' . a:stop_at  &&  indent(lnum) < a:prev_indent +	 return a:prev_indent +      elseif line =~ '^\s*' . a:blockstart +	 let ind = indent(lnum) +	 if ind < a:prev_indent +	    return ind +	 endif +      endif + +      let lnum = prevnonblank(lnum - 1) +      " Get previous non-blank/non-comment-only line +      while 1 +	 let line = substitute( getline(lnum), g:ada#Comment, '', '' ) +	 if line !~ '^\s*$' && line !~ '^\s*#' +	    break +	 endif +	 let lnum = prevnonblank(lnum - 1) +	 if lnum <= 0 +	    return a:prev_indent +	 endif +      endwhile +   endwhile +   " Fallback - just move back one +   return a:prev_indent - shiftwidth() +endfunction MainBlockIndent + +" Section: s:EndBlockIndent {{{1 +" +" Try to find indent of the block we're in (and about to complete), +" including handling of nested blocks. Works on the 'end' of a block. +" prev_indent = the previous line's indent +" prev_lnum   = previous line (to start looking on) +" blockstart  = expr. that indicates a possible start of this block +" blockend    = expr. that indicates a possible end of this block +function s:EndBlockIndent( prev_indent, prev_lnum, blockstart, blockend ) +   let lnum = a:prev_lnum +   let line = getline(lnum) +   let ends = 0 +   while lnum > 1 +      if getline(lnum) =~ '^\s*' . a:blockstart +	 let ind = indent(lnum) +	 if ends <= 0 +	    if ind < a:prev_indent +	       return ind +	    endif +	 else +	    let ends = ends - 1 +	 endif +      elseif getline(lnum) =~ '^\s*' . a:blockend +	 let ends = ends + 1 +      endif + +      let lnum = prevnonblank(lnum - 1) +      " Get previous non-blank/non-comment-only line +      while 1 +	 let line = getline(lnum) +	 let line = substitute( line, g:ada#Comment, '', '' ) +	 if line !~ '^\s*$' +	    break +	 endif +	 let lnum = prevnonblank(lnum - 1) +	 if lnum <= 0 +	    return a:prev_indent +	 endif +      endwhile +   endwhile +   " Fallback - just move back one +   return a:prev_indent - shiftwidth() +endfunction EndBlockIndent + +" Section: s:StatementIndent {{{1 +" +" Return indent of previous statement-start +" (after we've indented due to multi-line statements). +" This time, we start searching on the line *before* the one given (which is +" the end of a statement - we want the previous beginning). +function s:StatementIndent( current_indent, prev_lnum ) +   let lnum  = a:prev_lnum +   while lnum > 0 +      let prev_lnum = lnum +      let lnum = prevnonblank(lnum - 1) +      " Get previous non-blank/non-comment-only line +      while 1 +	 let line = substitute( getline(lnum), g:ada#Comment, '', '' ) + +	 if line !~ '^\s*$' && line !~ '^\s*#' +	    break +	 endif +	 let lnum = prevnonblank(lnum - 1) +	 if lnum <= 0 +	    return a:current_indent +	 endif +      endwhile +      " Leave indent alone if our ';' line is part of a ';'-delineated +      " aggregate (e.g., procedure args.) or first line after a block start. +      if line =~ s:AdaBlockStart || line =~ '(\s*$' +	 return a:current_indent +      endif +      if line !~ '[.=(]\s*$' +	 let ind = indent(prev_lnum) +	 if ind < a:current_indent +	    return ind +	 endif +      endif +   endwhile +   " Fallback - just use current one +   return a:current_indent +endfunction StatementIndent + + +" Section: GetAdaIndent {{{1 +" +" Find correct indent of a new line based upon what went before +" +function GetAdaIndent() +   " Find a non-blank line above the current line. +   let lnum = prevnonblank(v:lnum - 1) +   let ind = indent(lnum) +   let package_line = 0 + +   " Get previous non-blank/non-comment-only/non-cpp line +   while 1 +      let line = substitute( getline(lnum), g:ada#Comment, '', '' ) +      if line !~ '^\s*$' && line !~ '^\s*#' +	 break +      endif +      let lnum = prevnonblank(lnum - 1) +      if lnum <= 0 +	 return ind +      endif +   endwhile + +   " Get default indent (from prev. line) +   let ind = indent(lnum) +   let initind = ind + +   " Now check what's on the previous line +   if line =~ s:AdaBlockStart  ||  line =~ '(\s*$' +      " Check for false matches to AdaBlockStart +      let false_match = 0 +      if line =~ '^\s*\(procedure\|function\|package\)\>.*\<is\s*new\>' +	 " Generic instantiation +	 let false_match = 1 +      elseif line =~ ')\s*;\s*$'  ||  line =~ '^\([^(]*([^)]*)\)*[^(]*;\s*$' +	 " forward declaration +	 let false_match = 1 +      endif +      " Move indent in +      if ! false_match +	 let ind = ind + shiftwidth() +      endif +   elseif line =~ '^\s*\(case\|exception\)\>' +      " Move indent in twice (next 'when' will move back) +      let ind = ind + 2 * shiftwidth() +   elseif line =~ '^\s*end\s*record\>' +      " Move indent back to tallying 'type' preceeding the 'record'. +      " Allow indent to be equal to 'end record's. +      let ind = s:MainBlockIndent( ind+shiftwidth(), lnum, 'type\>', '' ) +   elseif line =~ '\(^\s*new\>.*\)\@<!)\s*[;,]\s*$' +      " Revert to indent of line that started this parenthesis pair +      exe lnum +      exe 'normal! $F)%' +      if getline('.') =~ '^\s*(' +	 " Dire layout - use previous indent (could check for g:ada#Comment here) +	 let ind = indent( prevnonblank( line('.')-1 ) ) +      else +	 let ind = indent('.') +      endif +      exe v:lnum +   elseif line =~ '[.=(]\s*$' +      " A statement continuation - move in one +      let ind = ind + shiftwidth() +   elseif line =~ '^\s*new\>' +      " Multiple line generic instantiation ('package blah is\nnew thingy') +      let ind = s:StatementIndent( ind - shiftwidth(), lnum ) +   elseif line =~ ';\s*$' +      " Statement end (but not 'end' ) - try to find current statement-start indent +      let ind = s:StatementIndent( ind, lnum ) +   endif + +   " Check for potential argument list on next line +   let continuation = (line =~ '[A-Za-z0-9_]\s*$') + + +   " Check current line; search for simplistic matching start-of-block +   let line = getline(v:lnum) +   if line =~ '^\s*#' +      " Start of line for ada-pp +      let ind = 0 +   elseif continuation && line =~ '^\s*(' +      " Don't do this if we've already indented due to the previous line +      if ind == initind +	 let ind = ind + shiftwidth() +      endif +   elseif line =~ '^\s*\(begin\|is\)\>' +      let ind = s:MainBlockIndent( ind, lnum, '\(procedure\|function\|declare\|package\|task\)\>', 'begin\>' ) +   elseif line =~ '^\s*record\>' +      let ind = s:MainBlockIndent( ind, lnum, 'type\>\|for\>.*\<use\>', '' ) + shiftwidth() +   elseif line =~ '^\s*\(else\|elsif\)\>' +      let ind = s:MainBlockIndent( ind, lnum, 'if\>', '' ) +   elseif line =~ '^\s*when\>' +      " Align 'when' one /in/ from matching block start +      let ind = s:MainBlockIndent( ind, lnum, '\(case\|exception\)\>', '' ) + shiftwidth() +   elseif line =~ '^\s*end\>\s*\<if\>' +      " End of if statements +      let ind = s:EndBlockIndent( ind, lnum, 'if\>', 'end\>\s*\<if\>' ) +   elseif line =~ '^\s*end\>\s*\<loop\>' +      " End of loops +      let ind = s:EndBlockIndent( ind, lnum, '\(\(while\|for\)\>.*\)\?\<loop\>', 'end\>\s*\<loop\>' ) +   elseif line =~ '^\s*end\>\s*\<record\>' +      " End of records +      let ind = s:EndBlockIndent( ind, lnum, '\(type\>.*\)\=\<record\>', 'end\>\s*\<record\>' ) +   elseif line =~ '^\s*end\>\s*\<procedure\>' +      " End of procedures +      let ind = s:EndBlockIndent( ind, lnum, 'procedure\>.*\<is\>', 'end\>\s*\<procedure\>' ) +   elseif line =~ '^\s*end\>\s*\<case\>' +      " End of case statement +      let ind = s:EndBlockIndent( ind, lnum, 'case\>.*\<is\>', 'end\>\s*\<case\>' ) +   elseif line =~ '^\s*end\>' +      " General case for end +      let ind = s:MainBlockIndent( ind, lnum, '\(if\|while\|for\|loop\|accept\|begin\|record\|case\|exception\|package\)\>', '' ) +   elseif line =~ '^\s*exception\>' +      let ind = s:MainBlockIndent( ind, lnum, 'begin\>', '' ) +   elseif line =~ '^\s*then\>' +      let ind = s:MainBlockIndent( ind, lnum, 'if\>', '' ) +   endif + +   return ind +endfunction GetAdaIndent + +let &cpo = s:keepcpo +unlet s:keepcpo + +finish " 1}}} + +"------------------------------------------------------------------------------ +"   Copyright (C) 2006	Martin Krischik +" +"   Vim is Charityware - see ":help license" or uganda.txt for licence details. +"------------------------------------------------------------------------------ +" vim: textwidth=78 wrap tabstop=8 shiftwidth=3 softtabstop=3 noexpandtab +" vim: foldmethod=marker + +endif diff --git a/indent/ant.vim b/indent/ant.vim new file mode 100644 index 00000000..22d344db --- /dev/null +++ b/indent/ant.vim @@ -0,0 +1,16 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ant') == -1 + +" Vim indent file +" Language:    ANT files +" Maintainer:  David Fishburn <fishburn@ianywhere.com> +" Last Change: Thu May 15 2003 10:02:54 PM + +" Only load this indent file when no other was loaded. +if exists("b:did_indent") +  finish +endif + +" Use XML formatting rules +runtime! indent/xml.vim + +endif diff --git a/indent/automake.vim b/indent/automake.vim new file mode 100644 index 00000000..a9f67f7c --- /dev/null +++ b/indent/automake.vim @@ -0,0 +1,15 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'automake') == -1 + +" Vim indent file +" Language:    	    automake +" Previous Maintainer:  Nikolai Weibull <now@bitwi.se> +" Latest Revision:      2006-04-19 + +if exists("b:did_indent") +  finish +endif + +" same as makefile indenting for now. +runtime! indent/make.vim + +endif diff --git a/indent/awk.vim b/indent/awk.vim new file mode 100644 index 00000000..7d2bae32 --- /dev/null +++ b/indent/awk.vim @@ -0,0 +1,236 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'awk') == -1 + +"  vim: set sw=3 sts=3: + +" Awk indent script. It can handle multi-line statements and expressions. +" It works up to the point where the distinction between correct/incorrect +" and personal taste gets fuzzy. Drop me an e-mail for bug reports and +" reasonable style suggestions. +" +" Bugs: +" ===== +" - Some syntax errors may cause erratic indentation. +" - Same for very unusual but syntacticly correct use of { } +" - In some cases it's confused by the use of ( and { in strings constants +" - This version likes the closing brace of a multiline pattern-action be on +"   character position 1 before the following pattern-action combination is +"   formatted + +" Author: +" ======= +" Erik Janssen, ejanssen@itmatters.nl +" +" History: +" ======== +" 26-04-2002 Got initial version working reasonably well +" 29-04-2002 Fixed problems in function headers and max line width +"	     Added support for two-line if's without curly braces +" Fixed hang: 2011 Aug 31 + +" Only load this indent file when no other was loaded. +if exists("b:did_indent") +    finish +endif + +let b:did_indent = 1 + +setlocal indentexpr=GetAwkIndent() +" Mmm, copied from the tcl indent program. Is this okay? +setlocal indentkeys-=:,0# + +" Only define the function once. +if exists("*GetAwkIndent") +    finish +endif + +" This function contains a lot of exit points. It checks for simple cases +" first to get out of the function as soon as possible, thereby reducing the +" number of possibilities later on in the difficult parts + +function! GetAwkIndent() + +   " Find previous line and get its indentation +   let prev_lineno = s:Get_prev_line( v:lnum ) +   if prev_lineno == 0 +      return 0 +   endif +   let prev_data = getline( prev_lineno ) +   let ind = indent( prev_lineno ) + +   " Increase indent if the previous line contains an opening brace. Search +   " for this brace the hard way to prevent errors if the previous line is a +   " 'pattern { action }' (simple check match on /{/ increases the indent then) + +   if s:Get_brace_balance( prev_data, '{', '}' ) > 0 +      return ind + shiftwidth() +   endif + +   let brace_balance = s:Get_brace_balance( prev_data, '(', ')' ) + +   " If prev line has positive brace_balance and starts with a word (keyword +   " or function name), align the current line on the first '(' of the prev +   " line + +   if brace_balance > 0 && s:Starts_with_word( prev_data ) +      return s:Safe_indent( ind, s:First_word_len(prev_data), getline(v:lnum)) +   endif + +   " If this line starts with an open brace bail out now before the line +   " continuation checks. + +   if getline( v:lnum ) =~ '^\s*{' +      return ind +   endif + +   " If prev line seems to be part of multiline statement: +   " 1. Prev line is first line of a multiline statement +   "    -> attempt to indent on first ' ' or '(' of prev line, just like we +   "       indented the positive brace balance case above +   " 2. Prev line is not first line of a multiline statement +   "    -> copy indent of prev line + +   let continue_mode = s:Seems_continuing( prev_data ) +   if continue_mode > 0 +     if s:Seems_continuing( getline(s:Get_prev_line( prev_lineno )) ) +       " Case 2 +       return ind +     else +       " Case 1 +       if continue_mode == 1 +	  " Need continuation due to comma, backslash, etc +	  return s:Safe_indent( ind, s:First_word_len(prev_data), getline(v:lnum)) +       else +	 " if/for/while without '{' +	 return ind + shiftwidth() +       endif +     endif +   endif + +   " If the previous line doesn't need continuation on the current line we are +   " on the start of a new statement.  We have to make sure we align with the +   " previous statement instead of just the previous line. This is a bit +   " complicated because the previous statement might be multi-line. +   " +   " The start of a multiline statement can be found by: +   " +   " 1 If the previous line contains closing braces and has negative brace +   "   balance, search backwards until cumulative brace balance becomes zero, +   "   take indent of that line +   " 2 If the line before the previous needs continuation search backward +   "   until that's not the case anymore. Take indent of one line down. + +   " Case 1 +   if prev_data =~ ')' && brace_balance < 0 +      while brace_balance != 0 && prev_lineno > 0 +	 let prev_lineno = s:Get_prev_line( prev_lineno ) +	 let prev_data = getline( prev_lineno ) +	 let brace_balance=brace_balance+s:Get_brace_balance(prev_data,'(',')' ) +      endwhile +      let ind = indent( prev_lineno ) +   else +      " Case 2 +      if s:Seems_continuing( getline( prev_lineno - 1 ) ) +	 let prev_lineno = prev_lineno - 2 +	 let prev_data = getline( prev_lineno ) +	 while prev_lineno > 0 && (s:Seems_continuing( prev_data ) > 0) +	    let prev_lineno = s:Get_prev_line( prev_lineno ) +	    let prev_data = getline( prev_lineno ) +	 endwhile +	 let ind = indent( prev_lineno + 1 ) +      endif +   endif + +   " Decrease indent if this line contains a '}'. +   if getline(v:lnum) =~ '^\s*}' +      let ind = ind - shiftwidth() +   endif + +   return ind +endfunction + +" Find the open and close braces in this line and return how many more open- +" than close braces there are. It's also used to determine cumulative balance +" across multiple lines. + +function! s:Get_brace_balance( line, b_open, b_close ) +   let line2 = substitute( a:line, a:b_open, "", "g" ) +   let openb = strlen( a:line ) - strlen( line2 ) +   let line3 = substitute( line2, a:b_close, "", "g" ) +   let closeb = strlen( line2 ) - strlen( line3 ) +   return openb - closeb +endfunction + +" Find out whether the line starts with a word (i.e. keyword or function +" call). Might need enhancements here. + +function! s:Starts_with_word( line ) +  if a:line =~ '^\s*[a-zA-Z_0-9]\+\s*(' +     return 1 +  endif +  return 0 +endfunction + +" Find the length of the first word in a line. This is used to be able to +" align a line relative to the 'print ' or 'if (' on the previous line in case +" such a statement spans multiple lines. +" Precondition: only to be used on lines where 'Starts_with_word' returns 1. + +function! s:First_word_len( line ) +   let white_end = matchend( a:line, '^\s*' ) +   if match( a:line, '^\s*func' ) != -1 +     let word_end = matchend( a:line, '[a-z]\+\s\+[a-zA-Z_0-9]\+[ (]*' ) +   else +     let word_end = matchend( a:line, '[a-zA-Z_0-9]\+[ (]*' ) +   endif +   return word_end - white_end +endfunction + +" Determine if 'line' completes a statement or is continued on the next line. +" This one is far from complete and accepts illegal code. Not important for +" indenting, however. + +function! s:Seems_continuing( line ) +  " Unfinished lines +  if a:line =~ '\(--\|++\)\s*$' +    return 0 +  endif +  if a:line =~ '[\\,\|\&\+\-\*\%\^]\s*$' +    return 1 +  endif +  " if/for/while (cond) eol +  if a:line =~ '^\s*\(if\|while\|for\)\s*(.*)\s*$' || a:line =~ '^\s*else\s*' +      return 2 +   endif +  return 0 +endfunction + +" Get previous relevant line. Search back until a line is that is no +" comment or blank and return the line number + +function! s:Get_prev_line( lineno ) +   let lnum = a:lineno - 1 +   let data = getline( lnum ) +   while lnum > 0 && (data =~ '^\s*#' || data =~ '^\s*$') +      let lnum = lnum - 1 +      let data = getline( lnum ) +   endwhile +   return lnum +endfunction + +" This function checks whether an indented line exceeds a maximum linewidth +" (hardcoded 80). If so and it is possible to stay within 80 positions (or +" limit num of characters beyond linewidth) by decreasing the indent (keeping +" it > base_indent), do so. + +function! s:Safe_indent( base, wordlen, this_line ) +   let line_base = matchend( a:this_line, '^\s*' ) +   let line_len = strlen( a:this_line ) - line_base +   let indent = a:base +   if (indent + a:wordlen + line_len) > 80 +     " Simple implementation good enough for the time being +     let indent = indent + 3 +   endif +   return indent + a:wordlen +endfunction + +endif diff --git a/indent/graphql.vim b/indent/graphql.vim index 3aae6acb..7b601957 100644 --- a/indent/graphql.vim +++ b/indent/graphql.vim @@ -23,18 +23,19 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'graphql') == -1  " Language: GraphQL  " Maintainer: Jon Parise <jon@indelible.org> -if exists('b:did_indent') -  finish +" Set our local options if indentation hasn't already been set up. +" This generally means we've been detected as the primary filetype. +if !exists('b:did_indent') +  setlocal autoindent +  setlocal nocindent +  setlocal nolisp +  setlocal nosmartindent + +  setlocal indentexpr=GetGraphQLIndent() +  setlocal indentkeys=0{,0},0),0[,0],0#,!^F,o,O + +  let b:did_indent = 1  endif -let b:did_indent = 1 - -setlocal autoindent -setlocal nocindent -setlocal nolisp -setlocal nosmartindent - -setlocal indentexpr=GetGraphQLIndent() -setlocal indentkeys=0{,0},0),0[,0],0#,!^F,o,O  " If our indentation function already exists, we have nothing more to do.  if exists('*GetGraphQLIndent') @@ -46,7 +47,7 @@ set cpoptions&vim  " Check if the character at lnum:col is inside a string.  function s:InString(lnum, col) -  return synIDattr(synID(a:lnum, a:col, 1), 'name') is# 'graphqlString' +  return synIDattr(synID(a:lnum, a:col, 1), 'name') ==# 'graphqlString'  endfunction  function GetGraphQLIndent() | 
