Изменение цвета текста в форме ввода на основе ограничений [дубликат]

Другим сценарием является то, что вы нанесли нулевой объект в тип значения . Например, код ниже:

object o = null;
DateTime d = (DateTime)o;

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

Одним из примеров этого является этот простой фрагмент привязки ASP.NET с элементом управления календарем:

" />

Здесь SelectedDate на самом деле является свойством - типа DateTime - типа Calendar Web Control, и привязка может отлично вернуть что-то null. Неявный генератор ASP.NET создаст кусок кода, который будет эквивалентен приведенному выше методу. И это поднимет NullReferenceException, что довольно сложно определить, потому что он лежит в сгенерированном ASP.NET коде, который компилирует отлично ...

105
задан mlambie 2 October 2008 в 03:57
поделиться

12 ответов

StackOverflow использует библиотеку Prettify .

103
ответ дан Demitri 25 August 2018 в 11:30
поделиться
  • 1
    Я второй это. Google Code использует его для собственного выделения репо (поскольку они его написали) и автоматически определяет язык. – Karan 2 October 2008 в 05:14
  • 2
    Конечно, используя тот, который "автоматически" обнаруживает, что язык просто добавляет больше веса на машину / браузер клиента ... – James 2 October 2008 в 09:42
  • 3
    Вы можете указать язык Prettify, если вы это знаете, это улучшит производительность. Это просто не используется в StackOverflow из-за большой языковой аудитории. – Vincent Robert 2 October 2008 в 09:54
  • 4
    Просто добавил это на мой веб-сайт, и это здорово и так просто в использовании! – Lawrence Dol 22 February 2009 в 06:53
  • 5
    @Vincent: он улучшает больше, чем просто производительность ;-) – SamB 29 November 2010 в 18:11

Я очень доволен SHJS . Он поддерживает множество языков и кажется довольно быстрым и точным.

Вот пример, где я использую его в моем блоге . Я использую свой собственный CSS-файл, который имитирует выделение синтаксиса Coda . Напишите мне, если вы хотите его использовать.

5
ответ дан Andrew Hedges 25 August 2018 в 11:30
поделиться
5
ответ дан Chris Pietschmann 25 August 2018 в 11:30
поделиться
  • 1
    Просто поиск Google также даст мне этот список - но какой из них вы предпочитаете и почему? – Török Gábor 14 August 2009 в 14:45

Недавно я разработал одну радугу.

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

См. http://rainbowco.de .

45
ответ дан Craig 25 August 2018 в 11:30
поделиться
  • 1
    Я просто столкнулся с Rainbow сегодня - мне кажется, что он может различать более тонко, чем Prettify (например, когда можно сказать, когда rdf:type используется как элемент и когда он является атрибутом). – Roger_S 9 June 2012 в 02:19
  • 2
    Это нужно подняться наверх, Крейг. Я пробовал все другие решения, и только Rainbow правильно управлял Python и имел readable стили стилей темы. Удивительный плагин! – Blender 20 August 2012 в 03:54

Если вы используете jQuery, есть Chilli:

http://code.google.com/p/jquery-chili-js/

Все, что вам нужно сделать, это включить jquery-chili.js и recipes.js и сделать выделение с помощью

$("code").chili();

Он должен сам определить язык.

6
ответ дан Edu Felipe 25 August 2018 в 11:30
поделиться
  • 1
    Ссылки на примеры на этой странице приводят к тому, что домен с истекшим сроком действия заполнен объявлениями, поэтому немного сложно понять, как выглядит этот маркер. – Nathan Osman 27 May 2014 в 06:01
2
ответ дан Franci Penov 25 August 2018 в 11:30
поделиться

Как насчет Призма Ли Вероу.

Из ее сообщения в блоге в июне (2012):

  • Это крошечный. Ядро составляет всего 1,5 КБ, gzipped.
  • Это невероятно расширяемо. Не только легко добавить новые языки (это данные с каждым ярлыком синтаксиса в наши дни), но и расширить существующие.
  • Он поддерживает параллелизм через Web Workers, для повышения производительности в определенных случаях.
  • Это не заставляет вас использовать какую-либо разметку, специфичную для Призма, даже не имя класса Prism, только стандартную разметку, которую вы должны использовать в любом случае. Итак, вы можете просто попробовать его на некоторое время, удалить его, если вам это не нравится, и не оставлять следов.
