Ограничение длины буфера ENSIME-сервера; крючок для этого буфера

Я хочу ограничить длину *inferior-ensime-server-...* буфер до нескольких тысяч строк.

Это выглядит многообещающе, с /questions/38021438/mogu-li-ya-ogranichit-dlinu-bufera-kompilyatsii-v-emacs/38021453#38021453, но не работает в этом случае:

(add-hook 'compilation-filter-hook 'comint-truncate-buffer)
(setq comint-buffer-maximum-size 2000)

Есть ли серверная ловушка буфера ENSIME, которую я могу использовать вместо 'compilation-filter-hook?

Может быть, эти ловушки могут быть использованы для сокращения буфера время от времени: https://github.com/ensime/ensime-emacs/blob/master/ensime-mode.el

2 ответа

Вы всегда можете поставить свой собственный logback.xml файл путем настройки ensime-server-logback а затем делать свою собственную фильтрацию.

https://github.com/ensime/ensime-emacs/blob/aafff027f40ea58e22538272edd0a5b676821978/ensime-vars.el#L85

Это сработало для меня, я сделал M-x customize-group ensime-server а затем, в ensime-server-logback Я должен был установить путь к logback.xml в виде строки: "/home/user/.sbt/0.13/plugins/logback.xml", Это мой логбэк:

<configuration>
  <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
    <resetJUL>true</resetJUL>
  </contextListener>
  <appender name="file" class="ch.qos.logback.core.FileAppender">
    <file>it.log</file>
    <append>false</append>
    <encoder>
      <pattern>%d{HH:mm:ss.SSS} %-5level %X{akkaSource} %logger{36} - %msg%n</pattern>
    </encoder>
  </appender>
  <root level="WARN">
    <appender-ref ref="file" />
  </root>
  <logger name="org.ensime" level="WARN" />
  <logger name="akka" level="WARN" />
</configuration>
Другие вопросы по тегам