Есть ли синтаксическая подсветка для SAS?

Мне нужно разместить код SAS на своем веб-сайте. Однако, если я напишу свой HTML-код, чтобы выделить SAS код, это займет у меня много времени.

Как преобразовать код SAS в красивый HTML аналог?


person CHEBURASHKA    schedule 03.08.2013    source источник
comment
Загляните на codemirror.net.   -  person Basile Starynkevitch    schedule 03.08.2013


Ответы (13)


Я бы просто скопировал/вставил из вашего редактора в редактор форматированного текста (например, MS Word или аналогичный), способный создать файл HTML. С другой стороны, некоторые текстовые редакторы, такие как UltraEdit, могут выполнять разметку SAS.

person Joe    schedule 04.08.2013
comment
Этот. Или вместо того, чтобы сохранять документ Word как HTML, просто скопируйте/вставьте его из Word в свой любимый HTML-редактор. - person Hong Ooi; 04.08.2013

Я только что обнаружил, что Gist действительно поддерживает подсветку синтаксиса SAS!

Это то, что вы увидите, если создадите файл hello_world.sas в Gist.

введите здесь описание изображения

Если вы хотите встроить коды SAS, скажем, в статью блога Wordpress.org (как и я), я обычно делаю это следующим образом:

  1. Создайте файл Markdown на Gist. Например, см. этот файл Gist Markdown, который я создал ). Обратите внимание, что для вас создается «ссылка для вставки»:

введите здесь описание изображения

  1. На вашем веб-сайте Wordpress.org уже должен быть установлен подключаемый модуль oEmbed Gist.

  2. Когда вы создаете новую запись в блоге в Wordpress, в поле основной части (где вы обычно печатаете содержимое своей записи в блоге) просто скопируйте и вставьте встроенную ссылку Gist в тело.

введите здесь описание изображения

  1. Опубликуйте этот пост в блоге, и вы увидите, как он выглядит красиво!

введите здесь описание изображения

(в качестве альтернативы, если вы хотите написать сообщение в блоге Wordpress в обычном режиме и встроить несколько кодов Gist SAS, просто сохраните основные файлы как файлы .sas (вместо одного файла .md) и вставьте несколько URL-адресов для встраивания (соответствующих каждому блогу кода) .

Дополнительную информацию см. на этом форуме stackoverflow - где я узнал об удивительной комбинации Gist и Wordpress Gist oEmbed!

person Atlas7    schedule 13.03.2016

Начиная с Руководства по SAS Enterprise v5.1, вы можете - щелкните окно редактора и выберите «Копировать исходный код HTML в буфер обмена».

Затем вы можете вставить HTML-код непосредственно в исходный HTML-код своей страницы.

Обратите внимание, что это может работать даже в более ранних версиях SAS Enterprise Guide - версия 5.1 оказалась версией, которую я установил.

Спасибо @otto за идею использования Enterprise Guide.

person Robert Penridge    schedule 11.02.2016

Я не нашел отличного решения. SAS, похоже, не поддерживается ни одним из маркеров javascript.

По крайней мере три известных мне текстовых редактора могут экспортировать цветной HTML в буфер обмена (и, следовательно, на вашу страницу, в Word или PowerPoint).

  1. ультраредактор
  2. Блокнот++
  3. Emacs (ESS) (на Mac я использую Aquamacs)
  4. (возможно) расширенный редактор SAS... не уверен в этом.

Другой возможностью является TextWrangler на Mac, для которого доступен файл раскраски синтаксиса SAS. Но я не пробовал это. [обновление: это не очень хорошо. многие ключевые слова отсутствуют.

Пятая возможность — SublimeText 3. У него есть отличный плагин для раскрашивания синтаксиса. Он даже получает y = X * z; * но это действительно комментарий ; цветная правильность. Пакет раскраски SAS не включен по умолчанию, но его можно загрузить с implementing-vdw.blogspot.ch/2012/10/new-sublime-text-package-available-for.html

Пробная версия бесплатна, а ST является кроссплатформенным]

Немного не по теме - но это следующий вопрос :-)

Для подготовки бумаг и документов есть листинг пакета LaTeX (который работает, если вы используете BeraMono вместо Courier) и более новый пакет на его основе под названием SASnRdisplay. Эти пакеты дают отличный результат, и в них легко добавлять ключевые слова. Также для списков вам необходимо разрешить ключевые слова в нижнем регистре с параметром «чувствительно = ложь».

person DaveG    schedule 15.11.2013

Можно ли использовать Enterprise Guide?

Когда я копирую и вставляю из окна редактирования EG во что-то, что поддерживает форматированный текст (слово, электронную почту Outlook и т. д.), я получаю все свои цвета и выделение.

Отсюда вам просто нужно взять HTML-код и вставить его в сеть. Это может быть не самый красивый HTML (вывод WYSIWYG редко), но он работает. В Outlook 2010 вы можете щелкнуть правой кнопкой мыши и «Просмотреть исходный код» на любом отправленном/полученном письме (или в качестве уловки вы можете вставить его в пустое электронное письмо, а затем закрыть его и просмотреть исходный код в папке «Черновики») .

Как я уже сказал, это какой-то уродливый HTML (и все в одной строке), но я предполагаю, что вывод любого средства выделения javascript также довольно уродлив:

<b><span style='font-family:"Courier New";color:navy;background:white'>data</span></b><span style='font-family:"Courier New";color:black;background:white'> test;<o:p></o:p></span></p><p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:"Courier New";color:black;background:white'><span style='mso-spacerun:yes'>&nbsp; </span></span><span style='font-family:"Courier New";color:blue;background:white'>set</span><span style='font-family:"Courier New";color:black;background:white'> test;<o:p></o:p></span></p><p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span style='font-family:"Courier New";color:black;background:white'><span style='mso-spacerun:yes'>&nbsp; </span></span><span style='font-family:"Courier New";color:blue;background:white'>length</span><span style='font-family:"Courier New";color:black;background:white'> fakevar $</span><b><span style='font-family:"Courier New";color:teal;background:white'>16</span></b><span style='font-family:"Courier New";color:black;background:white'>;<o:p></o:p></span></p><p class=MsoNormal><b><span style='font-family:"Courier New";color:navy;background:white'>run</span></b><span style='font-family:"Courier New";color:black;background:white'>;</span><o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p>

Вы можете увидеть его здесь: http://rendera.heroku.com/usercode/9e1bfaeb9bceb4c052d6747e8e73c1846bad433b

person orh    schedule 10.05.2014

Я думаю, вы можете следующее:

  • Сохраняйте свои коды на https://gist.github.com/.
  • Используйте код URL-адреса для встраивания (предоставленный в https://gist.github.com/) на своем сайте как. ..(Выполнить фрагмент кода):

<script src="https://gist.github.com/AlyssonJalles/b22bc10a707ef909024b.js"></script>

*Возможно, это не стопроцентное решение, но это хорошо, потому что когда вы обновляете свой код на Gist, код будет обновлен на вашем веб-сайте. Кроме того, если вы используете wordpress.com, вы просто копируете URL-адрес и вставляете его в редакторе страниц, чтобы увидеть код.

person Jalles10    schedule 07.03.2015

Если вы создаете собственную HTML-страницу (и считаете основное решение нежелательным), проверьте CodeMirror.

http://codemirror.net/mode/sas/index.html

var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
  mode: 'sas',
  styleActiveLine: true,
  lineNumbers: true,
  readOnly: true
});
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.18.2/codemirror.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.18.2/codemirror.min.js"></script>

<!-- sas language mode -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.18.2/mode/sas/sas.min.js"></script>

<!-- optional plugins -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.18.2/addon/selection/active-line.min.js"></script>

<form><textarea id="code" name="code">
libname foo "/tmp/foobar";
%let count=1;

/* Multi line
Comment
*/
data _null_;
    x=ranuni();
    * single comment;
    x2=x**2;
    sx=sqrt(x);
    if x=x2 then put "x must be 1";
    else do;
        put x=;
    end;
run;

/* embedded comment
* comment;
*/

proc glm data=sashelp.class;
    class sex;
    model weight = height sex;
run;

proc sql;
    select count(*)
    from sashelp.class;

    create table foo as
    select * from sashelp.class;

    select *
    from foo;
quit;
</textarea></form>

person Bailey Hayes    schedule 31.08.2016

И шестой ответ — pspad. У которого есть надстройка SAS для получения возможностей сборки.

http://www.pspad.com/

Утилиты SAS здесь: http://www.pspad.com/en/pspad-extensions.php?stranka=3

person DaveG    schedule 21.03.2014

возможно, это репо поможет.

https://github.com/Jiangtang/sas.tmbundle

ссылка:

http://www.jiangtanghu.com/blog/2012/07/13/sublimetext2-sas/

person staticor    schedule 10.12.2014

Emacs может сделать это с помощью Emacs Speaks Statistics (ESS). Есть два контекста, которые я считаю полезными для редактирования кода SAS. Первый — sas-mode для редактирования целых файлов SAS, второй — использование исходного блока в org-mode для грамотного программирования.

Я настоятельно рекомендую прочитать учебник по Emacs. Если вы только что установили Emacs, просто откройте его и нажмите Enter (на ссылке «Emacs Tutorial»). В противном случае нажмите C-h t.

<сильный>1. Установите ЕСС

Нажмите M-x list-packages и найдите Emacs Speaks Statistics через C-s emacs speaks statistics. Нажмите i, чтобы отметить пакет для установки. Нажмите x, чтобы установить все отмеченные пакеты.

<сильный>2. Загрузить ESS

Чтобы загрузить ESS, запустите M-: (require 'ess-site). Дополнительные сведения см. в инструкциях по установке.

Режим SAS

Загрузите режим SAS в текущем буфере через M-x sas-mode. Это обеспечивает подсветку синтаксиса в соответствии с вашей текущей темой. Например, это светлая тема.

sas-режим со светлой темой

Режим организации

Загрузить орг-режим через M-x org-mode. Создайте исходный блок, набрав <s и нажав TAB для автозаполнения. Это создает блок исходного кода:

#+BEGIN_SRC 

#+END_SRC

Затем введите sas, чтобы сообщить организационному режиму, что исходный код является кодом SAS.

#+BEGIN_SRC sas

#+END_SRC

Чтобы переключить подсветку синтаксиса в исходном блоке, запустите M-: (setq org-src-fontify-natively t).

Затем любой код внутри блока получает подсветку синтаксиса для SAS. Цвет зависит от вашей темы. Это пример темной темы:

пример организационного режима с темной темой

Организационный режим позволяет экспортировать в HTML, используя C-c C-e h o. С htmlize подсветка синтаксиса также будет экспортирована.

person Lorem Ipsum    schedule 04.10.2016

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

Чтобы обеспечить подсветку синтаксиса, характерного для SAS, необходимо выбрать файлы ключевого слова и синтаксиса sas. Эти файлы предоставляются только при установке. Пожалуйста, выполните следующие шаги: 1. Установите малиновый редактор (я использую версию 3.70) 2. Нажмите Инструменты->Настройки->Файл->Тип синтаксиса 3. В типе синтаксиса выберите кнопку с тремя точками внизу справа. Появится всплывающее окно и выберите sas.spc 4. В разделе «Ключевые слова» выберите кнопку с тремя точками в правом нижнем углу. Появится всплывающее окно и выберите sas.key 5. В описании введите SAS 6. В верхней правой рамке/панели выберите SAS из последнего варианта. И все готово.

Изменить. Редактор Crimson Editor можно загрузить с сайта http://www.crimsoneditor.com/< /а>

person Bhookha Bhediya    schedule 24.06.2018

Старый вопрос и старый язык программирования, но, возможно, кого-то (например, меня) все еще интересует еще один ответ:

Как создать подсветку кода SAS с помощью Notepad++

  1. Существует [https://blogs.sas.com/content/sasdummy/2017/08/25/npp-with-sas/] (запись в блоге самой SAS), объясняющая, как использовать подсветку синтаксиса для кода SAS в Notepad++. В основном это относится к свободно доступному плагину Notepad ++ по адресу https://github.com/cjdinger/sas-npp< /а>

  2. Следующий шаг является необязательным: вы можете экспортировать выделенный код из Notepad++ в HTML с помощью плагина NppExport, см., например, https://www.addictivetips.com/windows-tips/nppexport-for-notepad-export-highlighted-code-in-html-rtf-format/

Как выделить код SAS в VIM

Существует хорошее введение в использование VIM для редактирования кода SAS от сообщества SAS: http://www.sascommunity.org/planet/blog/category/vim/

Основная идея заключается в том, что вы получаете файл определения синтаксиса для VIM и устанавливаете его, см. https://www.vim.org/scripts/script.php?script_id=1999

person B--rian    schedule 07.05.2019

Чтобы выделить текст в макросе, введите следующую строку:

%macro __enable_eg_syntax_highlight; % исправление __enable_eg_syntax_highlight;

Итак, там, где все было просто черным, строка выше вернет форматирование SAS.

С уважением Терри

person Terry    schedule 23.06.2016
comment
Это интересно, но на самом деле не отвечает на вопрос. - person Robert Penridge; 23.06.2016