From 7dc91ade28b0b89309e7c6b332ea6ccbd1c8f823 Mon Sep 17 00:00:00 2001 From: Jay Sitter Date: Tue, 4 Aug 2020 12:58:28 -0400 Subject: Add support for buffer-level prettier_exec_cmd, for prettier-stylelint for instance --- README.md | 14 ++++++++++++++ autoload/prettier/resolver/executable.vim | 7 ++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9a6a192..4c32d4d 100644 --- a/README.md +++ b/README.md @@ -76,6 +76,20 @@ vim-prettier executable resolution: 3. Look for a global prettier installation 4. Use locally installed vim-prettier prettier executable +### Prettier Stylelint + +To use an alternative command, like +[`prettier-stylelint`](https://github.com/hugomrdias/prettier-stylelint), set +this at the buffer level, e.g.: + +```vim +au FileType css,scss,scss.css let b:prettier_exec_cmd = "prettier-stylelint" +``` + +vim-prettier will look for the executable in the same places it looks for +`prettier`, and will fall back to `prettier` if it can't find +`b:prettier_exec_cmd` + ### USAGE Prettier by default will run on auto save but can also be manually triggered by: diff --git a/autoload/prettier/resolver/executable.vim b/autoload/prettier/resolver/executable.vim index 8d233ab..0cb0b02 100644 --- a/autoload/prettier/resolver/executable.vim +++ b/autoload/prettier/resolver/executable.vim @@ -33,7 +33,12 @@ endfunction function! s:GetExecPath(...) abort let l:rootDir = a:0 > 0 ? a:1 : -1 let l:dir = l:rootDir != -1 ? l:rootDir . '/.bin/' : '' - return l:dir . 'prettier' + let l:path = l:dir . get(b:, 'prettier_exec_cmd', 'prettier') + if executable(l:path) + return l:path + else + return l:dir . 'prettier' + endif endfunction " Searches for the existence of a directory accross -- cgit v1.3