Использование gf с псевдонимами в Webpack - PullRequest
0 голосов
/ 24 марта 2020

В моем веб-пакете определен псевдоним common-components, который разрешается до static/js/components. Я хочу иметь возможность использовать gf для открытия импортированных файлов с использованием псевдонима (например, common-components/button/button.jsx). Мое исследование показало мне направление использования includeexpr и suffixesadd в .vimr c примерно так:

set includeexpr=substitute(v:fname,'^\\common-components','static/js/components','')
set suffixesadd=.js,.jsx

Однако использование gf при наведении на путь выдает ошибку :

E65: Illegal back reference 
E447: Can't find file "common-components/button/button.jsx" in path

Не знаю, с чего начать поиск, поскольку я не могу найти сигнатуру функции для substitute, поэтому я не уверен, с чего начать отладку.

Я использую vim- js -file-import и хотел бы иметь возможность импортировать файлы при соблюдении псевдонима. Например, при наведении курсора на компонент React и нажатии <leader>if (отображение для импорта под курсором) следует импортировать файл вверху, используя common-components/button/button.jsx.

1 Ответ

1 голос
/ 27 марта 2020
set includeexpr=substitute(v:fname,'^common-components','static/js/components','')

должно превратить это:

common-components/button/button

в это:

static/js/components/button/button

тогда Vim должен искать:

static/js/components/button/button.js
static/js/components/button/button.jsx

в каталогах в вашем :help 'path'.

\\ в вашем шаблоне не позволяет подмене работать, поэтому вы получаете v:fname без изменений, который Vim не может найти, потому что он не существует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...