File salt-vim-20170630.obscpio of Package vim-plugins

07070100000000000081A40000000000000000000000015956F05E0000022A000000000000000000000000000000000000001A00000000salt-vim-20170630/LICENSECopyright (c) 2014 SaltStack

Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed
under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
CONDITIONS OF ANY KIND, either express or implied. See the License for the
specific language governing permissions and limitations under the License.
07070100000001000081A40000000000000000000000015956F05E00000FFD000000000000000000000000000000000000001D00000000salt-vim-20170630/README.rst===================================
Vim files for working on Salt files
===================================

Installation
============

Using the Pathogen Plugin Manager
---------------------------------

The recommended method is to use
`Pathogen <https://github.com/tpope/vim-pathogen>`_.
Install Pathogen as described
`here <https://github.com/tpope/vim-pathogen#installation>`_,
then do:

::

    cd ~/.vim/bundle && \
    git clone https://github.com/saltstack/salt-vim.git

Using the Vundle Plugin Manager
-------------------------------

See
`Vundle <https://github.com/gmarik/vundle>`_.

Manual Method #1:
-----------------

::

    git clone https://github.com/saltstack/salt-vim.git
    cd salt-vim && \
    cp -r ftdetect ftplugin syntax  ~/.vim/

Manual Method #2:
-----------------

Alternately, files can be copied into any other directory where Vim looks for
its runtime files, like ``/etc/vim/``. The command ``:set runtimepath`` will
show all such paths. Read ``:help runtimepath`` for more info.

For all installation methods:
-----------------------------

You will also need to specify the following settings in your ``~/.vimrc``:

.. code-block:: vim

    syntax on
    set nocompatible
    filetype plugin indent on

Note: It's possible you may be presented with an error stating something
similar to:

"E319: Sorry, the command is not available in this version: filetype plugin
indent on"

If you get this, specify the following settings in your ``~/.vimrc`` instead:

.. code-block:: vim

    syntax on
    set nocompatible
    set tabstop=2
    set shiftwidth=2
    set expandtab

Too slow?
=========

Note that the default yaml highlighting that ships with vim is very slow with
long lines (e.g., ssh keys, or certificates). You might want to switch to a
faster yaml highlighter, like `vim-yaml <https://github.com/stephpy/vim-yaml>`_.

Configuration
=============

By default, the syntax file will search for the existence of a Jinja syntax
file (as described in the `Jinja docs`_ or via a `Vim bundle`_) in the
``runtimepath``, and load that if found. If it is not found, the Django
template syntax file (which is slightly different, but bundled with Vim) will
be used. You can force using either syntax file using the global variable
``g:sls_use_jinja_syntax``. If it is set, autodetection will be turned off.

.. _Jinja docs: http://jinja.pocoo.org/docs/integration/#vim
.. _Vim bundle: https://github.com/Glench/Vim-Jinja2-Syntax

Valid values:

``0``
    Use the Django syntax file.

``1``
    Use the Jinja syntax file, regardless of whether it exists or not.

Example section of ``~/.vimrc``:

.. code-block:: vim

    " Force using the Django template syntax file
    let g:sls_use_jinja_syntax = 0

Files
=====

``syntax/sls.vim``
    Syntax file for editing YAML + Jinja SLS files.

