Обновлен SublimeHaskell

в 11:42, , рубрики: haskell, sublime text 3, метки: , ,

Небольшое обновление для SublimeHaskell.
Картинка для затравки, список изменений под катом
image

На картинке выше видно, что в списке автодополнения теперь можно увидеть тип (или аргументы в случае класса или типа данных). К сожалению, ширина ограничена, поэтому влезает не всё.

ModuleInspector

Теперь умеет собирать документацию для определений в модуле. Также собирает больше информации о типах, классах и т.п.
Функции без явного указания типа теперь тоже поддерживаются, а их тип определяется при помощи ghc-mod/hdevtools.

Show symbol info

Команда показывает доступную информацию о символе: тип (для функции) или контекст и аргументы для типов данных и классов; модуль, где символ определён; доступную документацию (как из исходников, так и при помощи haskell-docs для модулей в cabal); файл и проект, где символ определён.
Команда доступна по сочетанию Ctrl-K Ctrl-I.
image
foo описан без указания типа, тип выводится

Browse module

Команда аналогична таковой в ghci, выводит содержимое модуля, о выбранном элементе показывает более подробную информацию. Команда также вызывается по сочетанию Ctrl-K Ctrl-I, если при этом курсор стоит на имени модуля.
image
Указаны выведенные типы и документация

ghc-mod

Для успешной работы пришлось немного допилить ghc-mod, добавив флаг --detailed для команды browse. Теперь выводится более полная информация:

> ghc-mod browse -d Data.Either
Left
Right
data Either a b
either :: (a -> c) -> (b -> c) -> Either a b -> c
lefts :: [Either a b] -> [a]
partitionEithers :: [Either a b] -> ([a], [b])
rights :: [Either a b] -> [b]
hdevtools: show type

Теперь используется hdevtools, который работает быстро благодаря тому, что висит в фоне, команда 'Show Type' переработана и теперь выглядит так:
image
Первым в списке идёт replicate, так как курсор стоит на нём.
hdevtools не собирается под Windows, так как имеет в зависимостях unix, здесь можно скачать форк, работающий под Windows

Sublime Text 3

Плагин теперь работает с Sublime Text 3.

Также добавлено весьма примитивное кеширование, что значительно ускорило время старта.

Автор: VoidEx

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js