Pull to refresh

Обновлен SublimeHaskell

Reading time2 min
Views9.3K
Небольшое обновление для SublimeHaskell.
Картинка для затравки, список изменений под катом



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

ModuleInspector

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

Show symbol info

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

foo описан без указания типа, тип выводится

Browse module

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

Указаны выведенные типы и документация

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' переработана и теперь выглядит так:

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

Sublime Text 3

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

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

Articles

Change theme settings