Ограничение длины буфера 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
а затем делать свою собственную фильтрацию.
Это сработало для меня, я сделал 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>