Commit Graph

106 Commits

Author SHA1 Message Date
Ian Emnace 033df1b169 Enforce order of pre-processor syntax files
The plugin's current behavior is reliant on the order of loading
pre-processor syntax files. In particular, Vader tests are failing for
SCSS snippets; SASS syntax identifiers are applied instead.

Unfortunately, no ordering information can be embedded in a Dictionary,
so s:language_config must be turned into a List.

In the unconfigured case (no g:vue_disable_pre_processors, no
g:vue_pre_processors), pre_processors can be initialized to a
well-ordered List of languages (ordered as they appear in
s:language_config), instead of the unstable keys() on a dict.

Random access of language config is faster from a dict, though, so a
dict is rebuilt in s:language_dict. Going through the s:language_config
List for every pre-processor in pre_processors is O(m * n), as opposed
to building s:language_dict once then looping through pre-processors
once for O(m + n) (since dict access is constant time).
2019-03-19 14:50:15 +08:00
Ian Emnace 6f476f3b90 Update readme for g:vue_pre_processors
The change in commit ba9a3dbc4e is
documented in the README, to augment the information regarding
pre-processor languages and g:vue_disable_pre_processors.
2019-03-19 13:52:19 +08:00
Ian Emnace ba9a3dbc4e Allow for configurable g:vue_pre_processors
Prior to this commit, there was a single Boolean option,
g:vue_disable_pre_processors, which would only activate either *every*
pre-processor syntax file or none of them at all.

This was a known pain point when it comes to performance. On some
machines, loading all the pre-processor syntax files could slow down Vim
noticeably, hence the need for such an option in the first place.
However, turning all of them off means having to live with no syntax
highlighting at all if one uses a pre-processor language.

This commit introduces another option: g:vue_pre_processors. This is a
List of names of pre-processor syntaxes, e.g. ['pug','scss']. If a user
provides this option, only the named pre-processor syntax files will be
loaded.

This change still allows for g:vue_disable_pre_processors: If
g:vue_disable_pre_processors is truthy, pre-processor syntax files
aren't loaded regardless of the value of g:vue_pre_processors.
2019-03-19 13:44:46 +08:00
w0rp e306929b27 Don't set options for ALE (#124)
Setting options for ALE in this file can sometimes overwrite settings that users set, say if they set global settings for ALE after ftplugin files are loaded. The Vue files should not be checked with ESLint by default, and ESLint checking should be enabled manually after installing the Vue ESLint plugin.
2018-11-11 14:38:36 +01:00
Edward Betts 720ca48e02 Correct a spelling mistake (#121) 2018-10-08 13:14:34 +02:00
w0rp 2df4652431 Default to the vimrc linter setting if availble (#118)
* Default to the vimrc linter setting if availble

* Use the default value for aliases too
2018-09-01 19:14:25 +02:00
Eduardo San Martin Morote 23043a7ebf docs(ci): document how to build images 2018-08-08 12:36:19 +02:00
Eduardo San Martin Morote 4df07c7348 ci: remove git repositories cache 2018-08-08 12:23:31 +02:00
Eduardo San Martin Morote 79e57874f7 ci: fix typo 2018-08-08 12:22:27 +02:00
Eduardo San Martin Morote 581c1a09ac ci: add git 2018-08-08 12:21:40 +02:00
Eduardo San Martin Morote d2d5a30736 ci: simpler image 2018-08-08 12:19:13 +02:00
Eduardo San Martin Morote 2c59f521fb ci: ups 2018-08-08 12:06:39 +02:00
Eduardo San Martin Morote 5cd49ff5a0 ci: custom image 2018-08-08 12:06:05 +02:00
Eduardo San Martin Morote 027a63c26f ci: testing 2018-08-08 11:48:35 +02:00
Eduardo San Martin Morote c4ba4df60b ci: remove sudo 2018-08-08 11:41:20 +02:00
Eduardo San Martin Morote 3c9e78f75c ci: install make 2018-08-08 11:40:47 +02:00
Eduardo San Martin Morote d2e8ec0c80 ci: test circle ci 2 2018-08-08 11:37:51 +02:00
w0rp e531e1d24f Use buffer variables for ALE, and load Vue linters (#111) 2018-07-06 11:26:29 +02:00
Adriaan Zonnenberg 6e90d9ed5a Allow newlines after a tag name
Closes #108
2018-05-25 23:32:56 +02:00
Vincent Petry 58d8de76b0 Explicitly load javascript/eslint.vim (#105)
In some environments it seems it doesn't load automatically.

Fixes #103
2018-04-04 16:17:24 +02:00
Adriaan Zonnenberg a279172752 Fix #68 - change load order of syntax files
I'm not sure what's the root cause of this, but this seems to work.
2018-03-03 19:47:17 +01:00
Adriaan Zonnenberg 3cc4ac7b02 readme: fix details arrow placement 2018-03-02 20:59:54 +01:00
Adriaan Zonnenberg 5c3a71983c Simplify testing commands using a Makefile 2018-03-02 18:31:23 +01:00
Adriaan Zonnenberg a0cfe6791c readme
* Remove Typescript section. As long as the highlighting "just works", a section in the FAQ shouldn't be needed.
* Fix typo
* Add some more explanation
* Add links to referenced plugins
2018-03-02 16:22:41 +01:00
Marcel Bischoff a936d8ab38 Add caw.vim section (#93) 2018-02-24 07:56:54 +01:00
glore Zeng ea8bd7bd00 Add support for wpy files (#86) 2018-02-23 17:02:28 +01:00
Adriaan Zonnenberg fffb29a31a Fix #96 - support custom html tag names 2018-02-22 22:21:07 +01:00
Adriaan Zonnenberg 1a2295e12e Add link to eslint-plugin-vue documentation
closes #83
2018-02-22 14:31:59 +01:00
Juan 2cd7b64b1e Fix typo on README (#100) 2018-02-21 17:12:15 +01:00
Adriaan Zonnenberg 6518e73886 Add section mappings
References #94
2017-12-12 17:50:43 +01:00
Michael Foss db295dbf13 Correct typo in README (#90) 2017-10-19 19:37:09 +02:00
Jacob Merizian 568f5a2762 Allows users to turn off preprocessor language parsing for better performance (#79)
* removed preprocessing langs from registration

I'm not sure if this will work

* add back support for pre-processors

adds back support for preprocessors, but keeps vim fast when not in use

* completely removed support for preprocessors

testing to see if completely removing preprocessor language registrations will make syntime reports more performant

* added back conditional support

conditional support should work now

* just testing remove all preprocessor support

* I think this will work

* i found the actual bug

some regex statements are being checked several times

* quick fix for now

I only apply a quick fix until I can get to the root of the problem. For this, in order to turn off the preprocessors which seem to bog down vim, just put `let g:avoid_pre_processors = 1` in the .vimrc (or neovim equivalent).

* forgot endif statement

* testing behavior

* removed line to test behavior

* Update readme.md

* Update readme.md

* Update vue.vim

* Update vue.vim

* Update readme.md
2017-07-21 11:07:04 +02:00
Adriaan Zonnenberg c7f975ddb8 Use a script-local variable instead of global 2017-05-17 17:30:07 +02:00
z1lk aaf2a641b2 Adds a single line to register haml as a template language (#67) 2017-04-28 01:47:30 +02:00
akh 27dc461cb4 v- @ : directives support (#66) 2017-04-17 23:01:57 +02:00
Milot Mirdita fddbefe37a Fixed instructions for vim8, now loads the plugin (#63) 2017-04-07 21:09:49 +02:00
Adriaan Zonnenberg f72aac329a Add configuration for ALE and simplify Syntastic configuration
Replaced syntastic configuration by a file that uses Syntastic's
redirect option to redirect to 'javascript/eslint'
2017-03-28 22:34:20 +02:00
Adriaan Zonnenberg a9f7aedabf Add note to FAQ about nerdcommenter, and add tests for it 2017-03-26 23:45:45 +02:00
Adriaan Zonnenberg e0c07d80c6 Add a note about compound filetypes to the FAQ 2017-03-26 23:00:15 +02:00
Adriaan Zonnenberg 32bc65cac2 Revert "Add multiple filetypes as javscript,html and css (#42)"
This reverts commit 078be5a88f.
2017-03-26 22:51:44 +02:00
Adriaan Zonnenberg 3c9105849b Merge pull request #62 from posva/register-function
Add a register function that makes it easier to add new languages
2017-03-26 22:45:19 +02:00
Adriaan Zonnenberg 4099c91566 Update readme
Move typescript section to FAQ and add an entry about
`:syn sync fromstart`
2017-03-26 22:35:15 +02:00
Adriaan Zonnenberg d4793f5963 Fix indentation for script tags and refactor
Fixes the indentation for script tags. The javascript indentation
interpreted the `<script>` tag as a comparison operator.
2017-03-26 22:35:06 +02:00
Adriaan Zonnenberg 239401d54d Integrate with CircleCI 2017-03-26 21:27:34 +02:00
Adriaan Zonnenberg b5c8e6f330 Highlight the surrounding tags correctly
Removes omit_attr argument from s:register_language(), because html,
javascript, and css regions were the only ones that used it, and they
are now handled by syntax/html.vim.

`runtime! syntax/html.vim` also has the advantage that we can hook into
the html syntax, meaning that we can add stuff like highlighting
javascript expressions inside vue directives, and add our own html
attributes.

Also removes the start of line limitation introduced in previous commit
2017-03-26 21:25:20 +02:00
Adriaan Zonnenberg 32d2c0a943 Easier way to define new languages
Add more test cases

Also fixed some style issues

TODO: split tests up in multiple files, e.g. test/test_html_syntax.vader
2017-03-26 21:23:52 +02:00
Adriaan Zonnenberg 82067c7d14 Add initial tests 2017-03-22 23:34:53 +01:00
Adriaan Zonnenberg cdd07e6497 Fix template pattern (#57) 2017-03-15 12:15:24 +01:00
Eduardo San Martin Morote 81ada6a73f Load typescript only if it exists
Fix #56
2017-03-14 18:50:14 +01:00
Eduardo San Martin Morote b60c475d42 Fix #56 2017-03-14 18:47:17 +01:00