From 2f3ea39b40a514c3eb36edd3ab8a08a859401879 Mon Sep 17 00:00:00 2001
From: marco <marco@5a81b35b-ba03-0410-adc8-b2c5c5119f08>
Date: Tue, 15 Jun 2010 10:05:50 +0000
Subject: [PATCH] highlight comments

git-svn-id: https://dng.biozentrum.unibas.ch/svn/openstructure/trunk@2403 5a81b35b-ba03-0410-adc8-b2c5c5119f08
---
 .../gui/src/python_shell/python_syntax_highlighter.cc |  2 ++
 modules/gui/src/python_shell/python_tokenizer.cc      | 11 +++++++++++
 modules/gui/src/python_shell/python_tokenizer.hh      |  1 +
 3 files changed, 14 insertions(+)

diff --git a/modules/gui/src/python_shell/python_syntax_highlighter.cc b/modules/gui/src/python_shell/python_syntax_highlighter.cc
index 1d2d75591..39fd6f55b 100644
--- a/modules/gui/src/python_shell/python_syntax_highlighter.cc
+++ b/modules/gui/src/python_shell/python_syntax_highlighter.cc
@@ -44,6 +44,8 @@ PythonSyntaxHighlighter::PythonSyntaxHighlighter(QTextDocument* parent):
   formats_[PythonToken::END]=format;  
   format.setForeground(QBrush(QColor(150,0,0)));
   formats_[PythonToken::OPERATOR]=format;  
+  format.setForeground(QBrush(QColor(100,100,100)));  
+  formats_[PythonToken::COMMENT]=format;
   format.setForeground(QBrush(QColor(0,0,150)));
   formats_[PythonToken::GROUPING]=format;  
   format.setForeground(QBrush(QColor(35,107,142)));
diff --git a/modules/gui/src/python_shell/python_tokenizer.cc b/modules/gui/src/python_shell/python_tokenizer.cc
index 11126baad..1cbbc235b 100644
--- a/modules/gui/src/python_shell/python_tokenizer.cc
+++ b/modules/gui/src/python_shell/python_tokenizer.cc
@@ -64,6 +64,8 @@ QString PythonToken::GetTypeAsString() const
     return "EOF";
   case GROUPING:
     return "grouping character";
+  case COMMENT:
+    return "comment";
   }
   return "unknown";
 }
@@ -277,6 +279,15 @@ PythonToken PythonTokenizer::NextToken()
     this->EatWhities();
     if (current_pos_ < command_.size()) {
       QChar current_char = command_[current_pos_];
+      if (current_char=='#') {
+        current_token_=PythonToken(PythonToken::COMMENT, 
+                                   Range(current_pos_, 
+                                         command_.size()-current_pos_),
+                                   command_.mid(current_pos_, 
+                                                command_.size()-current_pos_));
+        current_pos_=command_.size();
+        return current_token_;
+      }
       if (current_char.isDigit()) {
         current_token_ = GetNumberToken();
         return current_token_;
diff --git a/modules/gui/src/python_shell/python_tokenizer.hh b/modules/gui/src/python_shell/python_tokenizer.hh
index 142870da4..3e85c89fe 100644
--- a/modules/gui/src/python_shell/python_tokenizer.hh
+++ b/modules/gui/src/python_shell/python_tokenizer.hh
@@ -62,6 +62,7 @@ public:
     NUMBER,
     OPERATOR,
     GROUPING,
+    COMMENT,
     END
   };
   PythonToken();
-- 
GitLab