1
# -*- coding: utf-8 -*-
3
# Copyright (c) 2007 Detlev Offenbach <detlev@die-offenbachs.de>
7
Module implementing a D lexer with some additional methods.
10
from PyQt4.Qsci import QsciLexerD, QsciScintilla
11
from PyQt4.QtCore import QString
13
from Lexer import Lexer
16
class LexerD(QsciLexerD, Lexer):
18
Subclass to implement some additional lexer dependant methods.
20
def __init__(self, parent=None):
24
@param parent parent widget of this lexer
26
QsciLexerD.__init__(self, parent)
29
self.commentString = QString("//")
30
self.streamCommentString = {
31
'start' : QString('/+ '),
32
'end' : QString(' +/')
34
self.boxCommentString = {
35
'start' : QString('/* '),
36
'middle' : QString(' * '),
37
'end' : QString(' */')
40
def initProperties(self):
42
Public slot to initialize the properties.
44
self.setFoldComments(Preferences.getEditor("DFoldComment"))
45
self.setFoldAtElse(Preferences.getEditor("DFoldAtElse"))
47
if Preferences.getEditor("DIndentOpeningBrace"):
48
indentStyle |= QsciScintilla.AiOpening
49
if Preferences.getEditor("DIndentClosingBrace"):
50
indentStyle |= QsciScintilla.AiClosing
51
self.setAutoIndentStyle(indentStyle)
52
self.setFoldCompact(Preferences.getEditor("AllFoldCompact"))