15
ответ дан Ilya Tuvschev 25 August 2018 в 11:30
поделиться
  • 1
    Это оказалось лучшим вариантом для всех ответов для меня из-за простоты добавления новых определений языка. – Mike Grace 3 March 2017 в 08:02

jQuery.Syntax - чрезвычайно быстрый и легкий синтаксический синтаксис.

Он был разработан специально для заполнения пробела - то есть: быстрый, чистый, синтаксический анализатор синтаксиса на стороне клиента.

4
ответ дан ioquatix 25 August 2018 в 11:30
поделиться
  • 1
    к сожалению, это было стандартное сообщение FpML как СПАМ :) – ehosca 8 September 2011 в 20:21
  • 2
    @ehosca, можете ли вы дать мне разъяснения по проблеме, которую вы испытываете? – ioquatix 13 September 2011 в 02:40
  • 3
    когда я вставляю xml в goo.gl/PPcDx в goo.gl/qSqm9 , он говорит, что недопустимый контент является спамом. надеюсь это поможет. – ehosca 14 September 2011 в 14:28
  • 4
    Вам нужно включить некоторые строки в текст, иначе он будет выглядеть как спам. Я не могу вспомнить точные формулы, которые я использовал, но я думаю, что если у вас более одного URL-адреса, текст считается спамом - это потому, что кучи ботов были спам системы ( syntax-highlighing.com ). – ioquatix 15 September 2011 в 05:41

Синтаксис jQuery Highlighter - новый, основанный на Prettify Google - действительно очень популярный простой синтаксис синтаксиса javascript.

Он поддерживает такие вещи как блоки code и pre, способные использовать такие имена классов, как language-javascript, чтобы указать, что мы хотим выделить, а также wordwrap. Вы можете копировать и вставлять код, выбирая его обычно вместо того, чтобы открывать необработанное представление, как и многие другие. Его можно дополнительно настроить с помощью атрибута данных HTML5 data-sh или путем указания параметров при инициализации. Большой стабильный выбор, который регулярно обновляется.

26
ответ дан Mike Pennington 25 August 2018 в 11:30
поделиться
  • 1
    На самом деле автор утверждает, что он основан на Google Prettify, а не на SyntaxHighlighter. Похоже, что SyntaxHighlighter 3, хотя, похоже, требует гораздо меньше работы для настройки. Спасибо за ссылку! – Tieson T. 29 March 2011 в 19:39

В этой статье в разделе «Ресурсы веб-ресурсов» приведен список вариантов выделения кода, некоторые из которых используют Javascript. Он был опубликован 4 мая 2009 года.

2
ответ дан mlambie 25 August 2018 в 11:30
поделиться

Я не спорю, но просто подумал, что стоит упомянуть, что если вы используете платформу CMS или блога, то по понятным причинам лучше использовать бэкэнд-маркер. Посмотрите на Geshi ( http://qbnz.com/highlighter/ ), если вам интересно. На самом деле вы можете настроить свой сервер для анализа содержимого HTML с помощью бэкэнд-технологии - поэтому нет необходимости в подсветке JS. (Единственная функциональность, которую они добавляют, это возможность печати / копирования [с помощью swf].)

3
ответ дан Roger_S 25 August 2018 в 11:30
поделиться
  • 1
    Это не очевидно для меня. Почему лучше использовать бэкэнд-маркер? – Evan P. 11 March 2013 в 08:31
  • 2
    Да, я тоже очень люблю , чтобы знать, что такое «очевидный». о том, чтобы отправить больше ответа клиенту ... – ZenMaster 8 June 2013 в 04:35
  • 3
    Я предпочитаю, чтобы подсветка синтаксиса все еще присутствовала на устройствах, которые не поддерживают JS. Кроме того, на вкладках на стороне клиента есть затраты времени на выполнение, которые могут быть довольно здоровыми, если у вас есть много кода для выделения. Тем не менее, это зависит от вашего конкретного случая использования :) – James 10 June 2013 в 10:56
  • 4
    Какие устройства не поддерживают JS? – Jack Giffin 22 March 2018 в 02:02

Если вы ищете подсветку синтаксиса в редакторе в браузере, попробуйте CodeMirror .

3
ответ дан rplevy 25 August 2018 в 11:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: