Pull to refresh

Comments 125

И мой любимый COW :(

moO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO
moo moO MoO MoO MoO MoO MoO MoO MoO moO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO moO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO moO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO moO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO moO mOo mOo mOo mOo mOo mOo MOo MOO
moO MoO MoO moO MOo MOo MOo moO MOo MOo moO MoO MoO MoO MoO moO MOo MOo MOo moO
mOo mOo mOo mOo mOo mOo
moO OOM moO OOM moO OOM moO OOM moO OOM

/\
если что, то это _| исходники…
Достойный конкурент брейнфаку…
Фиг с ним с брейнфаком, Whitespace не подсвечивается, вот что ужасно!
Только вот подсветка включается после обновления страницы, а не после добавления комментария/ответа.
Хм, у меня сразу подсветилось. Уже исправили?
UFO just landed and posted this here
<code>Продаётся

 место

  для 

 вашей

рекламы :)</code>
UFO just landed and posted this here
Судя по внешнему виду, кто-то позабыл про «clear: both» в CSS…
overflow: hidden; для , ну или модный clearfix
Действительно, некрасиво как-то. Ведь ничего же не стоило, раз уже полезли в этот код.
Не говоря уже о том, что в подсказке по тегам можно было бы по клику вставлять их в сообщение.
UFO just landed and posted this here
Я про кнопку быструю. Нажал бы я щас такой на «Ответить» около вашего коммента, а там кнопочка «Цитировать» сразу.
Ну-ка…

.b-suggest{position:relative;margin:1px 4.85em 0 0}.b-suggest-popup{position:absolute;width:100%}.b-suggest__opera-gap{position:absolute;height:25em;border:1px solid transparent}.b-suggest-list{position:absolute;z-index:9999;overflow:hidden;min-width:25em;max-width:100%;margin-top:-4px;border-collapse:separate;-webkit-box-shadow:0 1px 7px #9a9a9a;-moz-box-shadow:0 1px 7px #9a9a9a;box-shadow:0 1px 7px #9a9a9a;border:1px solid #dedede;border-color:rgba(154,154,154,0.5);border-top-color:rgba(154,154,154,0.4)
Приятно, что администрация прислушались к результатам моего опроса, хоть не зря делал :)
Спасибо!
Скорее всего, это из-за Дня космонавтики.
Если бы это было из-за Дня космонавтики, то в списке поддерживаемых языков был бы ассемблер DCPU-16.
Главное знать, куда написать об этом ;)
use List::Util qw/first/;
print "This is ".(first {1} qw /wow bad foo bar bad/)."!\n"
<html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>>
<head profile="http://gmpg.org/xfn/11">
<meta http-equiv="Content-Type" content="<?php bloginfo('html_type') ?>; charset=<?php bloginfo('charset') ?>" />
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />
<title><?php wp_title( '|', true, 'right' ); bloginfo( 'name' ); ?></title>
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url') ?>" type="text/css" media="screen" />


Отлично. Здорово, что и при предпросмотре нормально видно.
А вот если просматривать такие комменты в своем профиле — «Мои комментарии», то подсветки нет.
Имхо, автоопределение языка тут уместнее. Чай не ПО для Роскосмоса, пускай и ошибалось бы на one-liner'ах.
Если атрибут lang не ставить, то работает автоопределение.
Как насчет отхабреных?

def hello_world
puts «Hello Habr!»
end
UFO just landed and posted this here
UFO just landed and posted this here
Да это же highlight.js! :)
Не думал, что добавляя CMake и VHDL в highlight.js они будут когда-нибудь использовать на хабре.
Вот и мне приятно :) Сейчас у highlight.js явно какой-то бум намечается.
Ну это не просто так :-). Я активно работаю в этом направлении.
Тема с сайтом не подвисла? А то что в рассылке нездоровый ажиотаж только из-за номеров строк :)
Не подвисла, но довольно всё медленно. Но я думаю, это случится :-).
#в баше
echo "Тут подсвечивает"
echo 'А тут нет'

Еще бы &ltblockquote&gt всё-таки
Ну еще бы F# или, что то же самое практически, OCaml добавили и совсем бы спокойно на душе стало. :)
@synthesize UID = _UID;
@synthesize type = _type;

- (void)dealloc
{
	[_UID release];
	[_type release];

	[super dealloc];
}

Мечтаю о кнопке «сохранить» при написании топика.
Когда много пишешь, приходится отправлять в черновики, нажимать редактировать и снова дописывать.
В ближайших планах (автосейв)
Тест:
var teamMembers = new List<string> {
            "Lou Loomis",
            "Smoke Porterhouse",
            "Danny Noonan",
            "Ty Webb"
};

FindByFirstName( teamMembers, "Danny",  (x, y) => x.Contains(y) );
К сожалению, чтобы увидеть, что за язык, нужно в исходный код страницы смотреть.
Идея «Выводить заголовок блока с именем языка» имеет рациональное зерно.
(setq xmin (* 250 (fix (/ x 250))))	
(setq xmax (+ xmin 250))			
(setq ymin (* 250 (fix (/ y 250))))	
(setq ymax (+ ymin 250))			
(command "_rectang" (list xmin ymin) (list xmax ymax) 
         "_text" (list (+ xmin 5) (+ ymin 5)) "10" "0" title)
Присоединюсь к бета тестированию:

package main

import "fmt" // Implements formatted I/O.

/* Print something */

func main() {
       fmt.Printf("Hello, world \n")
}
parse = fst . process (Node 100500 M.empty []) . split
    where
        process parent@(Node name mp children) (tag:tags)
            | head tag == '/' = (parent, tags)
            | last tag == '/' = let ident = hash $ init tag
                                    child = Node ident (M.singleton ident 1) []
                                    newMap = M.insertWith' (+) ident 1 mp
                                in  process (Node name newMap (child:children)) tags
            | otherwise       = let ident = hash tag
                                    (child@(Node _ cmap _), rest) = process (Node ident (M.singleton ident 1) []) tags
                                    newMap = M.unionWith (+) mp cmap
                                in  process (Node name newMap (child:children)) rest
        process parent [] = (parent, [])

answer tree query = process tree $ map hash $ words query
    where
        process (Node _ mp _) [last] = M.findWithDefault 0 last mp
        process (Node name _ children) all@(tag:tags) =
            let tail = if name == tag then tags else all
            in  foldl' (\acc child -> acc + process child tail) 0 children


Хреново работает подсветка для Haskell…
P.S.: кто угадает, откуда код?
Я недостаточно точно выразился. Багов нет. Но поддержка языка очень скудна. Для сравнения:



Far + Colorer + мод для Haskell.
Здесь ещё один хороший пример.
Пользуясь случаем, напишу-ка Вам feature request:

При написании статей крайне полезной была бы возможность выделять некоторые строки кода, скажем, другим цветом фона, дабы обратить на них внимание читателя. Или такое уже реализовано в библиотеке, но просто не доступно в контексте Хабра?
Это не ко мне :-). Библиотека только код разбирает/хайлайтит, а то, что вы просите — это уже в местном редакторе нужно реализовывать. Со стороны библиотеки важно только то, что хайлайтинг не испортит эту кастомную разметку.
Вообще, я посмотрел на кода выше, и там размечено гораздо больше, чем видно. То есть нужно добавить стилей симпатичных для хаскелных конструкций.
еще бы табуляцию прикрутили — вообще было бы супер :)
Если это вам поможет, то просто табы (по кнопке TAB) Хабраякс умеет вводить, правда, не в Хроме. Поддержать Хром и сделать групповые отступы табами тоже не очень сложно, у меня эту подзадачу «затмили» более интересные проекты в рамках этого скрипта.
Попробуем:
<?php
$4test = 123;     // неверно; начинается с цифры
$_4test = 123;    // верно; начинается с символа подчеркивания
$tyдte = 123;    // верно; 'д' это (Дополнительный) ASCII 228.
?>
Тут надо сказать, что в задачу хайлайтера не входит поиск ошибок, он рассчитан на подсветку корректного кода.
В официальной документации определено, из чего могут состоять переменные. Хоть и не рекомендуется, но последняя строчка, содержащая символ кириллицы, верная запись. Или из-за того, что не рекомендуется можно считать код не корректным?
Я говорил про первую строчку, где идентификатор с цифрой. Часто в таких случаях хайлайтер вообще может решить, что этот фрагмент не на том языке, на котором он пытается его подсветить, и просто бросить дальнейшую расцветку (хотя в этом конкретном случае этого и не происходит).

А вот символы с кодами больше 128 хайлайтер как раз знает. Только ваша буква «д» будет с ASCII-кодом 228 только если PHP-парсер читает исходный текст, сохранённый в windows-1251. А JavaScript — юникодный язык, поэтому литеральная «д» в диапазон 128-225 не входит.
VHDL есть, а Verilog'a нет! Отчего такая дискриминация?
Если я не ошибаюсь, поддержку VHDL в highlight.js, который здесь, судя по всему, используется, добавлял ikalnitsky. Ничего Вам не мешает сделать pull request с поддержкой хоть Verilog, хоть System C…
Если это список языков, то «Delphi» стоит всё же поменять на «Pascal».
С версии, кажется, 7 Delphi language получил собственное название. Он очень далёк от Паскаля уже давно.
Во-первых, Delphi — это уже давно как название языка, а не только IDE. Во-вторых, Pascal является подмножеством Delphi, поэтому если код pascal выделить тэгом delphi, то ничего страшного не произойдет.
Ассемблеров разных ого-го сколько.
x86/x86_64 и ARM — охват 95%, думаю.
Хотя да, x86 же ещё в синтаксие Intel и AT&T может быть.
Мне было бы достаточно следующей схемы подсветки:
первая лексема — оператор, следующие — операнды. Все остальное подсвечивается, как комментарии.
UFO just landed and posted this here
Пардон, не хотел в Вашу ветку.
Я успел наскринить несколько вариантов во время отладки css видимо. Обсуждалось тут
<head>
<title>Тест вложенного синтаксиса</title>
<script type="text/javascript">
$(document).ready(function(){
alert("ой ой");
});
</script>
</head>
<head>
  <title>Тест вложенного синтаксиса</title>
  <script type="text/javascript">
    $(document).ready(function(){
      alert("ой ой");
    });
  </script>
</head>

:-P Но оригинальная полупрозрачность для вложенных блоков мне больше нравится.
Не понял, оно чтоли автоопределило жаваскрипт внутри xml?
Да, именно так. Также подсвечивает CSS внутри (x?HT|X)ML и JavaScript внутри CoffeeScript. Подробнее в вики.
Хм, а неплохо получилось.
Поддержка php 5.4 неполная — оператор insteadof не подсвечивается

class Talker {
    use A, B {
        B::smallTalk insteadof A;
        A::bigTalk insteadof B;
    }
}
source lang=«vba», vba опять не указан в списках, но работает.

Sub DeleteEmptyObj()
    Dim Elem As Object
    Dim entry As AcadEntity
    Dim MyTxt As AcadText
    For Each Elem In ThisDrawing.ModelSpace
        If Elem.EntityName = "AcDbText" Then
            Set MyTxt = Elem
            Set entry = Elem
            If Trim(MyTxt.textString) = "" Then
                entry.Delete
                purge_a = purge_a + 1
            End If
        'End If
        ElseIf Elem.EntityName = "AcDbLine" Or Elem.EntityName = "AcDbPolyline" Then
            Set entry = Elem
            If entry.Length = 0 Then
                entry.Delete
                purge_a = purge_a + 1
            End If
        End If
    Next
End Sub
Не работает :-). Хайлайтер не знает слова «vba» и игнорирует его, поэтому включает автоопределение языка и раскрашивает этот фрагмент как VBScript. Если посмотреть на элемент <code> в любом инспекторе, то будет видно, что к нему добавился класс «vbscript».
Вы правы. Ошибся.
мог и сам догадаться по конструкции
Dim Elem As Object

Dim подсвечен, as нет, что типично для VBS, но не для VBA
class Foo : public Bar
{
public:
    Foo(int n) { _n = n; }
    ~Foo() {}
    int getN() const { return _n; }
    void setN(int n) { _n = n; }
private:
    int _n;
}


// file Foo.h
@interface Foo : NSObject
{
    int _n;
}

@property (nonatomic, assign) n;

-(id)initWithN: (int)n;
@end

// file Foo.m

#import "Foo.h"

@implementation Foo

@synthesize n=_n;

-(id)initWithN: (int)n
{
    self.n = n;
}


Здорово, работает!
Ручки бы отрывать за такое форматирование методов в obj-c. Вот как надо:

- (id)initWithN:(int)n;
+ (id)instanceWithObject:(NSObject *)object;


и никаких кривых пробелов между двоеточиями и открывающими ковычками, но нужно добавлять после модификаторов +-
Ну да, тут я маху дал =)
Кстати, в реальном коде (только что на всякий случай проверил) я пишу корректно.
ну отлично ) прям глаза режет сразу!
UFO just landed and posted this here
Это к чему, если не секрет? )
Как-то обидно… Подсветки QBasic'а нет(((
01 PRINT "Hello, Habr. Devide me completely!"
02 INPUT A
03 INPUT B
05 IF B = 0 GOTO 07
06 IF B <> 0 GOTO 09
07 PRINT "Nice try, Sauron ;-)"
08 GOTO 02
09 PRINT A/B
10 END
это у вас gw-basic.
в qbasic был уже структурированный синтаксис
В нём можно было и так писать.
Из-за этой фичи улучшалась переносимость программ из gw-basic'а (и многих других). Так что полезная вещь была.
Не говорите о Basic'ах в прошедшем времени. Они живы, пока жив хоть один, кто пускает ностальгическую слезу при виде их кода.

Пойду что-ль статейку накатаю по нему.
-module(sensors_pool).
-export([start_link/0, stop/0, start_pool/3,
		run/2, sync_queue/2, async_queue/2, stop_pool/1]).
 
start_link() ->
	sensors_sup:start_link().
 
stop() ->
	ppool_supersup:stop().
Впервые за 2 года, а может, и более, Хабр повёл себя неестественным образом.

То есть, выпиливание нормальной главной страницы, а потом и её останков в виде habrahabr.ru/all было вполне естественным? %)
Как ни странно, да… Для Хабра естественно.
Здорово, конечно, но зачем было менять порог того, о чем не говорят, при комментировании? я теперь раз в час могу отвечать…
Тест 1С
&НаКлиенте
Процедура ВывестиСообщение(Команда)
    
    Если ВариантВыводаСообщения = "Сообщение" Тогда
        
        Сообщить("Hello, World !!!");
        
    ИначеЕсли ВариантВыводаСообщения = "Предупреждение" Тогда
        
        Предупреждение("Hello, World !!!");
        
    ИначеЕсли ВариантВыводаСообщения = "Оповещение" Тогда
        
        ПоказатьОповещениеПользователя("Hello, World !!!");
        
    КонецЕсли;
    
КонецПроцедуры
Ого. Даже X++ есть. Но пока работает плохо. Впрочем, ERP на хабре не пользуются большой популярностью.

void selectRecordExamples()
{
    CustTable custTable;
    ;
    // A customer is found and returned in custTable
    select * from custTable;

    // A customer with account number > "100" is found
    select * from custTable
        where custTable.AccountNum > "100";

    // Customer with the lowest account number > "100" found:
    // Coho Winery with number 200.
    select * from custTable order by accountNum
        where custTable.AccountNum > "100";

    // The next customer is read (Coho Vineyard & Winery)
    next custTable;

    // Customer with higest account number
    // (greater than 100) found: Fourth Coffee
    select * from custTable order by accountNum desc
        where custTable.accountNum > "100";

    // The next record is read (DESC): Fabrikam, Inc.
    next custTable; 

    // Customer with highest account number found: Fourth Coffee
    select reverse custTable order by accountNum;

    // Customer with "lowest" name and account number
    // in the interval 100 to 1000 is found. This is Coho Winery.
    select * from custTable order by name
        where custTable.accountNum > "100"
        && custTable.accountNum < "1000";

    // The count select returns the number of customer
    // account numbers (5)
    select count(AccountNum) from custTable;
    // Prints the result of the count
    print custTable.accountNum; 

    // Returns the sum of balances for non-blocked customers.
    // The result is: SUM: $1,060,000, stored in the Balance 
    // field 
    select sum(balance) from custTable
        where custTable.blocked == DebCreBlocked::No;
}
UFO just landed and posted this here
И Nemerle, для rsdn'овцем обломс.
проверка аннотаций
	<hh user=PersistenceContext>
	private EntityManager em;

Sign up to leave a comment.

Articles