qscilexerruby.sip 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. // This is the SIP interface definition for QsciLexerRuby.
  2. //
  3. // Copyright (c) 2017 Riverbank Computing Limited <info@riverbankcomputing.com>
  4. //
  5. // This file is part of QScintilla.
  6. //
  7. // This file may be used under the terms of the GNU General Public License
  8. // version 3.0 as published by the Free Software Foundation and appearing in
  9. // the file LICENSE included in the packaging of this file. Please review the
  10. // following information to ensure the GNU General Public License version 3.0
  11. // requirements will be met: http://www.gnu.org/copyleft/gpl.html.
  12. //
  13. // If you do not wish to use this file under the terms of the GPL version 3.0
  14. // then you may purchase a commercial license. For more information contact
  15. // info@riverbankcomputing.com.
  16. //
  17. // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
  18. // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  19. class QsciLexerRuby : QsciLexer
  20. {
  21. %TypeHeaderCode
  22. #include <Qsci/qscilexerruby.h>
  23. %End
  24. public:
  25. enum {
  26. Default,
  27. Error,
  28. Comment,
  29. POD,
  30. Number,
  31. Keyword,
  32. DoubleQuotedString,
  33. SingleQuotedString,
  34. ClassName,
  35. FunctionMethodName,
  36. Operator,
  37. Identifier,
  38. Regex,
  39. Global,
  40. Symbol,
  41. ModuleName,
  42. InstanceVariable,
  43. ClassVariable,
  44. Backticks,
  45. DataSection,
  46. HereDocumentDelimiter,
  47. HereDocument,
  48. PercentStringq,
  49. PercentStringQ,
  50. PercentStringx,
  51. PercentStringr,
  52. PercentStringw,
  53. DemotedKeyword,
  54. Stdin,
  55. Stdout,
  56. Stderr
  57. };
  58. QsciLexerRuby(QObject *parent /TransferThis/ = 0);
  59. virtual ~QsciLexerRuby();
  60. const char *language() const;
  61. const char *lexer() const;
  62. QColor defaultColor(int style) const;
  63. bool defaultEolFill(int style) const;
  64. QFont defaultFont(int style) const;
  65. QColor defaultPaper(int style) const;
  66. const char *keywords(int) const;
  67. QString description(int style) const;
  68. const char *blockEnd(int *style = 0) const /Encoding="None"/;
  69. const char *blockStart(int *style = 0) const /Encoding="None"/;
  70. const char *blockStartKeyword(int *style = 0) const /Encoding="None"/;
  71. int braceStyle() const;
  72. void refreshProperties();
  73. void setFoldComments(bool fold);
  74. bool foldComments() const;
  75. void setFoldCompact(bool fold);
  76. bool foldCompact() const;
  77. protected:
  78. bool readProperties(QSettings &qs, const QString &prefix);
  79. bool writeProperties(QSettings &qs, const QString &prefix) const;
  80. private:
  81. QsciLexerRuby(const QsciLexerRuby &);
  82. };