LINUX.ORG.RU

Swift IDE

 ,


1

3

В связи с большим открыванием, хотелось бы иметь IDE или хотя бы какой-то блокнот с кнопкой для запуска/компиляции и автодополнением. Гуглятся какие-то заброшенные плагины для sublime и все. Если есть не-мертвые проекты по созданию плагинов для idea/sublime, могу присоединиться. Даже что-то для vim или emacs подойдет.

★★★★★

Последнее исправление: cdshines (всего исправлений: 1)

А по поводу автодополнения: остаётся только ждать, пока кто-нибудь запилит плагин, использующий SourceKit, или сделать это самому.

Deleted
()
Ответ на: комментарий от Deleted

Ну автодополнение - это плюшка, поначалу можно для закрепления и самому по кнопкам пожмакать. За ссылку спасибо, плюс тебе в карму :)

cdshines ★★★★★
() автор топика

idea/sublime

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

Ну конечно не в случае Go, в плане которого еще никто не смог и вряд ли сможет зарулить vim-go.

kep
()

что-то для vim

увы, 4-е основные реализации делятся на дохлые и полудохлые.

kep
()

AppCode купи прост

dizza ★★★★★
()
Ответ на: комментарий от cdshines

SourceKit теперь и под Linux должен работать, эта утилита, следовательно, тоже.

Deleted
()
Ответ на: комментарий от ykroop

А я так и не осилил переключение между буфферами, привык перед глазами всегда дерево проекта держать.

Открывай дерево, кто мешает? Хотя это фигня. Автодополнение есть (ido/helm), fuzzy поиск есть. Надо видеть файлы - открываешь dired.

lazyklimm ★★★★★
()
Ответ на: комментарий от ykroop

привык перед глазами всегда дерево проекта держать.

Не понимаю, зачем это нужно. Достаточно magit буфера для слежки за изменяемыми файлами.

Oxdeadbeef ★★★
()
Ответ на: комментарий от ykroop

привык перед глазами всегда дерево проекта держать.

Тоже думаю, что это не нужно. Есть projectile. Особенно удобно вместе с helm-projectile.

feofan ★★★★★
()
Ответ на: комментарий от anonymous

У меня есть макбук. Мне интересно, что есть под линукс.

cdshines ★★★★★
() автор топика
Ответ на: комментарий от kep

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

https://blog.jetbrains.com/clion/2015/12/swift-plugin-for-clion/

* Parse/resolve classes in project and standard library (note that non-standard libraries are not resolved yet).
* Code highlighting and completion.
* Swift code formatter with a separate set of Swift code style settings.
* Navigation actions and File structure view.
* Find usages.
* Rename refactoring.
* Override/Implement for functions and protocols.
* And even a debugger, including proper rendering of variables and types and expression evaluation.

А что там в Атоме?

aidan ★★★★
()

Я бы ждал, когда Jetbrains добавят поддержку в AppCode.

Legioner ★★★★★
()
Ответ на: комментарий от cdshines

IDE для Swift на Java?

// а, я тогда комментируя позабыл, что мы говорим в контексте «что есть под линукс.», а не альтернативных редакторах/IDE для свифта на основной платформе.

kep
()
Ответ на: комментарий от kep

Какая разница, на чем? Абы було. И работало.

cdshines ★★★★★
() автор топика
Ответ на: комментарий от cdshines

А что не так?

Вызывает лёгкое подгорание. Редакторы на джавоскрипте — это нормально, а вот IDE на жабе — это беда-беда.

anonymous
()
Ответ на: комментарий от qulinxao

ide на емаксе

ide на sed

берём XEmacs (либо SXEmacs) и плагин к нему, расширение hyperbole :

Hyperbole Overview, Mail Lists, Introduction, Introduction
Hyperbole Overview A Hyperbole user works with buttons embedded within textual documents; he may create, modify, move or delete buttons. Each button performs a specific action, such as linking to a file or executing a shell command.

button, explicit
button, global
button, implicit
button category
explicit button
global button
implicit button
There are three categories of Hyperbole buttons: explicit buttons created by Hyperbole, accessible from within a single document;

global buttons created by Hyperbole, accessible anywhere within a user's network of documents;

implicit buttons created and managed by other programs or embedded within the structure of a document, accessible from within a single document. Hyperbole recognizes implicit buttons by contextual patterns given in their type specifications (explained later).

также можно цеплять команды не внешние, а функции на елиспе (описанные в самом этом файле).

+ локальные переменные файла в емаксе.

+ Literate Programming среда типа org-mode babel из GNU Emacs. (кпдв)
...
+ Gopher+ протокол (с несколькими view на ресурс, в разных форматах) — типа GopherVR

=== новый, более правильный гипертекст в духе Xanadu Теда Нельсона

anonymous
()
Ответ на: ide на емаксе от anonymous

Emacs отличная лисп-машина - да и как IDE имеет свою публику.

НО:

даже vim излишне интерактивен.

для тулзов важно наличие двух(фактически одного ) режимов - ручное управление заменяемо чтением из файла.

т.е. инструменты если наряду с исполнением будут писать входное управление - по повторное проигрывание должно давать тот же результат, что и ручное.

остальное же делает не инструмент а игрушку для живого оператора.

qulinxao ★★☆
()
Ответ на: комментарий от qulinxao

Судя по написанному, ты предпочитаешь писать сразу в машинных кодах.

feofan ★★★★★
()
Ответ на: комментарий от qulinxao

повторное проигрывание должно давать тот же результат, что и ручное.

да, это основная идея Reproducible Research подхода: если Literate Programming — это компиляция из метасреды с метапеременными в различные конкретные DSL, из метаязыковой среды в конкретные языковые (ср. «лексикон программирования» А. Ершова), то есть, метакомпилятор — то Reproducible Research — это интерпретация в метаязыковой среде, то есть: метаинтерпретатор

в GNU Emacs org-mode : C-c C-c в (мета)интерпретации «блоков кода» или M-x org-babel-tangle для (мета)компиляции

ручное управление заменяемо чтением из файла.

см. автотесты в духе python + org-mode

также, первая хотелка от Jamie Zawinski про xemacs:

Improve the keyboard macro system. ...

Make it possible to embed one macro inside of another.

в SXEmacs грозятся, что её реализовали.

+ BBDB тыц :

In practice, you never add an entry to your address book by hand; BBDB does it for you. What you do is instruct BBDB when and how to annotate things: ``when you see a message like this, annotate the sender like this."

The insidious part of its name comes from the fact that it sits silently by and watches everything that you do; and from the fact that, after a while, most people find it so very useful that they are incapable of tying their shoes without it. The big brother part of its name comes from the fact that, eventually, it knows all. BBDB is offline memory. It becomes part of your brain.

+ Intertwingle в духе ZigZag zzCells + Applitudes и Xanadu Теда Нельсона (а хотелось бы конечно, zzConsCells, программируемые на elisp-е :-)))

+ Emacs org-mode babel

+ command-frequency.el/keyfreq.el + suggbind.el

и замкнуть цикл обратной связи...

... затем заменить программера метасистемой на елиспе, суперкомпилировать и осуществить метасистемный переход В. Ф. Турчина  — например, отладчик с https://www.jwz.org/hacks/gdb-highlight.el , также из хотелок jwz:

Bring the debugger interface into the eighties.

Some of you may have seen my gdb-highlight.el package, that I posted to gnu.emacs.sources last month. I think it's really cool, but there should be a lot more work in that direction. For those of you who haven't seen it, what it does is watch text that gets inserted into the *gdb* buffer and make very nearly everything be clickable and have a context-sensitive menu.

...

Any time one of those objects is presented in the *gdb* buffer, it is mousable. Clicking middle button on it takes some default action (edits the function, selects the stack frame, disables the breakpoint, ...) Clicking the right button pops up a menu of commands, including commands specific to the object under the mouse, and/or other objects on the same line

== программист с отладчиком это также метасистема, выполняющая суперкомпиляцию (под надзором) или метаинтерпретацию (по шагам, вложенным клавиатурным макросом в емаксе, или defmacro на елиспе).

затем, по проекциям Футамуры-Турчина получается *автомагически* компилятор из интерпретатора (суперкомпиляция интерпретатора это компилятор), и из макросов на елиспе — компилятор метаязыка, то есть языка метасистемы-программиста.

и программист заменятся скриптом на елиспе — осуществляя метасистемный переход, строго по Турчину.

а матрица трассировки требований — суперкомпилирует отдельных программистов в рамках общих use cases/ТЗ реализации этих требований, лол.

когда мы придём к власти, мы заменим ВСЕХ программистов скриптом на елиспе.

СЛАВА РОБОТАМ-иноплане-ТЯНам!1111

anonymous
()
Ответ на: комментарий от qulinxao

ДЕМО гиперболы

This button prints the <(factorial)> of 5 in the minibuffer when activated with the Action Key.

дзен-просветление от среднего пальца линуса (nvidia, fuck you):

Когда палец указывает на небо — дурак смотрит на палец

дзен-просветление от notmuchmail+bbdb + Xanadu, zzConsCells, ZigZag Applitudes Теда Нельсона + Gopher+ 3.62 вместо веб 2.0 + hyperbole/org-mode babel WEB/LP среды — still waits to be done

перельманов много, а мочидзуки с теймюллером и метаязыковой теорией всего — он такой один.

вот что лисп животворящий делает.

anonymous
()
Ответ на: комментарий от qulinxao

плюмбинг или опасная игра в Plan 9

anonymous
()
Ответ на: комментарий от qulinxao

или «текст как интерфейс» в Project Oberon

или /dev/acme/cmd и sam/acme/wily + plumbing в Plan9

anonymous
()
Ответ на: комментарий от qulinxao

ЯблоСкрипт: автоматизируй это

ах, да. мы же в теме про SWIFT?

тогда AppleScript

tell application YourHipsterFashionedIDE to 
 compile "hello world"
 run "hello world"
 test "hello world"
end tell

или Automator

и мышкой натыкать.

//задание со звёздочкой: кодогенерировать скрипты из емакса через org-babel-tangle или вложенными макросами, из первой хотелки jwz
скрестить с ZenIRC
скрестить с espeak
...
стенотайпы (компьютерная стенография типа пловера с мыслеуправлением мозговыми волнами

anonymous
()
Ответ на: ЯблоСкрипт: автоматизируй это от anonymous

Пол Ди Филиппо. Рибофанк

tell application YourHipsterFashionedIDE to

Обычно по утрам кухня пустовала. Правда, в дни официальных приемов тут спозаранку кипела деятельность, приглашенные повара готовили мудреные блюда, которые пищевому аппарату не закажешь. Работяжке не нравилось бывать на кухне. В такие дни она вообще не любила отклонений от распорядка. Хорошо, что сегодня – самое обычное утро.

Она подошла к пищевому аппарату.

– Пищевой аппарат, сделай мне гренок с мармеладом.

– Закончился хлеб, – ответила машина.

Закончился хлеб? Но ведь Работяжка настроилась на гренок с мармеладом! И хлеба еще вчера было много. Куда же он подевался?

– Почему закончился хлеб? – спросила она.

– Ночью жена мистера Майкла отдала хлеб Быку. У меня было три буханки. Все три буханки съел Бык. Вот почему больше нет хлеба.

Значит, это из-за жены мистера Майкла Работяжка сегодня осталась без гренка! Ее хлеб скормлен андроморфу!

– В десять утра начнет работать доставка хлебобулочных изделий, – сочувственно подсказал пищевой аппарат.

– До десяти утра я уеду вместе с мистером Майклом.

Меня не будет в десять утра дома. Надо съесть что-нибудь другое. – Работяжка подумала и решила: – Сделай мне кашу из кукурузных хлопьев, сверху – ложка мармелада.

– Мармелада нет. Бык и его съел, вместе с ореховым маслом.

У Работяжки непроизвольно сжались кулачки. Что за утро! Сначала этот запах из комнаты мистера Майкла, а теперь… Ей не нравились сбои в распорядке дня. Ладно еще – когда в доме повара, но ведь сегодня поваров нет…

– Тогда я съем яйцо, – сообщила Работяжка.

– Заказ принят, – отозвался пищевой аппарат.

anonymous
()
Ответ на: комментарий от ykroop

А я так и не осилил переключение между буфферами, привык перед глазами всегда дерево проекта держать.

в cedet есть speedbar

anonymous
()
Ответ на: комментарий от qulinxao

векторный гипертекстовый фидонетъ


блин... перечитывая вдругорѣдь про hyperbole:

Buttons may link to information or may execute procedures, such as starting or communicating with external programs;

Other hypertext and information retrieval systems may be encapsulated under a Hyperbole user interface (a number of samples are provided).

Outlines allow rapid browsing, editing and movement of chunks of information organized into trees (hierarchies);

а также, хочется надеяться — не только иерархии, но и холархии в смысле какого-то холизма, квалиа, системы мира; то есть: семантические ссылки фреймовой базы знаний

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

archive managers

Programs that manage archives from incoming information streams may be supplemented by having them add topic-based buttons that link to the archive holdings. Users can then search and create their own links to archive entries.

{Rolodex}, for concept and usage information on the rapid lookup, hierarchical, free text record management system included with Hyperbole.

* Hyperbole:: GNU Emacs-based everyday information management system. Use C-h h d d for a demonstration. Includes context-sensitive mouse and keyboard support, a powerful rolodex, an autonumbered outliner with hyperlink anchors for each outline cell, and extensible hypertext facilities including hyper-links in mail and news messages.

ежели потрѣбуется когда-нибудь нам таки импортозамещать новомодный хипстеро-ориентированный интернет 2.5, то вот вѣдь оно — годное направление гипертѣкстовой мысли; в отличие от банально огороженных единоличных подворьев проприертарщины, барщины окаянной — ортогональное и к транспорту, и к клиентам.

однако же, становится решительно неясно чем же таким занимался Мицголъ зе уебмастеръ , изобретая свой вѣкторный гипертѣкстовый фидонѣтъ — аще бо такихъ жемчужин программерской мысли вовсе и не обнаружив?

редкая птица долетит до середины дистрибутива пакетов емакса — а жаль, однако же, право, весьма жаль. вотъ и сызнова вдругорѣдь изобретают фидонѣты поверх нетскейпа, а не емакса; а что есть нетскейп? всего лишь коммерческая поделка, на которую великий батракъ jwz обратил свой взоръ, уходя из Lucid Emacs, разорившегося в самом начале дот-ком-бум-хайпа (история, в подробностиях повѣданная нам richard p. gabriel в егойных «скрижаляхъ софта»; «чем хуже, тем лучше» есть извѣстный меметический боянъ оттудова). нецскейпъ суть всѣго лишь жалкая подделка, эпигонъ идеи емакса-редактора как мурзиллы-смотрелки в новомодном хипстерском жабосинтаксисе. да и хтмл откровенно говоря, попросту сосётъ. было верное направление мысли, было — DSSSL со схемою на схеме; было, да где оно теперь?

вѣдь кабы миллионы свободных воль, объединившись, составили бы собою когерентную систему проектов да запустили совместную коэволюцию бутстрап систем самораскрутки друг друга друг другом (обычное артельно-общинноя вспомоществование, не совсем отличное от меметики Докинза и опенсорсовой эволюции разработчиков линукс-ядра; однако же, вспомоществование, поспешествование — а не социальный дарвинизьм) — так может быть, и мы бы вдругорѣдь жили бы совсем-совсем в другом информационном пространстве? не «заселяя ноосферу», декларируя независимость киберпространства друг от друга и вина от бутылок — а соборно, посконно и домотканно. в духе соборном, общинном, исконно посконном и домотканном, не борясь с природою — а активно сотрудничая.

в смысле единого союза здравого духа, души и тела — правильного самоорганизующегося вѣкторного сѣмантическаго гипертѣкста ноосферной среды «мира горнего», «мира дальнего» да и всехъ ея жизненных цикловъ.

anonymous
()
Ответ на: комментарий от anonymous

затем, по проекциям Футамуры-Турчина получается *автомагически* компилятор из интерпретатора (суперкомпиляция интерпретатора это компилятор), и из макросов на елиспе — компилятор метаязыка, то есть языка метасистемы-программиста.

Ловите наркомана же, ну.

ovk48 ★★★
()
Ответ на: комментарий от ovk48

из истории суперкомпиляции:

Имеем ли мы дело с метасистемными переходами в программировании? Не знаю, как там насчёт теоретиков, но программисты-практики сталкиваются с ними каждый день. Ну, например, что представляет из себя процесс отладки? Отладчик исполняет программу + данные по-шагам, а над ними тяжело дышит программист, который тщетно пытается понять, что происходит. Этот программист и находится на «метауровне» и, стало быть, является «метасистемой» (или её частью). Однако же, идея «автоматизации программирования» (жалко, что про этот изящный термин ныне почти забыли), подразумевает, что было бы хорошо, если бы всех программистов можно было повыгонять и заменить из на бездушные машины и/или программы.

Т.е., в идеале, поведение одной программы должна была бы изучать другая программа, а не человек. А над этой программой, естественно, можно было бы поставить другую программу (сидящую на мета-мета-уровне), и т.д. Но, как говорится, «гладко было на бумаге, да забыли про овраге». Светлая и завлекательная мечта об «автоматизации программирования» так мечтой и осталась. Хотя, кое-что сделать всё же удалось...

так вот: когда ты чего-то делаешь интерактивно в емаксе, тогда есть возможность записать клавиатурные макросы, а потом их проиграть. такая программа — интерпретатор для емакса, работающий почти точно так же, как человек. или результат работы какой-то метапрограммы, метаинтерпретатора — описывающей этот процесс (интерпретатора человеков-отладчиков как метасистемы, и егойнова метаязыка). а сами клавиатурные макросы — это трассы выполнения этой метапрограммы. над которыми далее можно сделать прогонку в духе рефала, «сужение» и «расщепление»

всё это достаточно очевидно, и если бы был когда-нибудь написан Емакс с РЕФАЛом вместо елиспа (или хотя бы с заменяемым движком, то есть: реализовать план по замене движка) — было бы очевидно ещё более.

другое дело, что выделение минимально достаточной такой программы (типа delta debugging) достаточно замороченно.

сравни, кстати первый пункт «An Extra C Preprocessing Stage» с прогонкой метапрограммы, ну или переделке в WEB LP вид, для последующего tangle (то есть, обратная операция, «untangle»).

и вообще, в описании конфигурации такой (мета)программы есть довольно большой творческий произвол.

а в остальном — рассуждения вполне себе справедливы.

anonymous
()

в 3D для Occulus Rift

совет для Swift IDE по ссылке

и написать на этом векторный гипертекстовый фидонет ZigZag с zzCells, на котором потом реализовать Xanadu (они его как раз на node.js переписывают)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.