powered by simpleCommunicator - 2.0.34     © 2025 Programmizd 02
Форумы / Обсуждение нашего сайта (архив) [закрыт] [закрыт для гостей] / выделение исходников
25 сообщений из 111, страница 2 из 5
выделение исходников
    #11698217
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
выделение исходников
    #11698413
Фотография judge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grasoff.net,

исправил.
...
Рейтинг: 0 / 0
выделение исходников
    #11702204
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
judge 
grasoff.net,

исправил.
с пятитыщенкой тебя!
...
Рейтинг: 0 / 0
выделение исходников
    #11726807
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
11726795
неверная раскраска запроса.
...
Рейтинг: 0 / 0
выделение исходников
    #11726814
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код
1.
2.
3.
4.
SELECT `users`.`id`, `name` FROM `users`
WHERE `users`.`id` NOT IN (
SELECT `usersParameters`.`users_id` FROM `usersParameters`
)
`id`, `name` это явно не ключевые слова.
...
Рейтинг: 0 / 0
выделение исходников
    #11743060
`
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
`
Гость
что-то сломалось в выделении всей строки, в коде
Код
1.
select * from table1
...
Рейтинг: 0 / 0
выделение исходников
    #11744395
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код
1.
2.
3.
4.
5.
SQL> create trigger b_ai after insert on b for each row
  2  begin
  3    insert into a(id) values (:new.a_id);
  4  end;
  5  /
Выделения в первой строке просто ужасны.
...
Рейтинг: 0 / 0
выделение исходников
    #11744595
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer 
Код
1.
SQL> create trigger b_ai after insert on b for each row
Выделения в первой строке просто ужасны.
На каком слове мне следовало бы завизжать от ужаса?
...
Рейтинг: 0 / 0
выделение исходников
    #11744792
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic,

trigger, after, each.
...
Рейтинг: 0 / 0
выделение исходников
    #11744829
Фотография dmidek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic 
softwarer 
Код
1.
SQL> create trigger b_ai after insert on b for each row
Выделения в первой строке просто ужасны.
На каком слове мне следовало бы завизжать от ужаса?
Визжать вообще не стоит, тем более по такому поводу.
На мой взгляд никакой особой трагедии нет,
но пути улучшения на мой взгляд совершенно ясны - по возможности отделить ключевые слова
языка от пользовательских наименований.
В приведенном примере эта задача решена скверно.
ИМХО
...
Рейтинг: 0 / 0
выделение исходников
    #11745228
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dmidek 
На мой взгляд никакой особой трагедии нет
Вот именно. И слава богу, хоть кто-то из "модераторов" это понимает.
...
Рейтинг: 0 / 0
выделение исходников
    #11746711
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tanglir 
Elic,

trigger, after, each.
А здесь?
Код
1.
2.
3.
4.
5.
6.
7.
8.
tst> declare trigger number;
  2          after number;
  3          each number;
  4  begin   null;
  5  end;
  6  /

PL/SQL procedure successfully completed.
...
Рейтинг: 0 / 0
выделение исходников
    #11746719
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав Любомудров 
А здесь?
А вот этим и отличается вменяемая синтаксическая раскраска от тупого search/replace. По состоянию на сейчас лучше вообще убрать её нафиг, чем выделять случайные слова вроде
Код
1.
2.
3.
SQL> create table ....

Table created
...
Рейтинг: 0 / 0
выделение исходников
    #11746725
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да нет, то, что есть, таки получше чем ничего
Я бы только убрал совсем уж тупизмы
Код
1.
2.
3.
4.
5.
6.
tst> declare >>>a<<< number;
  2  begin   null;
  3  end;
  4  /

PL/SQL procedure successfully completed.
...
Рейтинг: 0 / 0
выделение исходников
    #11746740
Фотография judge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
` 
что-то сломалось в выделении всей строки, в коде
Код
1.
select * from table1
Исправлено.

С выделением pl/sql буду разбираться. Синтаксич. раскраски, конечно не будет, но текущую постараюсь улучшить.
...
Рейтинг: 0 / 0
выделение исходников
    #11746751
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, для приблизительного обязательного списка можно взять
Код
1.
2.
3.
select keyword from v$reserved_words where reserved='Y' and length > 1
...
80 rows selected.
С другой стороны, вызывает некое недоумение отсутствующие в предыдущем списке
Код
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.
tst> select * from v$reserved_words where keyword in ('IF', 'CLOB', 'NCHAR', >>>'DECODE'<<<, 'MIN');

KEYWORD                            LENGTH R R R R D
------------------------------ ---------- - - - - -
CLOB                                    4 N N N N N
IF                                      2 N N N N N
MIN                                     3 N N N N N
NCHAR                                   5 N N N N N

tst> declare clob number; nchar number;  decode number; min number;
  2  begin   null;
  3  end;
  4  /

PL/SQL procedure successfully completed.

tst> declare if number;
  2  begin   null;
  3  end;
  4  /
declare if number;
        *
ERROR at line 1:
ORA-06550: line 1, column 9:
PLS-00103: Encountered the symbol "IF" when expecting one of the following:
begin function package pragma procedure subtype type use
<an identifier> <a double-quoted delimited-identifier> form
current cursor
...
Т.е. вроде как и выделить бы надо, и использование ввиде идентификаторов не возбраняется (IF/CASE и т.д. вообще отдельная песня).

LOOP там вообще нет, но с ним вообще случай тяжелый
Код
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.
tst> select * from v$reserved_words where keyword='LOOP';

no rows selected

tst> set serveroutput on
tst> declare loop number := 1;
  2  begin   dbms_output.put_line(loop);
  3  end;
  4  /
1

PL/SQL procedure successfully completed.

tst> declare loop number;
  2  begin   loop := 1;
  3  end;
  4  /
begin   loop := 1;
             *
ERROR at line 2:
ORA-06550: line 2, column 14:
PLS-00103: Encountered the symbol "=" when expecting one of the following:
begin case declare exit for goto if loop mod null pragma
raise return select update while with <an identifier>
<a double-quoted delimited-identifier> <a bind variable> <<
close current delete fetch lock insert open rollback
savepoint set sql execute commit forall merge pipe
The symbol "<an identifier>" was substituted for "=" to continue.
Да и много еще там граблей...

Реализовать "вменяемую синтаксическую раскраску"(c)softwarer -- можно организовать пятничную задачку по расстановке тегов в зависимости от контекста :)))
...
Рейтинг: 0 / 0
выделение исходников
    #11746754
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав Любомудров 
Да нет, то, что есть, таки получше чем ничего
Я бы только убрал совсем уж тупизмы
Код
1.
2.
3.
4.
5.
6.
tst> declare >>>a<<< number;
  2  begin   null;
  3  end;
  4  /

PL/SQL procedure successfully completed.
Ан не все так просто :)))
Код
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
tst> select * from v$reserved_words where length=1 and keyword between 'A' and 'Z' order by 1;

KEYWORD                            LENGTH R R R R D
------------------------------ ---------- - - - - -
A                                       1 N N N N N
E                                       1 N N N N N
G                                       1 N N N N N
K                                       1 N N N N N
M                                       1 N N N N N
P                                       1 N N N N N
T                                       1 N N N N N
U                                       1 N N N N N

8 rows selected.
...
Рейтинг: 0 / 0
выделение исходников
    #11747090
Фотография dmidek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав Любомудров 
tanglir 
Elic,

trigger, after, each.
А здесь?
Код
1.
2.
3.
4.
5.
6.
7.
8.
tst> declare trigger number;
  2          after number;
  3          each number;
  4  begin   null;
  5  end;
  6  /

PL/SQL procedure successfully completed.
Отличный пример. Естественно, здесь все имена переменных тоже должны раскраситься
голубым, "дабы глупость каждого лучше видна была". Вам же легче будет горе- программисту
объяснять, что сие есть моветон.
...
Рейтинг: 0 / 0
выделение исходников
    #11747120
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не соглашусь, Дим. Во-первых, список таких слов растёт с каждой версией и накрывает "ранее свободные и нормальные" имена. Во-вторых, нередко бывают условные примеры типа
Код
1.
select * from table where id = :id
...
Рейтинг: 0 / 0
выделение исходников
    #11747155
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dmidek 
"дабы глупость каждого лучше видна была"
Про trigger и даже after еще можно как-то согласиться, но в чем провинился each?
...
Рейтинг: 0 / 0
выделение исходников
    #11747931
Фотография dmidek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав Любомудров 
dmidek 
"дабы глупость каждого лучше видна была"
Про trigger и даже after еще можно как-то согласиться, но в чем провинился each?
Если judge будет выбирать между вариантами, минимизируя свои трудозатраты, то я проголосую за риск того, что переменная each, буде такая раз в 7 лет и встретится, окажется окрашенной голубым.
...
Рейтинг: 0 / 0
выделение исходников
    #12073763
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В Oracle-е обратный slash (\) не является escape-символом внутри строкового литерала. Как следствие, раскраска сыпется чуть более чем полностью: 12073746
WrongSlashAsEscape.png
...
Рейтинг: 0 / 0
выделение исходников
    #12074527
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Авто-нумерацию строк добавить-бы надо. Очень полезно обсуждения отдельных
частей кода.
Код
1.
2.
3.
4.
5.
1 #include <stdio.h>
2
3 int main(int argc,char **argv){
4  printf("Hello Wold\n");
5 }
И вертикальный разделитель сделать чтоб при выделении абзаца захватывался
только исходник.
...
Рейтинг: 0 / 0
выделение исходников
    #12074815
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton 
Авто-нумерацию строк добавить-бы надо.
Нах. Не надо слушать заблудших.
...
Рейтинг: 0 / 0
выделение исходников
    #12074875
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не участвовал в обсуждении с "заблудшими". Поэтому.. хм невкурсе.
...
Рейтинг: 0 / 0
25 сообщений из 111, страница 2 из 5
Форумы / Обсуждение нашего сайта (архив) [закрыт] [закрыт для гостей] / выделение исходников
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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