Как стать автором
Обновить

Комментарии 18

Как-то я задался вопросом, можно ли пополнить этот список полным перечнем всех готовых свойств и методов, какие только можно ввести в контексте Node.js и Web API (браузера). Где бы такой список можно раздобыть?

Есть же для Typescript .d.ts-файлы, где описывают сигнатуры для всяких библиотек, в том числе — стандартных. Многие редакторы/IDE их и используют.


Вот тут список файлов с сигнатурами стандартных библиотек ES и работы с DOM: https://github.com/Microsoft/TypeScript/tree/master/lib


Для ноды можно взять эти файлы из репозитория с кучей сигнатур для кучи библиотек: https://github.com/DefinitelyTyped/DefinitelyTyped


Вот папка с сигнатурами ноды: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/node


В общем, странно что вы ничего не слышали про это, раз пишите на JS.

Спасибо. Я пишу на непрофессиональном уровне и в Typescript никогда не углублялся. Постараюсь разобраться, как извлечь из этих файлов чистые списки.

можете посмотреть на проект Atom Typescript, посмотреть, как там реализован выбор списка для автодополнений.

Попробовал понять с наскока. Понял, что для использования этих файлов нужно сперва выучить Typescript, а потом опять-таки или самому парсить эти описания, или искать для этого инструменты, поскольку просто так любой редактор не заставишь с этим работать без плагинов, которых может и не быть. Для меня это довольно сложный путь, я как-то для своих нужд всегда обходился без этого направления в языке — строгая типизация, классы, все прелести ООП. Но всё равно спасибо, это, по крайней мере, надёжная стратегия для тех, кто уже в этом хорошо разбирается.

TS — это свежий JS + типы, но можно писать и без них.
Чтобы распарсить файл, можно использовать API компилятора Typescript, ведь он сам написан на Typescript. Ещё можно посмотреть [тут]( https://github.com/Microsoft/TypeScript/wiki/Using-the-Language-Service-API).


Готовых реализаций я не нашёл, но есть вот такая статья: http://blog.scottlogic.com/2015/01/20/typescript-compiler-api.html
И вот этот модуль (но он древний): https://www.npmjs.com/package/dts-parser

Спасибо ещё раз. Если всё-таки пойду в этом направлении, будет намного легче.

Спасибо.

Есть ещё способ. Например воспользовавшись webstorm. Пишем в коде например `document`. И с щелчка переходим на его описание (в DHTML.js). Там описана структура почти всех элементов js'a.
Это лишь пример :)

Спасибо.

Не читал но осуждаю.
Чем SublimeText Вам не угодил? Он же для людей писан. А ултраедит думаю уже давно не то что нужно. Как и Нотепад++

А в SublimeText можно открыть текстовый файл в 2 гигабайта и провести в нём замены по регулярным выражениям? Он не будет читать его в память, не будет подвисать? Я просто регулярно работаю с исходниками больших цифровых словарей, мне это важно. Чаще всего мне для их обработки и нужен JavaScript.

Эх нет :(. На текстовом файле в 2гб он наедается и умирает. vim и nano тоже умирают.
Atom даже не пытался запускать :)

Жаль. Я периодически тестировал популярные редакторы общего профиля, это распространённая проблема. Можно, конечно, простые скрипты писать для таких файлов, чтобы потоками обрабатывали, но это не всегда удобно.

Возьмите готовый перечень у тех кто уже решил схожую проблему. например у Ternjs
Так у вас отпадёт нужда в поддержке(правда есть риск, что они могут изменить формат. но это не проблема, всегда можно узнать это заранее через ишьюсы)

Спасибо.

Обновил код и описание: теперь скрипт учитывает в объектах ключи типа Symbol.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории