Python pygments.lexers.CLexer() Examples
The following are 6
code examples of pygments.lexers.CLexer().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
pygments.lexers
, or try the search function
.
Example #1
Source File: test_cpp.py From pygments with BSD 2-Clause "Simplified" License | 6 votes |
def test_guess_c_lexer(): code = ''' #include <stdio.h> #include <stdlib.h> int main(void); int main(void) { uint8_t x = 42; uint8_t y = x + 1; /* exit 1 for success! */ return 1; } ''' lexer = guess_lexer(code) assert isinstance(lexer, CLexer)
Example #2
Source File: test_completion_lexer.py From Computable with MIT License | 5 votes |
def testC(self): """ Does the CompletionLexer work for C/C++? """ lexer = CompletionLexer(CLexer()) self.assertEqual(lexer.get_context("foo.bar"), [ "foo", "bar" ]) self.assertEqual(lexer.get_context("foo->bar"), [ "foo", "bar" ]) lexer = CompletionLexer(CppLexer()) self.assertEqual(lexer.get_context("Foo::Bar"), [ "Foo", "Bar" ])
Example #3
Source File: execution.py From loopy with MIT License | 5 votes |
def get_highlighted_code(text, python=False): try: from pygments import highlight except ImportError: return text else: from pygments.lexers import CLexer, PythonLexer from pygments.formatters import TerminalFormatter return highlight(text, CLexer() if not python else PythonLexer(), TerminalFormatter())
Example #4
Source File: test_clexer.py From pygments with BSD 2-Clause "Simplified" License | 5 votes |
def lexer(): yield CLexer()
Example #5
Source File: ghida.py From GhIDA with Apache License 2.0 | 4 votes |
def color_line(self, line): """ """ lexer = CLexer() tokens = list(lexer.get_tokens(line)) new_line = "" for t in tokens: ttype = t[0] ttext = str(t[1]) if ttype == Token.Text: new_line += idaapi.COLSTR(ttext, idaapi.SCOLOR_INSN) elif ttype == Token.Text.Whitespace: new_line += idaapi.COLSTR(ttext, idaapi.SCOLOR_INSN) elif ttype == Token.Error: new_line += idaapi.COLSTR(ttext, idaapi.SCOLOR_ERROR) elif ttype == Token.Other: new_line += idaapi.COLSTR(ttext, idaapi.SCOLOR_DSTR) elif ttype == Token.Keyword: new_line += idaapi.COLSTR(ttext, idaapi.SCOLOR_KEYWORD) elif ttype == Token.Name: new_line += idaapi.COLSTR(ttext, idaapi.SCOLOR_LIBNAME) elif ttype == Token.Literal: new_line += idaapi.COLSTR(ttext, idaapi.SCOLOR_LOCNAME) elif ttype == Token.Literal.String: new_line += idaapi.COLSTR(ttext, idaapi.SCOLOR_STRING) elif ttype == Token.Literal.Number: new_line += idaapi.COLSTR(ttext, idaapi.SCOLOR_DNUM) elif ttype == Token.Operator: new_line += idaapi.COLSTR(ttext, idaapi.SCOLOR_ALTOP) elif ttype == Token.Punctuation: new_line += idaapi.COLSTR(ttext, idaapi.SCOLOR_SYMBOL) elif ttype == Token.Comment: new_line += idaapi.COLSTR(ttext, idaapi.SCOLOR_REGCMT) elif ttype == Token.Comment.Single: new_line += idaapi.COLSTR(ttext, idaapi.SCOLOR_REGCMT) elif ttype == Token.Generic: new_line += idaapi.COLSTR(ttext, idaapi.SCOLOR_CREFTAIL) else: new_line += idaapi.COLSTR(ttext, idaapi.SCOLOR_CREFTAIL) return new_line
Example #6
Source File: ghida.py From GhIDA with Apache License 2.0 | 4 votes |
def add_comment(self): """ Add a commment to the selected line """ print("GhIDA:: [DEBUG] add_comment called") colored_line = self.GetCurrentLine(notags=1) if not colored_line: idaapi.warning("Select a line") return False # Use pygments to parse the line to check if there are comments line = idaapi.tag_remove(colored_line) lexer = CLexer() tokens = list(lexer.get_tokens(line)) text = "" text_comment = "" for t in tokens: ttype = t[0] ttext = str(t[1]) if ttype == Token.Comment.Single: text_comment = ttext.replace('//', '').strip() else: text += ttext # Get the new comment comment = gl.display_comment_form(text_comment) if not comment or len(comment) == 0: return False comment = comment.replace("//", "").replace("\n", " ") comment = comment.strip() # Create the new text full_comment = "\t// %s" % comment text = text.rstrip() new_text = text + full_comment text_colored = self.color_line(new_text) num_line = self.GetLineNo() self.EditLine(num_line, text_colored) self.RefreshCurrent() # Add comment to cache COMMENTS_CACHE.add_comment_to_cache(self.__ea, num_line, full_comment) print("GhIDA:: [DEBUG] Added comment to #line: %d (%s)" % (num_line, new_text)) return