Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » SciTE - Open Source Text Editor for Windows & Linux

Модерирует : gyra, Maz

Widok (09-10-2007 14:48): лимит страниц. продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104

   

Spab



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

A free source code editor for Win32 and X
Русскоязычный форум поддержки

  • Один из самых настраиваемых текстовых редакторов из ныне существующих. Настраивается практически все.
  • Индивидуальная подсветка для разных языков програмирования, фолдинг для классов, функций и структур, авто-дополнение, и т.д. и т.п. ...
     
  • Scite-interest -- Discussion of the SciTE editor
  • Русский сайт SciTE (документация, FAQ, снимки экрана, утилиты, скрипты и т.д. и т.п....)
  • Мечта кодера. статья
  • Burgaud.com - US.SciTE
  • SciTE: Scintilla Text Editor with Extensions
  • Filerx, SideWinder
  • ......
     
       
  • Project file releases
  • Project summary (including basic statistics)
  • Новости со SciTE.ru
     
    Последняя версия редактора - SciTE 1.74
     
    SciTE 1.74 .52Ru-Board Edition [Сборка 20.09.2007]
    Oписание: сборки ядра  
     
    Дружественная тема: Доработка исходного кода и компилирование сборки Ru-Board Edition
     
    Нерешенные задачи и вопросы ( Для умных и талантливых форумчан )
     
    P.S. Если вы используете SciTE для своих нужд, таких как: написание HTML, CSS, Java Script, PHP и др. кода для сайта, или просто вам нравится этот редактор, поставьте пожалуйста ссылку или баннер на сайт - http://scite.ruteam.ru, благодаря этому у сайта повышается индекс цитирования, соответственно увеличивается количество пользователей редактора.

  • Всего записей: 64 | Зарегистр. 02-09-2001 | Отправлено: 03:05 04-06-2002 | Исправлено: mozers, 13:45 04-10-2007
    brack

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Всем доброго времени суток,
     
    помогите новичку: нужена подсветка и api для typoscript пробовал те подсветки что уже в проге но ни одна не подошла, решил написать свой лексер. основная часть лексера списана с LexConf.cxx свой лексер назвал LexTS.cxx вот собственно код нового лексера:

    Цитата:
     
    #include <stdlib.h>
    #include <string.h>
    #include <ctype.h>
    #include <stdio.h>
    #include <stdarg.h>
     
    #include "Platform.h"
     
    #include "PropSet.h"
    #include "Accessor.h"
    #include "KeyWords.h"
    #include "Scintilla.h"
    #include "SciLexer.h"
     
    #ifdef SCI_NAMESPACE
    using namespace Scintilla;
    #endif
     
    static void ColouriseTSDoc(unsigned int startPos, int length, int, WordList *keywordLists[], Accessor &styler) {
        
        int state = SCE_TS_DEFAULT;
        char chNext = styler[startPos];
        int lengthDoc = startPos+length;
        // create a buffer large enough to take the largest chunk...
        char *buffer = new char[length];
        int bufferCount = 0;
     
        // this assumes that we have 10 keyword list in typoscript.properties
        WordList &keywords = *keywordLists[0];
        WordList &tlo = *keywordLists[1];
        WordList &objects = *keywordLists[2];
        WordList &stdwrap = *keywordLists[3];
        WordList &imgResource = *keywordLists[4];
        WordList &imageLinkWrap = *keywordLists[5];
        WordList &textStyle = *keywordLists[6];
        WordList &encapseLines = *keywordLists[7];
        WordList &filelink = *keywordLists[8];
        WordList &conditionkeywords = *keywordLists[9];
     
        // go through all provided text segment
        // using the hand-written state machine shown below
        styler.StartAt(startPos);
        styler.StartSegment(startPos);
        for (int i = startPos; i < lengthDoc; i++) {
            char ch = chNext;
            chNext = styler.SafeGetCharAt(i + 1);
     
            switch(state) {
                case SCE_TS_DEFAULT:
                    if( ch == '\n' || ch == '\r' || ch == '\t' || ch == ' ') {
                        // whitespace is simply ignored here...
                        styler.ColourTo(i,SCE_TS_DEFAULT);
                        break;
                    } else if( ch == '#' || ch == '/' ) {
                        // signals the start of a comment...
                        state = SCE_TS_COMMENT;
                        styler.ColourTo(i,SCE_TS_COMMENT);
                    } else if( ispunct(ch) ) {
                        // stay  in TS_OPERATOR state until we find a non-alphanumeric
                        if( isalnum(ch) || (ch == '_') || (ch == '-') || (ch == '/') || (ch == '$') || (ch == '.') || (ch == '*')) {
                            buffer[bufferCount++] = static_cast<char>(tolower(ch));
                        } else {
                            state = SCE_TS_DEFAULT;
                            buffer[bufferCount] = '\0';
     
                            // check if the buffer contains a keyword, and highlight it if it is a keyword...
                            if(keywords.InList(buffer)) {
                                styler.ColourTo(i-1,SCE_TS_KEYWORDS );
                            } else if(tlo.InList(buffer)) {
                                styler.ColourTo(i-1,SCE_TS_TLO );
                            } else if(objects.InList(buffer)) {
                                styler.ColourTo(i-1,SCE_TS_OBJECTS );
                            } else if(stdwrap.InList(buffer)) {
                                styler.ColourTo(i-1,SCE_TS_STDWRAP );
                            } else if(imgResource.InList(buffer)) {
                                styler.ColourTo(i-1,SCE_TS_IMGRESOURCE );
                            } else if(imageLinkWrap.InList(buffer)) {
                                styler.ColourTo(i-1,SCE_TS_IMAGELINKWRAP );
                            } else if(textStyle.InList(buffer)) {
                                styler.ColourTo(i-1,SCE_TS_TEXTSTYLE );
                            } else if(encapseLines.InList(buffer)) {
                                styler.ColourTo(i-1,SCE_TS_ENCAPSELINES );
                            } else if(filelink.InList(buffer)) {
                                styler.ColourTo(i-1,SCE_TS_FILELINK );
                            } else if(conditionkeywords.InList(buffer)) {
                                styler.ColourTo(i-1,SCE_TS_CONDITIONKEYWORDS );
                            } else {
                                styler.ColourTo(i-1,SCE_TS_DEFAULT);
                            }
     
                            // push back the faulty character
                            chNext = styler[i--];
     
                        }
                    } else if( isdigit(ch) ) {
                        // signals the start of a number
                        bufferCount = 0;
                        buffer[bufferCount++] = ch;
                        //styler.ColourTo(i,SCE_TS_NUMBER);
                        state = SCE_TS_NUMBER;
                    } else {
                        // style it the default style..
                        styler.ColourTo(i,SCE_TS_DEFAULT);
                    }
                    break;
     
                case SCE_TS_COMMENT:
                    // if we find a newline here,
                    // we simply go to default state
                    // else continue to work on it...
                    if( ch == '\n' || ch == '\r' ) {
                        state = SCE_TS_DEFAULT;
                    } else {
                        styler.ColourTo(i,SCE_TS_COMMENT);
                    }
                    break;
     
                case SCE_TS_NUMBER:
                    // stay  in TS_NUMBER state until we find a non-numeric
                    if( isdigit(ch) || ch == '.') {
                        buffer[bufferCount++] = ch;
                    } else {
                        state = SCE_TS_DEFAULT;
                        buffer[bufferCount] = '\0';
     
                        // Colourize here...
                        if( strchr(buffer,'.') ) {
                            // it is an IP address...
                            styler.ColourTo(i-1,SCE_TS_IP);
                        } else {
                            // normal number
                            styler.ColourTo(i-1,SCE_TS_NUMBER);
                        }
     
                        // push back a character
                        chNext = styler[i--];
                    }
                    break;
            }
        }
        delete []buffer;
    }
     
    static const char * const tsWordListDesc[] = {
        "Keywords",
        "Tlo",
        "Objects",
        "Stdwrap",
        "ImgResource",
        "ImageLinkWrap",
        "TextStyle",
        "EncapseLines",
        "Filelink",
        "Conditionkeywords",
        0
    };
     
    LexerModule lmTS(SCLEX_TS, ColouriseTSDoc, "TS", 0, tsWordListDesc);
     

     
    Следуя рецомендациям здесь: http://scintilla.sourceforge.net/SciTELexer.html прописал лексер везде где надо, создал для него typoscript.properties и подключил в SciTEGlobal.properties соответсвующий фильтр, language menu и тд ... а включаешь... не работает. Бьюсь над этой темой уже больше недели, чего только не перепробовал, какие только лексеры не пробовал клонировать и корректировать...
     
    Может кто посмотрит и посоветует где копать?

    Всего записей: 5 | Зарегистр. 22-08-2007 | Отправлено: 13:36 23-08-2007
    chupakabra



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    brack
    Выложи изменения в Scintilla.iface и ts.properties, попробую помочь. И тестовый файл на typoscript.

    Всего записей: 495 | Зарегистр. 18-10-2001 | Отправлено: 15:37 23-08-2007 | Исправлено: chupakabra, 15:41 23-08-2007
    brack

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Вот мой typoscript.properties (заметьте - не ts.properties или это имеет значение?) файл:

    Код:
     
    file.patterns.TS=*.TS;*.ts
    filter.TS=TypoScript|$(file.patterns.TS)|
    lexer.$(file.patterns.TS)=TS
    # for future implemention...
    #api.$(file.patterns.TS)=TS.api
     
    # keywords
    keywords.$(file.patterns.TS)=\
    typeNum \
    admPanel \
    index_enable \
    index_externals \
    doctype \
    xhtml_cleaning \
    inlineStyle2TempFile \
    spamProtectEmailAddresses \
    spamProtectEmailAddresses_atSubst \
    simulateStaticDocuments \
    simulateStaticDocuments_noTypeIfNoTitle \
    table \
    select \
    pidInList \
    uidInList \
    userFunc \
    value \
    template \
    file \
    workOnSubpart \
    marks \
    subparts \
    headerData
     
    #tlo
    keywords2.$(file.patterns.TS)=\
    PAGE \
    CONFIG \
    CONSTANTS \
    FE_DATA \
    FE_TABLE \
    FRAMESET \
    FRAME \
    META \
    COA \
    COA_INT \
    COBJ_ARRAY \
    CARRAY \
    CONTENT \
    TEXT \
    HTML \
    FILE \
    IMAGE \
    IMG_RESOURCE \
    CLEARGIF \
    RECORDS \
    CTABLE \
    OTABLE \
    COLUMNS \
    HRULER \
    IMGTEXT \
    CASE \
    LOAD_REGISTER \
    RESTORE_REGISTER \
    FORM \
    SEARCHRESULT \
    USER \
    USER_INT \
    PHP_SCRIPT \
    PHP_SCRIPT_INT \
    PHP_SCRIPT_EXT \
    TEMPLATE \
    MULTIMEDIA \
    EDITPANEL \
    GIFBUILDER \
    HMENU \
    GMENU \
    GMENU_LAYERS \
    GMENU_FOLDOUT \
    TMENU \
    TMENU_LAYERS \
    IMGMENU \
    JSMENU \
    _LOCAL_LANG \
    _CSS_DEFAULT_STYLE \
    _DEFAULT_PI_VARS
     
    #objects
    keywords3.$(file.patterns.TS)=\
    lib \
    config \
    plugin \
    styles \
    content \
    get \
    getLeft \
    getRight \
    getBorder \
    NO \
    RO \
    ACT \
    NOSUB
     
    #stdwrap
    keywords4.$(file.patterns.TS)=\
    setContentToCurrent \
    setCurrent \
    lang \
    parseFunc \
    data \
    field \
    current \
    cObject \
    numRows \
    filelist \
    preUserFunc \
    override \
    preIfEmptyListNum \
    ifEmpty \
    listNum \
    trim \
    required \
    if \
    fieldRequired \
    csConf \
    HTMLparser \
    prioriCalc \
    char \
    intval \
    date \
    strftime \
    age \
    case \
    bytes \
    substring \
    removeBadHTML \
    stripHtml \
    crop \
    rawUrlEncode \
    htmlSpecialChars \
    doubleBrTag \
    br \
    brTag \
    encapsLines \
    keywords \
    innerWrap \
    innerWrap2 \
    fontTag \
    addParams \
    textStyle \
    filelink \
    preCObject \
    postCObject \
    wrapAlign \
    spaceBefore \
    spaceAfter \
    space \
    noTrimWrap \
    wrap2 \
    dataWrap \
    prepend \
    append \
    wrap3 \
    outerWrap \
    insertData \
    offsetWrap \
    postUserFunc \
    prefixComment \
    editIcons \
    editPanel \
    debug \
    debugFunc \
    debugData \
    stdWrap \
    allWrap \
    wrap \
    parseFunc \
    tags \
    link \
    typolink \
    stdheader \
    target \
    split \
    typolist
     
    #imgResource
    keywords5.$(file.patterns.TS)=\
    ext \
    width \
    height \
    params \
    sample \
    alternativeTempPath \
    frame \
    import \
    maxW \
    maxH \
    minW \
    minH \
    m.mask \
    m.bgImg \
    m.bottomImg \
    m.bottomImg_mask
     
    #imageLinkWrap
    keywords6.$(file.patterns.TS)=\
    width \
    height \
    effects \
    sample \
    alternativeTempPath \
    title \
    bodyTag \
    wrap \
    target \
    JSwindow \
    JSwindow.expand \
    JSwindow.newWindow \
    JSwindow.altUrl \
    typolink \
    enable
     
    #textStyle
    keywords7.$(file.patterns.TS)=\
    align.field \
    face.field \
    face.default \
    size.field \
    size.default \
    color.field \
    color.default \
    color \
    properties.field \
    properties.default \
    altWrap
     
    #encapseLines
    keywords8.$(file.patterns.TS)=\
    encapsTagList \
    remap.Tag \
    addAttributes \
    removeWrapping \
    wrapNonWrappedLines \
    innerStdWrap_all \
    defaultAlign \
    encapsLinesStdWrap \
    nonWrappedTag
     
    #filelink
    keywords9.$(file.patterns.TS)=\
    path \
    icon \
    icon_image_ext_list \
    iconCObject \
    icon_link \
    labelStdWrap \
    wrap \
    ATagBeforeWrap \
    file \
    size \
    jumpurl \
    target \
    stdWrap \
    ATagParams \
    removePrependedNumbers \
    altText \
    titleText \
    longdescURL
     
    #conditionkeywords
    keywords10.$(file.patterns.TS)=\
    end \
    else \
    global \
    browser \
    version \
    system \
    device \
    useragent \
    language \
    IP \
    hostname \
    hour \
    minute \
    dayofweek \
    dayofmonth \
    month \
    usergroup \
    loginUser \
    treeLevel \
    PIDinRootline \
    PIDupinRootline \
    globalVar \
    globalString \
    userFunc
     
    # whitespace (SCE_TS_DEFAULT)
    style.TS.0=fore:#808080,$(font.base)
    # comments (SCE_TS_COMMENT)
    style.TS.1=
    # number (SCE_TS_NUMBER)
    style.TS.2=
    # ip number (SCE_TS_IP)
    style.TS.3=
    # keywords (SCE_TS_KEYWORDS)
    style.TS.4=
    # TLO (SCE_TS_TLO)
    style.TS.5=
    # objects (SCE_TS_OBJECTS)
    style.TS.6=
    # stdwrap (SCE_TS_STDWRAP)
    style.TS.7=
    # imgResors (SCE_TS_IMGRESOURCE)
    style.TS.8=
    # imageLinkWrap (SCE_TS_IMAGELINKWRAP)
    style.TS.9=
    # textStyle (SCE_TS_TEXTSTYLE)
    style.TS.10=
    # encapseLines (SCE_TS_ENCAPSELINES)
    style.TS.11=
    # fileLink (SCE_TS_FILELINK)
    style.TS.12=
    # conditionKeyWords (SCE_TS_CONDITIONKEYWORDS)
    style.TS.13=
     

     
    а здесь изменения в Scintilla.iface :

    Код:
     
    ...
    val SCLEX_TS=84
    ...
    # Lexical states for SCLEX_TS
    lex TS=SCLEX_TS SCE_TS_
    val SCE_TS_DEFAULT=0
    val SCE_TS_COMMENT=1
    val SCE_TS_NUMBER=2
    val SCE_TS_IP=3
    val SCE_TS_KEYWORDS=4
    val SCE_TS_TLO=5
    val SCE_TS_OBJECTS=6
    val SCE_TS_STDWRAP=7
    val SCE_TS_IMGRESOURCE=8
    val SCE_TS_IMAGELINKWRAP=9
    val SCE_TS_TEXTSTYLE=10
    val SCE_TS_ENCAPSELINES=11
    val SCE_TS_FILELINK=12
    val SCE_TS_CONDITIONKEYWORDS=13
    ...
     

     
    ну и наконец файл setup.TS на typoscript :

    Код:
     
    plugin.tx_automaketemplate_pi1 {
       content = FILE
       content.file = template_1.html
       
       # configuring translation of elements of HTML language (tags)
       elements {
          BODY.all = 1
          BODY.all.subpartMarker = DOCUMENT_BODY
     
          HEAD.all = 1
          HEAD.all.subpartMarker = DOCUMENT_HEADER
          HEAD.rmTagSection = title
     
          TD.all = 1
       }
       # Insert this prefix before all relative pathes
       relPathPrefix = fileadmin/templates/
    }
     
    # template of menu part where HMENU object is general menu and TMENU is particular menu item
    temp.main_menu = HMENU
    temp.main_menu.1 = TMENU
    temp.main_menu.1 {
       NO.allWrap = <div class="menu_level1_no"> | </div>
       NO.stdWrap.htmlSpecialChars = 1
     
       ACT = 1
       ACT.allWrap = <div class="menu_level1_act"> | </div>
       ACT.stdWrap.htmlSpecialChars = 1
    }
    temp.main_menu.2 = TMENU
    temp.main_menu.2 {
       NO.allWrap = <div class="menu_level2_no"> | </div>
       NO.stdWrap.htmlSpecialChars = 1
     
       ACT = 1
       ACT.allWrap = <div class="menu_level2_act"> | </div>
       ACT.stdWrap.htmlSpecialChars = 1
    }
     
    # template of main content
    temp.mainTemplate = TEMPLATE
    temp.mainTemplate {
      template =< plugin.tx_automaketemplate_pi1
      #template.file = test.html
      workOnSubpart = DOCUMENT_BODY
      subparts.main_menu < temp.main_menu
     
      subparts.main_content1 < styles.content.get
    }
     
    # template of header block
    temp.headerTemplate = TEMPLATE
    temp.headerTemplate {
       template =< plugin.tx_automaketemplate_pi1
       workOnSubpart = DOCUMENT_HEADER
    }
     
    # default PAGE object
    page = PAGE
    page.typeNum = 0
    page.config.doctype = xhtml_trans
    page.10 < temp.mainTemplate
    page.headerData.10 < temp.headerTemplate
     

     
    И огромное СПАСИБО за желание помочь.
     
    Добавлено:
    там у меня пустые стайлы в typoscript.properties но на самом деле они у меня заполнены, вот порция файла с заполненными стилями:

    Код:
     
    # whitespace (SCE_TS_DEFAULT)
    style.TS.0=fore:#808080,$(font.base)
    # comments (SCE_TS_COMMENT)
    style.TS.1=fore:#B6ACAC,italics
    # number (SCE_TS_NUMBER)
    style.TS.2=fore:#8072D4,bold
    # ip number (SCE_TS_IP)
    style.TS.3=$(style.TS.2)
    # keywords (SCE_TS_KEYWORDS)
    style.TS.4=$(style.TS.2)
    # TLO (SCE_TS_TLO)
    style.TS.5=fore:#B9534F,bold
    # objects (SCE_TS_OBJECTS)
    style.TS.6=fore:#B9534F
    # stdwrap (SCE_TS_STDWRAP)
    style.TS.7=fore:#9597B3
    # imgResors (SCE_TS_IMGRESOURCE)
    style.TS.8=$(style.TS.7)
    # imageLinkWrap (SCE_TS_IMAGELINKWRAP)
    style.TS.9=$(style.TS.7)
    # textStyle (SCE_TS_TEXTSTYLE)
    style.TS.10=$(style.TS.7)
    # encapseLines (SCE_TS_ENCAPSELINES)
    style.TS.11=fore:#95B1B3
    # fileLink (SCE_TS_FILELINK)
    style.TS.12=fore:#95B1B3,bold
    # conditionKeyWords (SCE_TS_CONDITIONKEYWORDS)
    style.TS.13=$(style.TS.2),italics
     

     
    Добавлено:
    Только что перекомпилировал все заново и получил неожиданный резултат: как только я пытаюсь открыть вышеуказанный setup.ts файл прога закрывается с ошибкой "Segmentation fault (core dumped)"

    Всего записей: 5 | Зарегистр. 22-08-2007 | Отправлено: 16:45 23-08-2007
    chupakabra



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    прога закрывается с ошибкой "Segmentation fault (core dumped)"

    Это происходит из-за того, что у тебя определено (и твой лексер ожидает) 10 списков ключевых слов, тогда как максимум загружается 9 (это значение жестко ограничено константой KEYWORDSET_MAX).
     
    P.S. Используй тег more когда постишь большие куски текста, иначе читать топик тяжело становится.
     
    Добавлено:
    brack, в общем, твой лексер подключается как надо, с этим все в порядке. Поменяй значение KEYWORDSET_MAX в Scintilla.iface на 9 чтобы использовать 10 списков ключевых слов. Правда мне так и не удалось раскрасить тестовый файл, лексер подвешивает SciTE, но это просто ошибка алгоритма в твоем коде, дело поправимое.

    Всего записей: 495 | Зарегистр. 18-10-2001 | Отправлено: 18:10 23-08-2007 | Исправлено: chupakabra, 18:12 23-08-2007
    brack

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    вот и я о том же, сейчас опять бился над кодом но... файл раскрасить пока не удалось. после изменения KEYWORDSET_MAX на 9 ошибда исчезла но результат остался неизменным так что возвращаюсь к первой части моего первого послания ... включаешь не работает ... Чтото в моем коде на так, не в синтаксе а скорее в алгоритме chupakabra прав.
     
    по поводу команды more прошу прощения не ведал.

    Всего записей: 5 | Зарегистр. 22-08-2007 | Отправлено: 00:59 24-08-2007 | Исправлено: brack, 01:02 24-08-2007
    brack

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    У меня тоже подвешивается, кто нидь поможет?

    Всего записей: 5 | Зарегистр. 22-08-2007 | Отправлено: 17:40 24-08-2007
    chupakabra



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    brack
    Пара наблюдений: у тебя бесконечный цикл, for() увеличивает i на единицу, строчка chNext = styler[i--] - уменьшает, соответственно цикл крутится бесконечно. И еще, если ispunct(ch) вернул истину, то нет смысла вызывать isalnum(ch), который заведомо вернет ложь.
    А вообще рекомендую научиться пользоваться отладчиком.

    Всего записей: 495 | Зарегистр. 18-10-2001 | Отправлено: 20:48 24-08-2007
    brack

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    По поводу isalnum(ch) согласен, но ведь chNext = styler[i--] вставлен в циклы многих лексеров (LexConf.cxx, LexInno.cxx и тд) и там этот отход на символ, работает.

    Всего записей: 5 | Зарегистр. 22-08-2007 | Отправлено: 00:03 25-08-2007
    Bonart

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Не подскажете наиболее подходящий лексер для раскраски кода Haskell?
    Хочу сделать файл для подсветки его синтаксиса.
    Особенность - фолдинг как по отступам, так и по {}
    Попытался взять за основу файл подсветки OCAML, но соответствующий лексер в текущую версию еще не встроен

    Всего записей: 24 | Зарегистр. 27-11-2004 | Отправлено: 10:49 30-08-2007
    8AleX8



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Bonart

    Цитата:
    Не подскажете наиболее подходящий лексер для раскраски кода Haskell?

    http://www4.in.tum.de/~haftmann/resources/haskell.properties

    Всего записей: 1813 | Зарегистр. 11-12-2001 | Отправлено: 11:27 30-08-2007
    Bonart

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    8AleX8
    Спасибо!
    Будет исходным материалом - ибо фолдинга нет.

    Всего записей: 24 | Зарегистр. 27-11-2004 | Отправлено: 14:00 30-08-2007
    sv75

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Есть желание использовать SciTE для эпизодического набивания текстов в Latex. Хотелось бы знать, может ли работать autocompletion с русскими словами (UTF) и что для этого надо сделать. У меня штатные сборки из Убунты и Дебиана, там не пашет.

    Всего записей: 1 | Зарегистр. 01-09-2007 | Отправлено: 00:43 01-09-2007
    euheny



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Можно ли выделять вертикальные блоки текста ?
    Есть ли проблемы с русскими кодировками ?

    Всего записей: 4023 | Зарегистр. 22-11-2006 | Отправлено: 08:52 02-09-2007
    juvaforza

    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    euheny
    Выделять можно. Проблем с русскими кодировками быть не должно.

    Всего записей: 2895 | Зарегистр. 26-11-2005 | Отправлено: 13:32 02-09-2007
    alexeyr222

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здравствуйте!
    1) Как научить Scite компилировать Erlang файлы? Есть ли какие-то скрипты, улучшающие работу с Erlang?
    2) В какой директории Scite ищет SciteUser.properties -- в $HOME или в $HOMEDRIVE/$HOMEPATH?

    Всего записей: 42 | Зарегистр. 03-09-2007 | Отправлено: 18:52 03-09-2007
    mozers



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    alexeyr222
    1) SciTE сам ничего не компилирует, просто на соответствующие клавиши вешается вызов внешнего компилятора (см. описание ключей command.compile, command.build, command.go)
    Скрипты для такого экзотического языка надо писать самому или подстраивать существующие.
    SciTE - самый настраиваемый в мире редактор, только настраивать его придется самому
    2) Оригинальный SciTE - в %USERPROFILE%. SciTE-Ru - в каталоге, определенном ключом scite.userhome

    Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 22:54 05-09-2007
    alexeyr222

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    Скрипты для такого экзотического языка надо писать самому или подстраивать существующие.  

    Написал следующее, вроде работает:
    command.compile.$(file.patterns.erlang)=erlc $(FileName)
    command.compile.subsystem.$(file.patterns.erlang)=0
    command.go.$(file.patterns.erlang)=erl $(FileName)
    command.go.subsystem.$(file.patterns.erlang)=0
    command.build.$(file.patterns.erlang)=erl -make $(FileName)
    command.build.subsystem.$(file.patterns.erlang)=0

    Цитата:
    SciTE - самый настраиваемый в мире редактор, только настраивать его придется самому  

    Ну насчет самого настраиваемого не знаю. Когда на нем будет аналог AUCTeX, Gnus или ERC, можно будет поговорить.

    Цитата:
    Оригинальный SciTE - в %USERPROFILE%. SciTE-Ru - в каталоге, определенном ключом scite.userhome

    Ясно, спасибо.

    Всего записей: 42 | Зарегистр. 03-09-2007 | Отправлено: 00:06 06-09-2007
    sandrey

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Каждый раз когда запускаю программу выбираю меню "Вид" и убираю галочку "Поле сворачивания блоков текста". Можно ли это делать автоматом?
    (Совсем фолдинг я отключать не хочу - я его использую, но мне достаточно горячих клавиш. визуализации не нужно)

    Всего записей: 112 | Зарегистр. 17-11-2003 | Отправлено: 08:14 06-09-2007
    SpoinT



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    sandrey
    Что-то несовсем ясно. Если ты не хочешь, чтобы сворачивание при открытии файла было, то убери в настройках соответствующее расширение файлов.

    ----------
    В жизни мне не хватает 2-х вещей - кнопок Save Game и Load Game...

    Всего записей: 840 | Зарегистр. 31-01-2007 | Отправлено: 09:04 06-09-2007
    sandrey

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Да нет, же.
    Вот я открываю файл SciTEGlobal.properties. Все секции ("[Main]", "[Position]" и т.д.) свернуты. Меня это устраивает. Я могу развернуть/свернуть любую секцию нажатием Ctrl+*. Это меня тоже устраивает.
    А вот не устраивает меня поле сворачивания блоков текста - слева находится (прямогульнички с плюсиком, минусом там) - я не хочу что бы оно отображалось. Сделать это можно выбрав "Вид", "Поле сворачивания блоков текста". Галочка с этого пункта снимается, поле слева пропадает. Но при новом запуске программы это поле вновь отображается.

    Всего записей: 112 | Зарегистр. 17-11-2003 | Отправлено: 10:13 06-09-2007 | Исправлено: sandrey, 10:14 06-09-2007
       

    Страницы: 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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104

    Компьютерный форум Ru.Board » Компьютеры » Программы » SciTE - Open Source Text Editor for Windows & Linux
    Widok (09-10-2007 14:48): лимит страниц. продолжаем здесь


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru