Гость
Форумы / Обсуждение нашего сайта (архив) [закрыт] [закрыт для гостей] / выделение исходников / 25 сообщений из 111, страница 1 из 5
01.12.2011, 17:04
    #11691100
judge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение исходников
Собираю пожелания и замечания по функциональности выделения иссходников.
Ошибки в текущей версии, добавление новых языков, оформление и т.п.

Alex
...
Рейтинг: 0 / 0
01.12.2011, 17:56
    #11691519
Gator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение исходников
Спасибо за заботу.

Хотелось бы SRC в строке сообщения. Например,

Замените
Код
1.
var Obj: TObject;
на
Код
1.
var Obj: TPersistent
_a.JPG
...
Рейтинг: 0 / 0
01.12.2011, 18:50
    #11691939
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение исходников
Ошибка в выделении комментария в SRC VBA
Если комментарий в последней строке и после него нет энтера - он не выделяется как комментарий
Код
1.
a=1 'коммент
Код
1.
a=1 'коммент не выделился
...
Рейтинг: 0 / 0
01.12.2011, 19:12
    #11692074
judge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение исходников
Gator,

Я думаю это будет не очень красиво из-за большей высоты строки с исходником.

Shocker.Pro ,

Понял. Вопрос на засыпку - можно ли использовать синтакс VB.NET для выделения VB исходников?
...
Рейтинг: 0 / 0
01.12.2011, 19:41
    #11692205
mds_world
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение исходников
При выделении всей строки (==>), она сдвигается к левому краю. Несмотря на пробелы слева
Код
1.
2.
   id=1
   var="qwerty"
Хотя исходная отформатирована правильно
Код
1.
2.
   id=1
   var="qwerty"
...
Рейтинг: 0 / 0
01.12.2011, 19:42
    #11692211
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение исходников
judge 
Вопрос на засыпку - можно ли использовать синтакс VB.NET для выделения VB исходников?
думаю, что нет, все-таки принципиально разные языки.
Сейчас я так понимаю, для VB.NET вообще нет SRC, по умолчанию там C# - он вообще черти-что показывает для VBA исходников.
...
Рейтинг: 0 / 0
01.12.2011, 19:42
    #11692213
mds_world
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение исходников
Извиняюсь. Сейчас нормально :-Q

Но было. Спасибо, что поправили.
...
Рейтинг: 0 / 0
01.12.2011, 21:38
    #11692663
Gator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение исходников
judge> Я думаю это будет не очень красиво из-за большей высоты строки с исходником.
Абсолютно согласен.
Просто хотелось бы некую "моноширинность с выделением ключевых слов а-ля SRC" в тексте.

Но это другая фича. Извиняюсь за оффтоп
...
Рейтинг: 0 / 0
01.12.2011, 23:14
    #11692971
Яростный Меч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение исходников
judge 
Собираю пожелания и замечания по функциональности выделения исходников.
цитирование в "быстром ответе" по прежнему не определяет язык (в силу отсутствия данных).
ждем-с..
...
Рейтинг: 0 / 0
01.12.2011, 23:20
    #11692991
Яростный Меч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение исходников
Gator 
Просто хотелось бы некую "моноширинность с выделением ключевых слов а-ля SRC" в тексте.
выделяй болдом и не заморачивайся.
...
Рейтинг: 0 / 0
01.12.2011, 23:34
    #11693037
Gator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение исходников
Яростный Меч, Так и делаю. А разве кто-то иначе? хи-хи
...
Рейтинг: 0 / 0
02.12.2011, 00:53
    #11693211
qwerty112
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение исходников
mds_world 
Извиняюсь. Сейчас нормально :-Q

Но было. Спасибо, что поправили.
+1

что характерно, в предпросмотре - баг остался :)
1234.JPG
...
Рейтинг: 0 / 0
02.12.2011, 04:53
    #11693352
judge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение исходников
Залил новую версию с полностью измененным движком расскраски исходников.

Добавились новые языки: XML, PowerShell, Python, Ruby, Coco, ASPX, CSS, JavaScript, HTML (+js)

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

Также должны правильно поддерживаться спец-символы внутри исходников и не должна происходить замена html кодов типа:
Код
1.
 " > ..
что было ранее.

NNTP версия пока еще будет использовать старый вариант при публикации.
...
Рейтинг: 0 / 0
02.12.2011, 09:19
    #11693643
Guf
Guf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение исходников
judge,

А можно вернуть старые шрифты для [SRC SQL] ? А то прям глаза режет... И от привычных в студии отличается
untitled.jpg
...
Рейтинг: 0 / 0
02.12.2011, 09:48
    #11693767
mds_world
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение исходников
Guf 
judge,

А можно вернуть старые шрифты для [SRC SQL] ? А то прям глаза режет... И от привычных в студии отличается
+1
И в VB тоже, не только в [SRC SQL]

Минус еще и в том, что теперь, даже не очень длинные строки, которые раньше помещались на экране полностью, теперь частично скрываются справа экрана и целиком не видны.
...
Рейтинг: 0 / 0
02.12.2011, 10:47
    #11694133
Микросекунда
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение исходников
Guf пишет:

G> А можно вернуть старые шрифты для [SRC SQL] ? А то прям глаза режет...

И ещё +1
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
02.12.2011, 11:59
    #11694935
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение исходников
Микросекунда 
Guf пишет:

G> А можно вернуть старые шрифты для [SRC SQL] ? А то прям глаза режет...

И ещё +1
+много!!!
сейчас наблюдаю прям уродство:
Длина индекса - MySQL - Sql.ru 2011-12-02 11-57-05.png
...
Рейтинг: 0 / 0
02.12.2011, 13:09
    #11695602
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение исходников
judge 
Залил новую версию с полностью измененным движком расскраски исходников.
Проверил на стандартном дельфовом коде. Если старая раскраска была плоха, новая гораздо хуже. Конкретно:

1. Цвета - мягко говоря, не сахар. Раньше было лучше. А ещё лучше взять стандартную для среды.

2. Выделение чисел внутри комментариев - мягко говоря, не гуд. А что ещё там будет выделяться и как?
Код
1.
2.
3.
4.
5.
6.
7.
{ *************************************************************************** }
{                                                                             }
{ Delphi and Kylix Cross-Platform Visual Component Library                    }
{                                                                             }
{ Copyright (c) 1995, 2001 Borland Software Corporation                       }
{                                                                             }
{ *************************************************************************** }
3. Комментарий не выделяется
Код
1.
(*$NOINCLUDE ActiveX*)
4. Неверное выделение констант:
Код
1.
2.
3.
4.
5.
6.
7.
8.
const

  fmCreate = $FFFF;

  scShift = $2000;
  scCtrl = $4000;
  scAlt = $8000;
  scNone = 0;
5. А вот и ключевые слова внутри комментария, тоже выделяются
Код
1.
2.
3.
4.
5.
6.
7.
8.
9.
  // these operators are used in Assign and go beyond simply copying
  //   laCopy = dest becomes a copy of the source
  //   laAnd  = intersection of the two lists
  //   laOr   = union of the two lists
  //   laXor  = only those not in both lists
  // the last two operators can actually be thought of as binary operators but
  // their implementation has been optimized over their binary equivalent.
  //   laSrcUnique  = only those unique to source (same as laAnd followed by laXor)
  //   laDestUnique = only those unique to dest   (same as laOr followed by laXor)
6. private, protected, public, property, destructor, class, overload, virtual - не выделяются, хотя должны. Список наверняка неполный. Наверняка ещё будут constructor, dynamic, override, published, stdcall, register, cdecl, read, write, index... Три последних, кстати, нужно уметь отличать, когда они должны выделяться, а когда - нет.
Код
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
  TList = class(TObject)
  private
    FList: PPointerList;
    FCount: Integer;
    FCapacity: Integer;
  protected
    function Get(Index: Integer): Pointer;
    procedure Grow; virtual;
    procedure Put(Index: Integer; Item: Pointer);
    procedure Notify(Ptr: Pointer; Action: TListNotification); virtual;
    procedure SetCapacity(NewCapacity: Integer);
    procedure SetCount(NewCount: Integer);
  public
    destructor Destroy; override;
    function Add(Item: Pointer): Integer;
    procedure Clear; virtual;
    procedure Delete(Index: Integer);
    class procedure Error(const Msg: string; Data: Integer); overload; virtual;
    class procedure Error(Msg: PResStringRec; Data: Integer); overload;
    procedure Exchange(Index1, Index2: Integer);
    function Expand: TList;
    function Extract(Item: Pointer): Pointer;
    function First: Pointer;
    function IndexOf(Item: Pointer): Integer;
    procedure Insert(Index: Integer; Item: Pointer);
    function Last: Pointer;
    procedure Move(CurIndex, NewIndex: Integer);
    function Remove(Item: Pointer): Integer;
    procedure Pack;
    procedure Sort(Compare: TListSortCompare);
    procedure Assign(ListA: TList; AOperator: TListAssignOp = laCopy; ListB: TList = nil);
    property Capacity: Integer read FCapacity write SetCapacity;
    property Count: Integer read FCount write SetCount;
    property Items[Index: Integer]: Pointer read Get write Put; default;
    property List: PPointerList read FList;
  end;
7. Некоторые синтаксические элементы (например, имена типов) подсвечены чем-то, очень мало отличающимся от основного текста. Только мешает, особенно если участь, что "что есть стандартный тип" - идёт с бухты-барахты. Например, integer подсвечивается, а pointer - нет.

8. object - это тоже ключевое слово.
Код
1.
  ApplicationShowException: procedure (E: Exception) of object = nil;
9. inherited - тоже ключевое слово
Код
1.
2.
3.
constructor TRegGroup.Create(AClass: TPersistentClass);
begin
  inherited Create;
