Size: a a a

Emacs — русскоговорящее сообщество

2020 August 03

VS

Vadim Selin in Emacs — русскоговорящее сообщество
Тут новичков емакса не очень обижают?
У меня вот какой вопрос: я пробую использовать spacemacs и typescript mode с lsp, но меня не устраивает как там работает выравнивание. Настроить его так как мне нужно я не особенно надеюсь, не до хорошего.
Но может быть хотя бы отключить? Я готов выравнивать руками; меня бы устроил простой режим — вставай на позицию первого непробельного символа из предыдущей строки.
Идеальным вариантом было бы, если бы кто-нибудь рассказал общие приёмы — как в такой ситуации находить концы. Вот я вижу некоторое поведение редактора — как мне понять каким кодом оно обусловлено?
источник

VS

Vadim Selin in Emacs — русскоговорящее сообщество
источник

y

yosk in Emacs — русскоговорящее сообщество
можно попытаться понять какая функция отвечает за выравнивание
дальше или лезть в документацию, или в сорцы, или что-то ещё
источник

m

mel kaye in Emacs — русскоговорящее сообщество
или посмотреть customize-group
источник

y

yosk in Emacs — русскоговорящее сообщество
yosk
можно попытаться понять какая функция отвечает за выравнивание
дальше или лезть в документацию, или в сорцы, или что-то ещё
например можно сделать так, чтобы это была просто функция, которая делает ничего
форматирование исчезнет
источник

a

akater in Emacs — русскоговорящее сообщество
Vadim Selin
Тут новичков емакса не очень обижают?
У меня вот какой вопрос: я пробую использовать spacemacs и typescript mode с lsp, но меня не устраивает как там работает выравнивание. Настроить его так как мне нужно я не особенно надеюсь, не до хорошего.
Но может быть хотя бы отключить? Я готов выравнивать руками; меня бы устроил простой режим — вставай на позицию первого непробельного символа из предыдущей строки.
Идеальным вариантом было бы, если бы кто-нибудь рассказал общие приёмы — как в такой ситуации находить концы. Вот я вижу некоторое поведение редактора — как мне понять каким кодом оно обусловлено?
Если есть EditorConfig, можно попробовать соответстующий плагин.  Но я никогда не пользовался, не знаю, насколько он умен.
источник

VS

Vadim Selin in Emacs — русскоговорящее сообщество
так ведь до того как пытаться исправлять или отключать некоторую функцию надо узнать что это за функция, где она.
может быть есть какие-то общие подходы для этого?
источник

a

akater in Emacs — русскоговорящее сообщество
Vadim Selin
так ведь до того как пытаться исправлять или отключать некоторую функцию надо узнать что это за функция, где она.
может быть есть какие-то общие подходы для этого?
Один из популярных способов — debug-on-entry.
источник

y

yosk in Emacs — русскоговорящее сообщество
Vadim Selin
так ведь до того как пытаться исправлять или отключать некоторую функцию надо узнать что это за функция, где она.
может быть есть какие-то общие подходы для этого?
документацию читать
ещё можно попытаться угадать название и найти через F1 f
источник

d

dirge in Emacs — русскоговорящее сообщество
Vadim Selin
Тут новичков емакса не очень обижают?
У меня вот какой вопрос: я пробую использовать spacemacs и typescript mode с lsp, но меня не устраивает как там работает выравнивание. Настроить его так как мне нужно я не особенно надеюсь, не до хорошего.
Но может быть хотя бы отключить? Я готов выравнивать руками; меня бы устроил простой режим — вставай на позицию первого непробельного символа из предыдущей строки.
Идеальным вариантом было бы, если бы кто-нибудь рассказал общие приёмы — как в такой ситуации находить концы. Вот я вижу некоторое поведение редактора — как мне понять каким кодом оно обусловлено?
1. Можешь настроить дефолтную индентацию в емаксоконфиге:
  
;; Typescript
(setq-default typescript-indent-level 4
               typescript-expr-indent-offset 2)
2. LSP должна уметь подсосать инфу/правила с tsfmt.json. Обычно этот файлик лежит в корне проекта. В этом случае, правило для индентации (если оно присутствует) оверрайдит твои дефолты
источник

VS

Vadim Selin in Emacs — русскоговорящее сообщество
akater
Один из популярных способов — debug-on-entry.
почитал про debug-on-entry. это видимо хорошее место для старта, но оно опять таки требует знания имени функции на которой затем сработает дебагер.
источник

VS

Vadim Selin in Emacs — русскоговорящее сообщество
dirge
1. Можешь настроить дефолтную индентацию в емаксоконфиге:
  
;; Typescript
(setq-default typescript-indent-level 4
               typescript-expr-indent-offset 2)
2. LSP должна уметь подсосать инфу/правила с tsfmt.json. Обычно этот файлик лежит в корне проекта. В этом случае, правило для индентации (если оно присутствует) оверрайдит твои дефолты
а я как-то могу выполнить этот код для текущего буфера и посмотреть на то, какое это окажет влияние на поведение редактора?
источник

d

dirge in Emacs — русскоговорящее сообщество
Vadim Selin
а я как-то могу выполнить этот код для текущего буфера и посмотреть на то, какое это окажет влияние на поведение редактора?
ты можешь выполнить этот код на уровне актуальной инстанции емакса
источник

d

dirge in Emacs — русскоговорящее сообщество
Можно этими способами:
1. M-x eval-expression
2. Запихни код в *scratch* и "заэваль" его

(а можно и другими)
источник

VS

Vadim Selin in Emacs — русскоговорящее сообщество
сделал eval-expression с
(setq-default typescript-indent-level 2
               typescript-expr-indent-offset 0)


отступ стал не 4 пробела, а два.
в остальном поведение не изменилось — всё как в моей гифке. Мой отступ, заданный вручную, редактор постоянно пытается исправлять. Происходит это, похоже, каждый раз когда меняется список токенов в строке.
источник

d

dirge in Emacs — русскоговорящее сообщество
dirge
1. Можешь настроить дефолтную индентацию в емаксоконфиге:
  
;; Typescript
(setq-default typescript-indent-level 4
               typescript-expr-indent-offset 2)
2. LSP должна уметь подсосать инфу/правила с tsfmt.json. Обычно этот файлик лежит в корне проекта. В этом случае, правило для индентации (если оно присутствует) оверрайдит твои дефолты
окей, тогда действуй согласно второму пункту
источник

d

dirge in Emacs — русскоговорящее сообщество
источник

d

dirge in Emacs — русскоговорящее сообщество
tslint.json, не tsfmt, пардон
источник

VS

Vadim Selin in Emacs — русскоговорящее сообщество
но мне-то как раз не нужно чтобы код форматировал линтер, я для начала, к примеру, хочу совсем отключить форматирование. емакс же это свобода, всё можно настроить под себя, так ведь? ;)
источник

d

dirge in Emacs — русскоговорящее сообщество
боюсь, что тут уже вопросы к лсп или к тому, что вшито в спейсмакс; тут я уже просто пытаюсь бороться с симптомами
источник