``ftplugin/sls.vim``
    Filetype plugin with good default config for SLS files. Configures suitable
    wrapping, folding and indenting. Added features:

    - All tabs are converted to spaces.
    - Tab key indents by 2 spaces.
    - Comments are hardwrapped (with added leading ``#``).
      This is done by setting ``formatoptions``.
    - <Space> key will try to fold/unfold an area.
    - Visually selected block might be indented and unindented
      by keys ``<`` and ``>``, keeping the visual selection selected.
    - Improved indenting of YAML expressions with custom indenting function.
    - Visual warning for non-ASCII characters (which are not allowed in YAML).

``ftdetect/sls.vim``
    Detect SLS files by the file extension ``.sls``, and ``Saltfile`` files by
    an exact filename match.

Other VIM plugins you might find interesting
============================================

- `Powerline <https://github.com/Lokaltog/vim-powerline>`_
- `NERDTree <https://github.com/scrooloose/nerdtree>`_
- `Gundo <https://github.com/sjl/gundo.vim/>`_
- `TabMan <https://github.com/kien/tabman.vim>`_
- `PythonMode <https://github.com/klen/python-mode>`_
- `FuzzyFinder <https://github.com/vim-scripts/FuzzyFinder>`_
- `CtrlP <http://kien.github.com/ctrlp.vim/>`_
07070100000002000041ED0000000000000000000000025956F05E00000000000000000000000000000000000000000000001B00000000salt-vim-20170630/ftdetect07070100000003000081A40000000000000000000000015956F05E000000D6000000000000000000000000000000000000002300000000salt-vim-20170630/ftdetect/sls.vimfunction! DetectSls()
  if !did_filetype()
    if match(getline(1), '^#!py') > -1
      set ft=python
    else
      set ft=sls
    endif
  endif
endfunction

:au BufNewFile,BufRead *.sls,Saltfile call DetectSls()
07070100000004000041ED0000000000000000000000025956F05E00000000000000000000000000000000000000000000001B00000000salt-vim-20170630/ftplugin07070100000005000081A40000000000000000000000015956F05E000005FC000000000000000000000000000000000000002300000000salt-vim-20170630/ftplugin/sls.vim" Slow yaml highlighting workaround
if exists('+regexpengine') && ('&regexpengine' == 0)
  setlocal regexpengine=1
endif

" Use two-spaces for indentation
setlocal expandtab
setlocal softtabstop=2
setlocal shiftwidth=2
setlocal commentstring=#%s

setlocal formatoptions=crl
" r -> don't add comment leader after an Enter
" c -> wrap long comments, including #
" l -> do not wrap long lines

" indentation
setlocal autoindent

" This function is from https://gist.github.com/871107
" Author: Ian Young
"
function! GetYamlIndent()
  let cnum = v:lnum
  let lnum = v:lnum - 1
  if lnum == 0
    return 0
  endif
  let line = substitute(getline(lnum),'\s\+$','','')
  let cline = substitute(getline(cnum),'\s\+$','','')
  let indent = indent(lnum)
  let increase = indent + &sw
  let decrease = indent - &sw
  if line =~ ':$'
    return increase
  elseif line !~ ':$' && cline =~ ':$'
    return decrease
  elseif line =~ ':$'
  else
    return indent
  endif
endfunction

setlocal indentexpr=GetYamlIndent()

" folding
setlocal foldmethod=indent
setlocal foldlevel=20  " by default do not fold


" Visual warning about UTF8 characters in SLS file.
" salt does not like them much, so they should be red
augroup utfsls
  autocmd!
  highlight UTFsls ctermbg=red guibg=red
  match UTFsls /[\x7F-\xFF]/
  autocmd BufWinEnter <buffer> match UTFsls /[\x7F-\xFF]/
  autocmd InsertEnter <buffer> match UTFsls /[\x7F-\xFF]/
  autocmd InsertLeave <buffer> match UTFsls /[\x7F-\xFF]/
  autocmd BufWinLeave <buffer> call clearmatches()
augroup END
07070100000006000081A40000000000000000000000015956F05E00000437000000000000000000000000000000000000002000000000salt-vim-20170630/salt-vim.specName:		salt-vim
Version:	0.0.1
Release:	1%{?dist}
Summary:	Vim files for working on Salt files

Group:		Applications/Editors
License:	ASL 2.0
URL:		https://github.com/saltstack/salt-vim
Source0:	https://github.com/saltstack/salt-vim/archive/master.tar.gz

Requires:	vim >= 7

%description
Vim files for working on Salt files

%prep
%setup -q -n salt-vim-master

%build

%install
mkdir -p %{buildroot}%{_defaultlicensedir}/%{name}-%{version}
mkdir -p %{buildroot}%{_datarootdir}/vim/vimfiles/{syntax,ftdetect,ftplugin}
cp syntax/sls.vim %{buildroot}%{_datarootdir}/vim/vimfiles/syntax/
cp ftdetect/sls.vim %{buildroot}%{_datarootdir}/vim/vimfiles/ftdetect/
cp ftplugin/sls.vim %{buildroot}%{_datarootdir}/vim/vimfiles/ftplugin/
cp LICENSE %{buildroot}%{_defaultlicensedir}/%{name}-%{version}

%files
%{_datarootdir}/vim/vimfiles/syntax/sls.vim
%{_datarootdir}/vim/vimfiles/ftdetect/sls.vim
%{_datarootdir}/vim/vimfiles/ftplugin/sls.vim
%{_defaultlicensedir}/%{name}-%{version}/LICENSE
%doc



%changelog
* Mon Dec 19 2016 Kai Meyer <kai@gnukai.com> - 0.0.1-1
- Initial RPM spec


07070100000007000041ED0000000000000000000000025956F05E00000000000000000000000000000000000000000000001900000000salt-vim-20170630/syntax07070100000008000081A40000000000000000000000015956F05E00000AFD000000000000000000000000000000000000002100000000salt-vim-20170630/syntax/sls.vim" Vim syntax file
" Language: Salt States template
" Maintainer: Seth House <seth@eseth.com>
" Last Change: 2012 June 20
"
if exists("b:current_syntax")
  finish
endif

if !exists("main_syntax")
  let main_syntax = 'yaml'
endif

let b:current_syntax = ''
unlet b:current_syntax
runtime! syntax/yaml.vim

let b:current_syntax = ''
unlet b:current_syntax
syntax include @Yaml syntax/yaml.vim

let b:current_syntax = ''
unlet b:current_syntax

" Default to look for Jinja syntax file
let s:load_jinja_syntax = 0
let s:search_for_jinja_syntax = 1
if exists("g:sls_use_jinja_syntax")
  let s:search_for_jinja_syntax = 0
  let s:load_jinja_syntax = g:sls_use_jinja_syntax
endif
if s:search_for_jinja_syntax
  let s:jinja_path = findfile("syntax/jinja.vim", &rtp, 1)
  if s:jinja_path != ""
    let s:load_jinja_syntax = 1
  endif
endif

if s:load_jinja_syntax
  syntax include @Jinja syntax/jinja.vim

  syn cluster jinjaSLSBlocks add=jinjaTagBlock,jinjaVarBlock,jinjaComment
  " Mostly copy/pasted from
  " https://github.com/mitsuhiko/jinja2/blob/6b7c0c23/ext/Vim/jinja.vim
  syn region jinjaTagBlock matchgroup=jinjaTagDelim start=/{%-\?/ end=/-\?%}/ containedin=ALLBUT,jinjaTagBlock,jinjaVarBlock,jinjaRaw,jinjaString,jinjaNested,jinjaComment,@jinjaSLSBlocks
  syn region jinjaVarBlock matchgroup=jinjaVarDelim start=/{{-\?/ end=/-\?}}/ containedin=ALLBUT,jinjaTagBlock,jinjaVarBlock,jinjaRaw,jinjaString,jinjaNested,jinjaComment,@jinjaSLSBlocks
  syn region jinjaComment matchgroup=jinjaCommentDelim start="{#" end="#}" containedin=ALLBUT,jinjaTagBlock,jinjaVarBlock,jinjaString,@jinjaSLSBlocks
else
  " Fall back to Django template syntax
  syntax include @Jinja syntax/django.vim

  syn cluster djangoBlocks add=djangoTagBlock,djangoVarBlock,djangoComment,djangoComBlock
  syn region djangoTagBlock start="{%" end="%}" contains=djangoStatement,djangoFilter,djangoArgument,djangoTagError display containedin=ALLBUT,@djangoBlocks
  syn region djangoVarBlock start="{{" end="}}" contains=djangoFilter,djangoArgument,djangoVarError display containedin=ALLBUT,@djangoBlocks
  syn region djangoComBlock start="{#" end="#}" contains=djangoTodo containedin=ALLBUT,@djangoBlocks
endif

syn keyword salt_stateInclude include extend containedin=yamlBlockMappingKey
highlight link salt_stateInclude Include

syn keyword salt_stateSpecialArgs name names check_cmd listen listen_in onchanges onchanges_in onfail onfail_in onlyif prereq prereq_in require require_in unless use use_in watch watch_in containedin=yamlBlockMappingKey
highlight link salt_stateSpecialArgs Special

syn keyword salt_stateErrors requires requires_in watches watches_in includes extends containedin=yamlBlockMappingKey
highlight link salt_stateErrors Error

let g:NERDCustomDelimiters = {
  \ 'sls': { 'left': '#' },
\ }

let b:current_syntax = "sls"
07070100000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000B00000000TRAILER!!!23 blocks
openSUSE Build Service is sponsored by