10. Комментарий вообще никак не отрисован, хотя должен бы
Код
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
begin
  inherited Create;
  FGroups := TList.Create;
  InitializeCriticalSection(FLock);
  // Initialize default group
  Group := TRegGroup.Create(TPersistent);

  // The group criterion has changed. We need to recalculate which groups the
  // classes that have already been registered belong to. We can skip
  // Group since we would just be moving a class to a group it already belongs
  // to. We also only need to find the new group of classes that descend from
  // AClass since that is the only criterion being changed. In other words,
  // we only need to move classes that descend from AClass to Group if they
  // are in another group.
  for I := 0 to FGroups.Count - 1 do
  begin
    CurrentGroup := FGroups[I];
11. raise - это тоже ключевое слово
Код
1.
2.
3.
4.
  procedure Error;
  begin
    raise EFilerError.CreateFmt(SUnknownGroup, [AGroupClass.ClassName]);
  end;
12. А здесь стандартные типы почему-то не подсвечены
Код
1.
2.
3.
4.
5.
constructor TClassFinder.Create(AClass: TPersistentClass;
  AIncludeActiveGroups: Boolean);
var
  I: Integer;
  Group: TRegGroup;
13. А ещё есть такая хорошая штука - ассемблер
Код
1.
2.
3.
4.
5.
6.
7.
8.
function GetFieldClassTable(AClass: TClass): PFieldClassTable; assembler;
asm
        MOV     EAX,[EAX].vmtFieldTable
        OR      EAX,EAX
        JE      @@1
        MOV     EAX,[EAX+2].Integer
@@1:
end;
14. Последние 16 лет try и finally - тоже ключевые слова. И except тоже
Код
1.
2.
3.
4.
5.
6.
7.
8.
9.
procedure UnRegisterClass(AClass: TPersistentClass);
begin
  RegGroups.Lock;
  try
    RegGroups.UnregisterClass(AClass);
  finally
    RegGroups.Unlock;
  end;
end;
15. И это тоже ключевое слово
Код
1.
2.
3.
threadvar
  GlobalLoaded: TList;
  GlobalLists: TList;
16. #0 или там $0F - это целые лексемы, и подсвечивать их стоит соответственно
Код
1.
2.
3.
          if (QuoteChar <> #0) and (QuoteChar = Tail^) then
            QuoteChar := #0
          else if QuoteChar = #0 then
17. И at - это тоже ключевое слово
Код
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
class procedure TList.Error(const Msg: string; Data: Integer);

  function ReturnAddr: Pointer;
  asm
          MOV     EAX,[EBP+4]
  end;

begin
  raise EListError.CreateFmt(Msg, [Data]) at ReturnAddr;
end;
18. Странно и нелогично выделять ^ и при этом не выделять @
Код
1.
2.
3.
4.
    if (NewIndex < 0) or (NewIndex >= FCount) then
      Error(@SListIndexError, NewIndex);
    Item := Get(CurIndex);
    FList^[CurIndex] := nil;
Фух. Даже до четверти текста не дошёл, но уже устал. Пока хватит, наверное :)
...
Рейтинг: 0 / 0
02.12.2011, 13:32
    #11695801
judge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение исходников
softwarer,
Да с Delphi чето-то не то было :) Залил новую версию - посмотри еще раз?
...
Рейтинг: 0 / 0
02.12.2011, 13:43
    #11695910
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение исходников
judge 
Да с Delphi чето-то не то было :) Залил новую версию - посмотри еще раз?
Замечания 2, 4, 13, 16, 17 остались на месте. Может ещё что-то, глаз уже замылен. dynamic, stdcall, at по-прежнему не подсвечиваются. Get подсвечивается не иначе чем с перепою
Код
1.
2.
3.
4.
function TList.Last: Pointer;
begin
  Result := Get(FCount - 1);
end;
...
Рейтинг: 0 / 0
02.12.2011, 13:43
    #11695913
judge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение исходников
Шрифт тоже вернул
...
Рейтинг: 0 / 0
02.12.2011, 14:47
    #11696509
Яростный Меч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение исходников
По JS:
Код
1.
2.
3.
/23/igm.test('g-regex');
/23/.test
undefined arguments
1) регексы не подсвечиваются.
2) undefined, arguments - можно бы подсветить.
3) стандартные классы (Array, Function, Object, Boolean, Number, RegExp, String, Math) подсвечиваются как keywords, хотя это просто классы. Может, цвет поменять?
4) ну и регистрозависимость, неплохо бы учесть.
...
Рейтинг: 0 / 0
02.12.2011, 14:51
    #11696549
judge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение исходников
Softwarer, ок постараюсь исправить

Яростный Меч
регексы пока пасс.
2 и 3 поправим. 4? сделать case sensitive?
...
Рейтинг: 0 / 0
02.12.2011, 14:59
    #11696613
Яростный Меч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение исходников
judge 
сделать case sensitive?
конечно надо.
причем во всех регистрозависимых языках

C#
Код: C#
1.
For While
...
Рейтинг: 0 / 0
02.12.2011, 18:01
    #11698205
grasoff.net
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение исходников
...
Рейтинг: 0 / 0
Форумы / Обсуждение нашего сайта (архив) [закрыт] [закрыт для гостей] / выделение исходников / 25 сообщений из 111, страница 1 из 5
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]