Repository: evilbinary/HighlightTextEditor Branch: master Commit: 6ff828a13b68 Files: 217 Total size: 2.1 MB Directory structure: gitextract_y53f9gsb/ ├── .gitattributes ├── AndroidManifest.xml ├── HighlightTextEditor.iml ├── README.md ├── assets/ │ ├── fib.py │ ├── highlight.css │ ├── lib.lisp │ └── test.html ├── build.gradle ├── gen/ │ ├── android/ │ │ └── support/ │ │ └── v7/ │ │ └── appcompat/ │ │ └── R.java │ └── org/ │ └── evilbinary/ │ └── highliter/ │ ├── BuildConfig.java │ └── R.java ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── jni/ │ ├── Android.mk │ ├── Application.mk │ ├── highlight/ │ │ ├── Android.mk │ │ ├── android/ │ │ │ ├── app.cpp │ │ │ └── app.h │ │ ├── cli/ │ │ │ ├── arg_parser.cc │ │ │ ├── arg_parser.h │ │ │ ├── cmdlineoptions.cpp │ │ │ ├── cmdlineoptions.h │ │ │ ├── help.cpp │ │ │ ├── help.h │ │ │ ├── main.cpp │ │ │ └── main.h │ │ ├── core/ │ │ │ ├── Diluculum/ │ │ │ │ ├── InternalUtils.cpp │ │ │ │ ├── InternalUtils.hpp │ │ │ │ ├── LuaExceptions.cpp │ │ │ │ ├── LuaFunction.cpp │ │ │ │ ├── LuaState.cpp │ │ │ │ ├── LuaUserData.cpp │ │ │ │ ├── LuaUtils.cpp │ │ │ │ ├── LuaValue.cpp │ │ │ │ ├── LuaVariable.cpp │ │ │ │ └── LuaWrappers.cpp │ │ │ ├── ansigenerator.cpp │ │ │ ├── astyle/ │ │ │ │ ├── ASBeautifier.cpp │ │ │ │ ├── ASEnhancer.cpp │ │ │ │ ├── ASFormatter.cpp │ │ │ │ ├── ASResource.cpp │ │ │ │ └── ASStreamIterator.cpp │ │ │ ├── bbcodegenerator.cpp │ │ │ ├── codegenerator.cpp │ │ │ ├── datadir.cpp │ │ │ ├── elementstyle.cpp │ │ │ ├── htmlgenerator.cpp │ │ │ ├── latexgenerator.cpp │ │ │ ├── objectgenerator.cpp │ │ │ ├── odtgenerator.cpp │ │ │ ├── pangogenerator.cpp │ │ │ ├── platform_fs.cpp │ │ │ ├── preformatter.cpp │ │ │ ├── rtfgenerator.cpp │ │ │ ├── stringtools.cpp │ │ │ ├── stylecolour.cpp │ │ │ ├── svggenerator.cpp │ │ │ ├── syntaxreader.cpp │ │ │ ├── texgenerator.cpp │ │ │ ├── themereader.cpp │ │ │ ├── xhtmlgenerator.cpp │ │ │ └── xterm256generator.cpp │ │ ├── gui-qt/ │ │ │ ├── highlight-gui.qrc │ │ │ ├── highlight.pro │ │ │ ├── highlight.xpm │ │ │ ├── highlight_cs_CZ.ts │ │ │ ├── highlight_de_DE.ts │ │ │ ├── highlight_es_ES.ts │ │ │ ├── highlight_zh_CN.ts │ │ │ ├── io_report.cpp │ │ │ ├── io_report.h │ │ │ ├── io_report.ui │ │ │ ├── main.cpp │ │ │ ├── mainwindow.cpp │ │ │ ├── mainwindow.h │ │ │ ├── mainwindow.ui │ │ │ ├── precomp.h │ │ │ ├── showtextfile.cpp │ │ │ ├── showtextfile.h │ │ │ └── showtextfile.ui │ │ ├── include/ │ │ │ ├── Diluculum/ │ │ │ │ ├── CppObject.hpp │ │ │ │ ├── LuaExceptions.hpp │ │ │ │ ├── LuaFunction.hpp │ │ │ │ ├── LuaState.hpp │ │ │ │ ├── LuaUserData.hpp │ │ │ │ ├── LuaUtils.hpp │ │ │ │ ├── LuaValue.hpp │ │ │ │ ├── LuaVariable.hpp │ │ │ │ ├── LuaWrappers.hpp │ │ │ │ └── Types.hpp │ │ │ ├── ansigenerator.h │ │ │ ├── astyle/ │ │ │ │ ├── ASStreamIterator.h │ │ │ │ └── astyle.h │ │ │ ├── bbcodegenerator.h │ │ │ ├── charcodes.h │ │ │ ├── codegenerator.h │ │ │ ├── datadir.h │ │ │ ├── elementstyle.h │ │ │ ├── enums.h │ │ │ ├── htmlgenerator.h │ │ │ ├── latexgenerator.h │ │ │ ├── objectgenerator.h │ │ │ ├── odtgenerator.h │ │ │ ├── pangogenerator.h │ │ │ ├── platform_fs.h │ │ │ ├── preformatter.h │ │ │ ├── rtfgenerator.h │ │ │ ├── stringtools.h │ │ │ ├── stylecolour.h │ │ │ ├── svggenerator.h │ │ │ ├── syntaxreader.h │ │ │ ├── texgenerator.h │ │ │ ├── themereader.h │ │ │ ├── version.h │ │ │ ├── xhtmlgenerator.h │ │ │ └── xterm256generator.h │ │ └── makefile │ └── lua/ │ ├── Android.mk │ ├── lapi.c │ ├── lapi.h │ ├── lauxlib.c │ ├── lauxlib.h │ ├── lbaselib.c │ ├── lcode.c │ ├── lcode.h │ ├── ldblib.c │ ├── ldebug.c │ ├── ldebug.h │ ├── ldo.c │ ├── ldo.h │ ├── ldump.c │ ├── lfunc.c │ ├── lfunc.h │ ├── lgc.c │ ├── lgc.h │ ├── linit.c │ ├── liolib.c │ ├── llex.c │ ├── llex.h │ ├── llimits.h │ ├── lmathlib.c │ ├── lmem.c │ ├── lmem.h │ ├── loadlib.c │ ├── lobject.c │ ├── lobject.h │ ├── lopcodes.c │ ├── lopcodes.h │ ├── loslib.c │ ├── lparser.c │ ├── lparser.h │ ├── lstate.c │ ├── lstate.h │ ├── lstring.c │ ├── lstring.h │ ├── lstrlib.c │ ├── ltable.c │ ├── ltable.h │ ├── ltablib.c │ ├── ltm.c │ ├── ltm.h │ ├── lua.h │ ├── lua.hpp │ ├── luaconf.h │ ├── lualib.h │ ├── lundump.c │ ├── lundump.h │ ├── lvm.c │ ├── lvm.h │ ├── lzio.c │ └── lzio.h ├── libs/ │ ├── cssparser-0.9.17.jar │ ├── hotsax.jar │ ├── sac-1.3.jar │ ├── tagsoup-1.2.1.jar │ └── w3c.jar ├── lint.xml ├── local.properties ├── proguard-project.txt ├── project.properties ├── res/ │ ├── layout/ │ │ ├── about.xml │ │ └── activity_main.xml │ ├── menu/ │ │ ├── main.xml │ │ └── mymenu.xml │ ├── values/ │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml │ ├── values-v11/ │ │ └── styles.xml │ ├── values-v14/ │ │ └── styles.xml │ └── values-w820dp/ │ └── dimens.xml └── src/ └── org/ └── evilbinary/ ├── app/ │ └── MainActivity.java ├── highliter/ │ ├── CodeTextWatcher.java │ ├── Constants.java │ ├── HighlightEditText.java │ ├── parsers/ │ │ ├── MyTagToSpannedConverter.java │ │ ├── SyntaxHighlight.java │ │ └── Token.java │ └── spans/ │ ├── ImageClickableSpan.java │ ├── SafeURLSpan.java │ ├── SpanStyle.java │ ├── VideoClickableSpan.java │ └── VideoSpan.java ├── managers/ │ ├── Configure.java │ ├── ConfigureManager.java │ ├── EmoticonsManager.java │ └── Settings.java └── utils/ ├── BlockFile.java ├── DirUtil.java ├── FileUtil.java ├── IoUtils.java ├── Logger.java ├── PxAndDp.java ├── RichTextUtils.java └── ZipUtil.java ================================================ FILE CONTENTS ================================================ ================================================ FILE: .gitattributes ================================================ * linguist-language=Java ================================================ FILE: AndroidManifest.xml ================================================ ================================================ FILE: HighlightTextEditor.iml ================================================ ================================================ FILE: README.md ================================================ HighlightTextEditor An android HighlightTextEditor一款语法高亮控件。qq群:537960195。 # 语法高亮 HighlightTextEditor是一个安卓代码语法高亮控件,目前已经支持200多种语言,近90多种主题配色方案,同时支持lua扩展,以及自定义语言配置。强烈推荐,一款不可多得的开源控件。 ### 支持的语言: abap4.lang clojure.lang innosetup.lang nxc.lang s.lang abc.lang clp.lang interlis.lang oberon.lang sas.lang abnf.lang cobol.lang io.lang objc.lang scala.lang actionscript.lang coldfusion.lang jasmin.lang ocaml.lang scilab.lang ada.lang conf.lang java.lang octave.lang scss.lang agda.lang crk.lang js.lang oorexx.lang sh.lang algol.lang csharp.lang jsp.lang os.lang small.lang ampl.lang css.lang ldif.lang oz.lang smalltalk.lang amtrix.lang d.lang less.lang paradox.lang sml.lang applescript.lang dart.lang lhs.lang pas.lang snmp.lang arc.lang diff.lang lilypond.lang pdf.lang snobol.lang arm.lang dylan.lang limbo.lang perl.lang spec.lang as400cl.lang ebnf.lang lindenscript.lang php.lang spn.lang ascend.lang eiffel.lang lisp.lang pike.lang sql.lang asp.lang erlang.lang logtalk.lang pl1.lang squirrel.lang aspect.lang euphoria.lang lotos.lang plperl.lang styl.lang assembler.lang express.lang lotus.lang plpython.lang swift.lang ats.lang fame.lang lua.lang pltcl.lang sybase.lang autohotkey.lang felix.lang luban.lang pov.lang tcl.lang autoit.lang fortran77.lang make.lang pro.lang tcsh.lang avenue.lang fortran90.lang maple.lang progress.lang tex.lang awk.lang frink.lang matlab.lang ps.lang ts.lang bat.lang fsharp.lang maya.lang ps1.lang tsql.lang bbcode.lang fx.lang mercury.lang psl.lang ttcn3.lang bcpl.lang gambas.lang miranda.lang pure.lang txt.lang bibtex.lang gdb.lang mod2.lang pyrex.lang upc.lang biferno.lang go.lang mod3.lang python.lang vala.lang bison.lang graphviz.lang modelica.lang q.lang vb.lang blitzbasic.lang haskell.lang moon.lang qmake.lang verilog.lang bms.lang haxe.lang ms.lang qml.lang vhd.lang bnf.lang hcl.lang mssql.lang qu.lang xml.lang boo.lang html.lang mxml.lang r.lang xpp.lang c.lang httpd.lang n3.lang rebol.lang yaiff.lang ceylon.lang icon.lang nasal.lang rexx.lang yang.lang charmm.lang idl.lang nbc.lang rnc.lang znn.lang chill.lang idlang.lang nemerle.lang rpg.lang clean.lang inc_luatex.lang netrexx.lang rpl.lang clearbasic.lang informix.lang nice.lang rs.lang clipper.lang ini.lang nsis.lang ruby.lang ### 支持的配色主题: acid.theme darkspectrum.theme fruit.theme pablo.theme aiseered.theme denim.theme golden.theme peaksea.theme andes.theme dusk.theme greenlcd.theme print.theme anotherdark.theme earendel.theme kellys.theme rand01.theme autumn.theme easter.theme leo.theme rdark.theme baycomb.theme edit-anjuta.theme lucretia.theme relaxedgreen.theme bclear.theme edit-eclipse.theme manxome.theme rootwater.theme biogoo.theme edit-emacs.theme maroloccio.theme seashell.theme bipolar.theme edit-flashdevelop.theme matrix.theme solarized-dark.theme blacknblue.theme edit-gedit.theme moe.theme solarized-light.theme bluegreen.theme edit-jedit.theme molokai.theme tabula.theme breeze.theme edit-kwrite.theme moria.theme tcsoft.theme bright.theme edit-matlab.theme navajo-night.theme the.theme camo.theme edit-msvs2008.theme navy.theme vampire.theme candy.theme edit-nedit.theme neon.theme whitengrey.theme clarity.theme edit-vim-dark.theme night.theme xoria256.theme dante.theme edit-vim.theme nightshimmer.theme zellner.theme darkblue.theme edit-xcode.theme nuvola.theme zenburn.theme darkbone.theme ekvoli.theme olive.theme zmrok.theme darkness.theme fine_blue.theme orion.theme darkslategray.theme freya.theme oxygenated.theme ### 插件支持: asciidoc_html_add_links.lua cpp_ref_wxwidgets_org.lua outhtml_curly_brackets_matcher.lua bash_functions.lua cpp_syslog.lua outhtml_keyword_matcher.lua bash_ref_linuxmanpages_com.lua cpp_wx.lua outhtml_parantheses_matcher.lua cpp_qt.lua ctags_html_tooltips.lua perl_ref_perl_org.lua cpp_ref_cplusplus_com.lua java_library.lua python_ref_python_org.lua cpp_ref_gtk_gnome_org.lua keywords_capitalize.lua scala_ref_scala_lang_org.lua cpp_ref_local_includes.lua keywords_lowercase.lua theme_invert.lua cpp_ref_qtproject_org.lua keywords_uppercase.lua token_add_state_ids.lua # 截图 * 代码编辑界面 编辑界面 编辑界面 编辑界面 编辑界面 编辑界面 编辑界面 编辑界面 编辑界面 # 历史记录 * a199ea2 - (HEAD, origin/master, master) 图片宽度修改 (evilbinary) * 046d56e - 高亮基本版本完成 (evilbinary) * 3bfce62 - 修复0,0位置文字获取不全问题 (evilbinary) * d51e13a - 增加语法解析后端 (evilbinary) * d6acd76 - 修改大小 (evilbinary) * a1d48bb - modify pic (evilbinary) * 65cbc6a - 修改图片大小 (evilbinary) * f90e1d5 - 代码截图 (evilbinary) * 43b466e - 增加显示行数 (evilbinary) * 7a766af - 移动文件,重新定义 (evilbinary) * 62c7078 - 增加css外部加载样式功能 (evilbinary) * d48d344 - 去除标题显示 (evilbinary) * 3a6a782 - 增加解析支持 (evilbinary) * b198bdd - modify readme (evilbinary) * ef7d5c6 - Create README.md (evilbinary) * 95f3a12 - first version (evilbinary) # Todo * 代码渲染基本功能。 [完成] * 支持200多种语言。 [完成] * 支持82种配色主题。 [完成] * 支持lua扩展语法高亮检测。 [基本完成] * 若干bug修复。 * 主题语言更换功能。 * 字体大小样式功能。 * 表情功能。(待定) # 项目捐赠 ![喜欢就支持一下](https://github.com/evilbinary/myblog/raw/master/data/s.png) # 作者 * evilbinary rootdebug@163.com * 个人博客 [http://evilbinary.org](http://evilbinary.org) # 项目主页 * [https://github.com/evilbinary/HighlightTextEditor](https://github.com/evilbinary/HighlightTextEditor) # License Copyright 2016 evilbinary /* Copyright (C) 2015 evilbinary. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/. */ ================================================ FILE: assets/fib.py ================================================ #!/usr/bin/env python fibs = {0: 0, 1: 1} def fib(n): if n in fibs: return fibs[n] if n % 2 == 0: fibs[n] = ((2 * fib((n / 2) - 1)) + fib(n / 2)) * fib(n / 2) return fibs[n] else: fibs[n] = (fib((n - 1) / 2) ** 2) + (fib((n+1) / 2) ** 2) return fibs[n] print ("fib(234) = %i" % fib(234)) ================================================ FILE: assets/highlight.css ================================================ /* Style definition file generated by highlight 3.23, http://www.andre-simon.de/ */ /* Highlighting theme: vim molokai */ body.hl { background-color:#272822; } pre.hl { color:#f8f8f2; background-color:#272822; font-size:10pt; font-family:'Courier New',monospace;} .hl.num { color:#ae81ff; } .hl.esc { color:#66d9ef; font-style:italic; } .hl.str { color:#e6db74; } .hl.pps { color:#e6db74; } .hl.slc { color:#75715e; } .hl.com { color:#75715e; } .hl.ppc { color:#defa25; } .hl.opt { color:#f8f8f2; } .hl.ipl { color:#66d9ef; font-style:italic; } .hl.lin { color:#75715e; } .hl.kwa { color:#f92672; font-weight:bold; } .hl.kwb { color:#66d9ef; } .hl.kwc { color:#95f067; } .hl.kwd { color:#25faac; } ================================================ FILE: assets/lib.lisp ================================================ ;;sys (define (find-proc name) (if (procedure? name) name (sys:find name (sys:top-env)))) (define (proc-name proc) (if (procedure? proc) (sys:lookup-var proc (sys:top-env)) proc)) (define (update-proc name proc) (sys:update name proc (sys:top-env))) ;;add1 sub1 (define (add1 n) (+ n 1)) (define (sub1 n) (- n 1)) ;(define (zero? n) ;(= 0 n)) (define (atom? x) (not (pair? x))) ;(define (map fn l) ;(if (pair? l) ;(cons (fn (car l)) (map fn (cdr l))) ;'())) ;;list helper functions (define (caar x) (car (car x))) (define (cadr x) (car (cdr x))) (define (cddr x) (cdr (cdr x))) (define (cdar x) (cdr (car x))) (define (caaar x) (car (car (car x)))) (define (caadr x) (car (car (cdr x)))) (define (cadar x) (car (cdr (car x)))) (define (caddr x) (car (cdr (cdr x)))) (define (cdaar x) (cdr (car (car x)))) (define (cdadr x) (cdr (car (cdr x)))) (define (cddar x) (cdr (cdr (car x)))) (define (cdddr x) (cdr (cdr (cdr x)))) (define (caaaar x) (car (car (car (car x))))) (define (caaadr x) (car (car (car (cdr x))))) (define (caadar x) (car (car (cdr (car x))))) (define (caaddr x) (car (car (cdr (cdr x))))) (define (cadaar x) (car (cdr (car (car x))))) (define (cadadr x) (car (cdr (car (cdr x))))) (define (caddar x) (car (cdr (cdr (car x))))) (define (cadddr x) (car (cdr (cdr (cdr x))))) (define (cdaaar x) (cdr (car (car (car x))))) (define (cdaadr x) (cdr (car (car (cdr x))))) (define (cdadar x) (cdr (car (cdr (car x))))) (define (cdaddr x) (cdr (car (cdr (cdr x))))) (define (cddaar x) (cdr (cdr (car (car x))))) (define (cddadr x) (cdr (cdr (car (cdr x))))) (define (cdddar x) (cdr (cdr (cdr (car x))))) (define (cddddr x) (cdr (cdr (cdr (cdr x))))) ;;empty? (define (empty? lst) (eq? lst nil)) ;max min (define max (lambda (x y) (if (> x y) x y))) (define min (lambda (x y) (if (< x y) x y))) ;;factorial (define (factorial n) (if (= n 1) 1(* n (factorial (- n 1))))) ;;abs (define (abs x) (cond ((< x 0) (- x)) (else x))) ;;<= (define (<= x y) (or (< x y) (= x y))) ;;>= (define (>= x y) (or (> x y) (= x y))) ;;map (define (map proc items) (if (null? items) nil (cons (proc (car items)) (map proc (cdr items))))) ;(map abs '( -10 2.5 -11.6 17)) ;(map (lambda (n) (* 2 n)) '(1 2 3 4 5 6)) ;(map zero? '(1 0 3 0 6)) ;nil '() (define nil '()) ;exp ;; Linear recursion (define (expt b n) (if (= n 0) 1 (* b (expt b (- n 1))))) ;; Linear iteration (define (expt b n) (expt-iter b n 1)) (define (expt-iter b counter product) (if (= counter 0) product (expt-iter b (- counter 1) (* b product)))) ;(expt 2.1 10) ;;;list fun (define list (lambda values values) ) ;(define (list . objs) objs) ;(list 'd 'a 1 'ee '(a b c d)) ;(list 3 4 'a (car '(b . c)) (+ 6 -2)) ;(list (list 1 2) (list 3 4)) ;;append ok (define (append x y) (if (null? x) y ;(not (pair? x)) (display "first arg must pair") (cons (car x) (append (cdr x) y)))) ;(trace 'append) ;(trace 'null?) ;(append '(a b c d e) 'b ) ;(append 'a 'b) ;;length (define length (lambda (l) (if (null? l) 0 (+ 1 (length (cdr l)))))) ;;reverse (define reverse (lambda (l) (if (null? l) nil (append (reverse (cdr l)) (list (car l)))))) ;(define (reverse l) ; (define (iter in out) ; (if (pair? in) ; (iter (cdr in) (cons (car in) out)) ; out)) ; (iter l '())) ;(trace 'null?) ;(trace 'reverse) ;(trace 'list) ;(reverse '()) ;(trace 'append) ;(reverse '(1 3 5 9 11)) (define (id obj) obj) ;;eqv? (define eqv? eq?) ;===================trace================ ;;trace (define trace-display display) (define (print-level indent char) (if (< indent 1) (trace-display "") (begin (trace-display char) (print-level (- indent 1) char)))) ;(print-level 10 "--") ;(define nil '()) (define *trace-functions* '()) (define *trace-level* 1) (define *trace-state* 0) (define (find-trace-function name functions) (if (null? functions) '() (if (eq? (caar functions) name) (cdar functions) (find-trace-function name (cdr functions))))) (define (trace-invoke proc args) ; (display args) ; (display (length args)) ; (proc (car args) )) (apply proc args)) ;(cond ((<= 1 (length args)) ; (proc (car args) )) ; ((= 2 (length args)) ; (proc (car args) (cadr args))) ; ((= 3 (length args)) ; (proc (car args) (cadr args) (caddr args))) ; ((>= 4 (length args)) ; (proc (car args) (cadr args) (caddr args) (cadddr args))))) (define (trace name) (let ((proc (find-proc name)) (new-proc nil ) (proc-name (proc-name name)) (result nil)) ;(display "proc=name:") ;(display proc-name) ;(newline) (if (eq? 'trace-display proc-name) (set! proc-name 'display)) ; (display proc-name) (set! new-proc (lambda x (begin (print-level *trace-level* "-") (trace-display proc-name) (trace-display x) ;(map (lambda (a) (display a) (newline) )x) (trace-display "\n") (set! *trace-level* (+ *trace-level* 1)) ;(set! result (proc (car x) (car (cdr x)) )) (set! result (trace-invoke proc x )) (set! *trace-level* (- *trace-level* 1)) (print-level *trace-level* "-") (trace-display result) (trace-display "\n") result)) ) ;(display (cons proc new-proc)) (update-proc proc-name new-proc))) ;set sys-log level ;(sys:set-log-level 7);for debug log ;;list* (define (list* . args) (if (pair? args) (if (pair? (cdr args)) (cons (car args) (apply list* (cdr args))) (car args) ) (quote ()) ) ) ;;last-pair (define (last-pair l) (if (pair? l) (if (pair? (cdr l)) (last-pair (cdr l)) l ) (error 'last-pair l) ) ) ;;reverse! (define (reverse! l) (define (nreverse l r) (if (pair? l) (let ((cdrl (cdr l))) (set-cdr! l r) (nreverse cdrl l) ) r ) ) (nreverse l '()) ) ;;list-length (define list-length (lambda (lst) (if (null? lst) 0 (+ 1 (list-length (cdr lst)))))) ;;nth-element (define nth-element (lambda (lst n) (if (null? lst) (erro "report-list-too-short" n) (if (zero? n) (car lst) (nth-element (cdr lst) (- n 1)))))) ;;remove-first (define remove-first (lambda (s los) (if (null? los) '() (if (eqv? (car los) s) (cdr los) (cons (car los) (remove-first s (cdr los))))))) ;;occurs-free? (define occurs-free? (lambda (var exp) (cond ((symbol? exp) (eqv? var exp)) ((eqv? (car exp) 'lambda) (and (not (eqv? var (car (cadr exp)))) (occurs-free? var (caddr exp)))) (else (or (occurs-free? var (car exp)) (occurs-free? var (cadr exp))))))) ;;subst (define subst (lambda (new old slist) (if (null? slist) '() (cons (subst-in-s-exp new old (car slist)) (subst new old (cdr slist)))))) (define subst-in-s-exp (lambda (new old sexp) (if (symbol? sexp) (if (eqv? sexp old) new sexp) (subst new old sexp)))) ;;remainder (define (remainder n d) (if (< n d) n (remainder (- n d) d))) ;;gcd (define (gcd a b) (if (= b 0) a (gcd b (remainder a b)))) ;;list-ref (define (list-ref items n) (if (= n 0) (car items) (list-ref (cdr items) (- n 1)))) ================================================ FILE: assets/test.html ================================================ src/core/codegenerator.cpp
/***************************************************************************
                          codegenerator.cpp  -  description
                             -------------------
    begin                : Die Jul 9 2002
    copyright            : (C) 2002-2012 by Andre Simon
    email                : andre.simon1@gmx.de
 ***************************************************************************/


/*
This file is part of Highlight.

Highlight is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

Highlight is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with Highlight.  If not, see <http://www.gnu.org/licenses/>.
*/


#include <climits>
#include <memory>
#include <boost/xpressive/xpressive_dynamic.hpp>

#include "codegenerator.h"

#include "htmlgenerator.h"
#include "xhtmlgenerator.h"
#include "rtfgenerator.h"
#include "latexgenerator.h"
#include "texgenerator.h"
#include "svggenerator.h"
#include "bbcodegenerator.h"
#include "pangogenerator.h"
#include "odtgenerator.h"
#include "astyle/astyle.h"
#include "astyle/ASStreamIterator.h"
#include "mygenerator.h"

#if !defined (QT)
#include "ansigenerator.h"
#include "xterm256generator.h"
#endif

using namespace std;

namespace highlight
{
const unsigned int CodeGenerator::NUMBER_BUILTIN_STATES = highlight::KEYWORD;

const string CodeGenerator::STY_NAME_STD="std";
const string CodeGenerator::STY_NAME_STR="str";
const string CodeGenerator::STY_NAME_NUM="num";
const string CodeGenerator::STY_NAME_SLC="slc";
const string CodeGenerator::STY_NAME_COM="com";
const string CodeGenerator::STY_NAME_ESC="esc";
const string CodeGenerator::STY_NAME_DIR="ppc"; //preprocessor
const string CodeGenerator::STY_NAME_DST="pps"; //preprocessor string
const string CodeGenerator::STY_NAME_LIN="lin";
const string CodeGenerator::STY_NAME_SYM="opt"; //operator
const string CodeGenerator::STY_NAME_IPL="ipl"; //interpolation

CodeGenerator * CodeGenerator::getInstance ( OutputType type )
{
    CodeGenerator* generator=NULL;
    switch ( type )
    {
    case HTML:
        generator = new HtmlGenerator();
        break;
    case XHTML:
        generator = new XHtmlGenerator();
        break;
    case TEX:
        generator = new TexGenerator ();
        break;
    case LATEX:
        generator = new LatexGenerator();
        break;
    case RTF:
        generator = new RtfGenerator ();
        break;
    case SVG:
        generator = new SVGGenerator();
        break;
    case BBCODE:
        generator = new BBCodeGenerator();
        break;
    case PANGO:
        generator = new PangoGenerator();
        break;
    case ODTFLAT:
        generator = new ODTGenerator();
        break;
#if !defined (QT)
    case ANSI:
        generator = new AnsiGenerator();
        break;
    case XTERM256:
        generator = new Xterm256Generator();
        break;
    case MY:
        generator = new MyGenerator();
        break;
#endif
    default:
        break;
    }
    return generator;
}


CodeGenerator::CodeGenerator ( highlight::OutputType type )
    :currentSyntax(NULL),
     in ( NULL ),
     out ( NULL ),
     encoding ( "none" ),
     docTitle ( "Source file" ),
     maskWs ( false ),
     excludeWs ( false ),
     fragmentOutput ( false ),
     showLineNumbers ( false ),
     lineNumberFillZeroes ( false ),
     printNewLines(true),
     baseFontSize("10"),
     lineNumber ( 0 ),
     lineNumberOffset ( 0 ),
     includeStyleDef ( false ),
     lineIndex ( 0 ),
     lineNumberWidth ( 5 ),
     maxLineCnt ( UINT_MAX ),
     terminatingChar ( '\0' ),
     formatter ( NULL ),
     formattingEnabled ( false ),
     formattingPossible ( false ),
     validateInput ( false ),
     numberWrappedLines ( true ),	//until now, wrapped lines were always numbered, so this remains the default.
     noTrailingNewLine(false),
     resultOfHook(false),
     keywordCase ( StringTools::CASE_UNCHANGED ),
     eolDelimiter ('\n'),
     outputType ( type )
{
}


CodeGenerator::~CodeGenerator()
{
    delete formatter;

    for ( map<string, SyntaxReader*>::iterator it=syntaxReaders.begin(); it!=syntaxReaders.end(); it++ ) {
        delete it->second;
    }
}


bool CodeGenerator::initTheme ( const string& themePath )
{
    this->themePath=themePath;
    bool loadOK = docStyle.load ( themePath, outputType );
    initOutputTags();
    return loadOK;
}

const string& CodeGenerator::getStyleName()
{
    return themePath;
}

void CodeGenerator::setLineNumberWidth ( int w )
{
    lineNumberWidth=w;
}

int CodeGenerator::getLineNumberWidth()
{
    return lineNumberWidth;
}

void CodeGenerator::setPrintLineNumbers ( bool flag, unsigned int startCnt )
{
    showLineNumbers=flag;
    lineNumberOffset = startCnt-1;
}

bool CodeGenerator::getPrintLineNumbers()
{
    return showLineNumbers;
}

void CodeGenerator::setPrintZeroes ( bool flag )
{
    lineNumberFillZeroes=flag;
}

bool CodeGenerator::getPrintZeroes()
{
    return lineNumberFillZeroes;
}

void CodeGenerator::setIncludeStyle ( bool flag )
{
    includeStyleDef = flag;
}

void CodeGenerator::disableTrailingNL ( bool flag )
{
    noTrailingNewLine = flag;
}

void CodeGenerator::setStyleInputPath ( const string& path )
{
    styleInputPath = path;
}

void CodeGenerator::setStyleOutputPath ( const string& path )
{
    styleOutputPath = path;
}

void CodeGenerator::setPluginReadFile ( const string& path )
{
    pluginReadFile = path;
}

const string&  CodeGenerator::getStyleInputPath()
{
    return styleInputPath;
}

const string&  CodeGenerator::getStyleOutputPath()
{
    return styleOutputPath;
}

void CodeGenerator::setFragmentCode ( bool flag )
{
    fragmentOutput=flag;
}

bool CodeGenerator::getFragmentCode()
{
    return fragmentOutput;
}

void CodeGenerator::setValidateInput ( bool flag )
{
    validateInput=flag;
}

bool CodeGenerator::getValidateInput()
{
    return validateInput;
}


void CodeGenerator::setNumberWrappedLines ( bool flag )
{
    numberWrappedLines=flag;
}

bool CodeGenerator::getNumberWrappedLines() {
    return numberWrappedLines;
}

void CodeGenerator::setBaseFont ( const string& s )
{
    baseFont = s;
}

void CodeGenerator::setBaseFontSize ( const string& s )
{
    baseFontSize = s ;
}

void CodeGenerator::setStartingNestedLang(const string &langName) {
    embedLangStart = langName;
}

const string CodeGenerator::getBaseFont() const
{
    if ( !baseFont.empty() ) return baseFont;
    switch ( outputType )
    {
    case HTML:
    case XHTML:
        return "'Courier New',monospace";
        break;
    case LATEX:
        return "ttfamily";
        break;
    case TEX:
        return "tt";
        break;
    case ODTFLAT:
        return "FreeMono";
        break;
    default:
        return "Courier New";
    }
}

const string CodeGenerator::getBaseFontSize()
{
    return baseFontSize;
}

void CodeGenerator::setTitle ( const string & title )
{
    if ( !title.empty() ) docTitle= title;
}

string CodeGenerator::getTitle()
{
    return docTitle;
}

void CodeGenerator::setEncoding ( const string& encodingName )
{
    encoding = encodingName;
}

bool CodeGenerator::formattingDisabled()
{
    return !formattingEnabled;
}

void CodeGenerator::setMaxInputLineCnt ( unsigned int cnt )
{
    maxLineCnt = cnt;
}

bool CodeGenerator::formattingIsPossible()
{
    return formattingPossible;
}

void CodeGenerator::setPreformatting ( WrapMode lineWrappingStyle,
                                       unsigned int lineLength,
                                       int numberSpaces )
{
    bool enableWrap = lineWrappingStyle!=WRAP_DISABLED;
    bool replaceTabs = numberSpaces > 0;

    if ( enableWrap || replaceTabs )
    {
        preFormatter.setWrap ( enableWrap );
        preFormatter.setWrapIndentBraces ( lineWrappingStyle==WRAP_DEFAULT );
        preFormatter.setWrapLineLength ( lineLength );
        preFormatter.setReplaceTabs ( replaceTabs );
        preFormatter.setNumberSpaces ( numberSpaces );
    }
}

void CodeGenerator::setKeyWordCase ( StringTools::KeywordCase keyCase )
{
    keywordCase = keyCase;
}

void CodeGenerator::setEOLDelimiter(char delim) {
    eolDelimiter = delim;
}

void CodeGenerator::reset()
{
    lineIndex = 0;
    lineNumber = 0;
    line.clear();
    preFormatter.reset();
    inFile.clear();
    outFile.clear();
    hostLangDefPath.clear();
    embedLangDefPath.clear();
    printNewLines=true;
}

================================================ FILE: build.gradle ================================================ import org.apache.tools.ant.taskdefs.condition.Os apply plugin: 'com.android.application' dependencies { compile fileTree(dir: 'libs', include: '*.jar') compile 'com.android.support:appcompat-v7:20.0+' } android { compileSdkVersion 14 buildToolsVersion '20.0.0' sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] aidl.srcDirs = ['src'] renderscript.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] jniLibs.srcDir 'libs' jni.srcDirs = [] } // Move the tests to tests/java, tests/res, etc... instrumentTest.setRoot('tests') // Move the build types to build-types/ // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ... // This moves them out of them default location under src//... which would // conflict with src/ being used by the main source set. // Adding new build types or product flavors should be accompanied // by a similar customization. debug.setRoot('build-types/debug') release.setRoot('build-types/release') } task ndkBuild(type: Exec) { def Properties localProps = new Properties() localProps.load(new FileInputStream("local.properties")) def ndk_dir = localProps['ndk.dir'] def ndk_build_cmd = "$ndk_dir/ndk-build" if (Os.isFamily(Os.FAMILY_WINDOWS)) { ndk_build_cmd = "$ndk_dir/ndk-build.cmd" } commandLine ndk_build_cmd, '-j', Runtime.runtime.availableProcessors(), "NDK_OUT=$buildDir/native/obj", "NDK_PROJECT_PATH=." } tasks.withType(JavaCompile) { compileTask -> compileTask.dependsOn ndkBuild } } buildscript { repositories { jcenter() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:1.5+' } } ================================================ FILE: gen/android/support/v7/appcompat/R.java ================================================ /* AUTO-GENERATED FILE. DO NOT MODIFY. * * This class was automatically generated by the * aapt tool from the resource data it found. It * should not be modified by hand. */ package android.support.v7.appcompat; public final class R { public static final class anim { public static final int abc_fade_in = 0x7f040000; public static final int abc_fade_out = 0x7f040001; public static final int abc_slide_in_bottom = 0x7f040002; public static final int abc_slide_in_top = 0x7f040003; public static final int abc_slide_out_bottom = 0x7f040004; public static final int abc_slide_out_top = 0x7f040005; } public static final class attr { public static final int actionBarDivider = 0x7f01000f; public static final int actionBarItemBackground = 0x7f010010; public static final int actionBarSize = 0x7f01000e; public static final int actionBarSplitStyle = 0x7f01000c; public static final int actionBarStyle = 0x7f01000b; public static final int actionBarTabBarStyle = 0x7f010008; public static final int actionBarTabStyle = 0x7f010007; public static final int actionBarTabTextStyle = 0x7f010009; public static final int actionBarWidgetTheme = 0x7f01000d; public static final int actionButtonStyle = 0x7f010016; public static final int actionDropDownStyle = 0x7f010047; public static final int actionLayout = 0x7f01004e; public static final int actionMenuTextAppearance = 0x7f010011; public static final int actionMenuTextColor = 0x7f010012; public static final int actionModeBackground = 0x7f01003c; public static final int actionModeCloseButtonStyle = 0x7f01003b; public static final int actionModeCloseDrawable = 0x7f01003e; public static final int actionModeCopyDrawable = 0x7f010040; public static final int actionModeCutDrawable = 0x7f01003f; public static final int actionModeFindDrawable = 0x7f010044; public static final int actionModePasteDrawable = 0x7f010041; public static final int actionModePopupWindowStyle = 0x7f010046; public static final int actionModeSelectAllDrawable = 0x7f010042; public static final int actionModeShareDrawable = 0x7f010043; public static final int actionModeSplitBackground = 0x7f01003d; public static final int actionModeStyle = 0x7f01003a; public static final int actionModeWebSearchDrawable = 0x7f010045; public static final int actionOverflowButtonStyle = 0x7f01000a; public static final int actionProviderClass = 0x7f010050; public static final int actionViewClass = 0x7f01004f; public static final int activityChooserViewStyle = 0x7f01006c; public static final int background = 0x7f01002f; public static final int backgroundSplit = 0x7f010031; public static final int backgroundStacked = 0x7f010030; public static final int buttonBarButtonStyle = 0x7f010018; public static final int buttonBarStyle = 0x7f010017; public static final int customNavigationLayout = 0x7f010032; public static final int disableChildrenWhenDisabled = 0x7f010054; public static final int displayOptions = 0x7f010028; public static final int divider = 0x7f01002e; public static final int dividerHorizontal = 0x7f01001b; public static final int dividerPadding = 0x7f010056; public static final int dividerVertical = 0x7f01001a; public static final int dropDownListViewStyle = 0x7f010021; public static final int dropdownListPreferredItemHeight = 0x7f010048; public static final int expandActivityOverflowButtonDrawable = 0x7f01006b; public static final int height = 0x7f010026; public static final int homeAsUpIndicator = 0x7f010013; public static final int homeLayout = 0x7f010033; public static final int icon = 0x7f01002c; public static final int iconifiedByDefault = 0x7f01005a; public static final int indeterminateProgressStyle = 0x7f010035; public static final int initialActivityCount = 0x7f01006a; public static final int isLightTheme = 0x7f010059; public static final int itemPadding = 0x7f010037; public static final int listChoiceBackgroundIndicator = 0x7f01004c; public static final int listPopupWindowStyle = 0x7f010022; public static final int listPreferredItemHeight = 0x7f01001c; public static final int listPreferredItemHeightLarge = 0x7f01001e; public static final int listPreferredItemHeightSmall = 0x7f01001d; public static final int listPreferredItemPaddingLeft = 0x7f01001f; public static final int listPreferredItemPaddingRight = 0x7f010020; public static final int logo = 0x7f01002d; public static final int navigationMode = 0x7f010027; public static final int paddingEnd = 0x7f010039; public static final int paddingStart = 0x7f010038; public static final int panelMenuListTheme = 0x7f01004b; public static final int panelMenuListWidth = 0x7f01004a; public static final int popupMenuStyle = 0x7f010049; public static final int popupPromptView = 0x7f010053; public static final int progressBarPadding = 0x7f010036; public static final int progressBarStyle = 0x7f010034; public static final int prompt = 0x7f010051; public static final int queryHint = 0x7f01005b; public static final int searchDropdownBackground = 0x7f01005c; public static final int searchResultListItemHeight = 0x7f010065; public static final int searchViewAutoCompleteTextView = 0x7f010069; public static final int searchViewCloseIcon = 0x7f01005d; public static final int searchViewEditQuery = 0x7f010061; public static final int searchViewEditQueryBackground = 0x7f010062; public static final int searchViewGoIcon = 0x7f01005e; public static final int searchViewSearchIcon = 0x7f01005f; public static final int searchViewTextField = 0x7f010063; public static final int searchViewTextFieldRight = 0x7f010064; public static final int searchViewVoiceIcon = 0x7f010060; public static final int selectableItemBackground = 0x7f010019; public static final int showAsAction = 0x7f01004d; public static final int showDividers = 0x7f010055; public static final int spinnerDropDownItemStyle = 0x7f010058; public static final int spinnerMode = 0x7f010052; public static final int spinnerStyle = 0x7f010057; public static final int subtitle = 0x7f010029; public static final int subtitleTextStyle = 0x7f01002b; public static final int textAllCaps = 0x7f01006d; public static final int textAppearanceLargePopupMenu = 0x7f010014; public static final int textAppearanceListItem = 0x7f010023; public static final int textAppearanceListItemSmall = 0x7f010024; public static final int textAppearanceSearchResultSubtitle = 0x7f010067; public static final int textAppearanceSearchResultTitle = 0x7f010066; public static final int textAppearanceSmallPopupMenu = 0x7f010015; public static final int textColorSearchUrl = 0x7f010068; public static final int title = 0x7f010025; public static final int titleTextStyle = 0x7f01002a; public static final int windowActionBar = 0x7f010000; public static final int windowActionBarOverlay = 0x7f010001; public static final int windowFixedHeightMajor = 0x7f010006; public static final int windowFixedHeightMinor = 0x7f010004; public static final int windowFixedWidthMajor = 0x7f010003; public static final int windowFixedWidthMinor = 0x7f010005; public static final int windowSplitActionBar = 0x7f010002; } public static final class bool { public static final int abc_action_bar_embed_tabs_pre_jb = 0x7f050000; public static final int abc_action_bar_expanded_action_views_exclusive = 0x7f050001; public static final int abc_config_actionMenuItemAllCaps = 0x7f050005; public static final int abc_config_allowActionMenuItemTextWithIcon = 0x7f050004; public static final int abc_config_showMenuShortcutsWhenKeyboardPresent = 0x7f050003; public static final int abc_split_action_bar_is_narrow = 0x7f050002; } public static final class color { public static final int abc_search_url_text_holo = 0x7f060003; public static final int abc_search_url_text_normal = 0x7f060000; public static final int abc_search_url_text_pressed = 0x7f060002; public static final int abc_search_url_text_selected = 0x7f060001; } public static final class dimen { public static final int abc_action_bar_default_height = 0x7f070002; public static final int abc_action_bar_icon_vertical_padding = 0x7f070003; public static final int abc_action_bar_progress_bar_size = 0x7f07000a; public static final int abc_action_bar_stacked_max_height = 0x7f070009; public static final int abc_action_bar_stacked_tab_max_width = 0x7f070001; public static final int abc_action_bar_subtitle_bottom_margin = 0x7f070007; public static final int abc_action_bar_subtitle_text_size = 0x7f070005; public static final int abc_action_bar_subtitle_top_margin = 0x7f070006; public static final int abc_action_bar_title_text_size = 0x7f070004; public static final int abc_action_button_min_width = 0x7f070008; public static final int abc_config_prefDialogWidth = 0x7f070000; public static final int abc_dropdownitem_icon_width = 0x7f070010; public static final int abc_dropdownitem_text_padding_left = 0x7f07000e; public static final int abc_dropdownitem_text_padding_right = 0x7f07000f; public static final int abc_panel_menu_list_width = 0x7f07000b; public static final int abc_search_view_preferred_width = 0x7f07000d; public static final int abc_search_view_text_min_width = 0x7f07000c; public static final int dialog_fixed_height_major = 0x7f070013; public static final int dialog_fixed_height_minor = 0x7f070014; public static final int dialog_fixed_width_major = 0x7f070011; public static final int dialog_fixed_width_minor = 0x7f070012; } public static final class drawable { public static final int abc_ab_bottom_solid_dark_holo = 0x7f020000; public static final int abc_ab_bottom_solid_light_holo = 0x7f020001; public static final int abc_ab_bottom_transparent_dark_holo = 0x7f020002; public static final int abc_ab_bottom_transparent_light_holo = 0x7f020003; public static final int abc_ab_share_pack_holo_dark = 0x7f020004; public static final int abc_ab_share_pack_holo_light = 0x7f020005; public static final int abc_ab_solid_dark_holo = 0x7f020006; public static final int abc_ab_solid_light_holo = 0x7f020007; public static final int abc_ab_stacked_solid_dark_holo = 0x7f020008; public static final int abc_ab_stacked_solid_light_holo = 0x7f020009; public static final int abc_ab_stacked_transparent_dark_holo = 0x7f02000a; public static final int abc_ab_stacked_transparent_light_holo = 0x7f02000b; public static final int abc_ab_transparent_dark_holo = 0x7f02000c; public static final int abc_ab_transparent_light_holo = 0x7f02000d; public static final int abc_cab_background_bottom_holo_dark = 0x7f02000e; public static final int abc_cab_background_bottom_holo_light = 0x7f02000f; public static final int abc_cab_background_top_holo_dark = 0x7f020010; public static final int abc_cab_background_top_holo_light = 0x7f020011; public static final int abc_ic_ab_back_holo_dark = 0x7f020012; public static final int abc_ic_ab_back_holo_light = 0x7f020013; public static final int abc_ic_cab_done_holo_dark = 0x7f020014; public static final int abc_ic_cab_done_holo_light = 0x7f020015; public static final int abc_ic_clear = 0x7f020016; public static final int abc_ic_clear_disabled = 0x7f020017; public static final int abc_ic_clear_holo_light = 0x7f020018; public static final int abc_ic_clear_normal = 0x7f020019; public static final int abc_ic_clear_search_api_disabled_holo_light = 0x7f02001a; public static final int abc_ic_clear_search_api_holo_light = 0x7f02001b; public static final int abc_ic_commit_search_api_holo_dark = 0x7f02001c; public static final int abc_ic_commit_search_api_holo_light = 0x7f02001d; public static final int abc_ic_go = 0x7f02001e; public static final int abc_ic_go_search_api_holo_light = 0x7f02001f; public static final int abc_ic_menu_moreoverflow_normal_holo_dark = 0x7f020020; public static final int abc_ic_menu_moreoverflow_normal_holo_light = 0x7f020021; public static final int abc_ic_menu_share_holo_dark = 0x7f020022; public static final int abc_ic_menu_share_holo_light = 0x7f020023; public static final int abc_ic_search = 0x7f020024; public static final int abc_ic_search_api_holo_light = 0x7f020025; public static final int abc_ic_voice_search = 0x7f020026; public static final int abc_ic_voice_search_api_holo_light = 0x7f020027; public static final int abc_item_background_holo_dark = 0x7f020028; public static final int abc_item_background_holo_light = 0x7f020029; public static final int abc_list_divider_holo_dark = 0x7f02002a; public static final int abc_list_divider_holo_light = 0x7f02002b; public static final int abc_list_focused_holo = 0x7f02002c; public static final int abc_list_longpressed_holo = 0x7f02002d; public static final int abc_list_pressed_holo_dark = 0x7f02002e; public static final int abc_list_pressed_holo_light = 0x7f02002f; public static final int abc_list_selector_background_transition_holo_dark = 0x7f020030; public static final int abc_list_selector_background_transition_holo_light = 0x7f020031; public static final int abc_list_selector_disabled_holo_dark = 0x7f020032; public static final int abc_list_selector_disabled_holo_light = 0x7f020033; public static final int abc_list_selector_holo_dark = 0x7f020034; public static final int abc_list_selector_holo_light = 0x7f020035; public static final int abc_menu_dropdown_panel_holo_dark = 0x7f020036; public static final int abc_menu_dropdown_panel_holo_light = 0x7f020037; public static final int abc_menu_hardkey_panel_holo_dark = 0x7f020038; public static final int abc_menu_hardkey_panel_holo_light = 0x7f020039; public static final int abc_search_dropdown_dark = 0x7f02003a; public static final int abc_search_dropdown_light = 0x7f02003b; public static final int abc_spinner_ab_default_holo_dark = 0x7f02003c; public static final int abc_spinner_ab_default_holo_light = 0x7f02003d; public static final int abc_spinner_ab_disabled_holo_dark = 0x7f02003e; public static final int abc_spinner_ab_disabled_holo_light = 0x7f02003f; public static final int abc_spinner_ab_focused_holo_dark = 0x7f020040; public static final int abc_spinner_ab_focused_holo_light = 0x7f020041; public static final int abc_spinner_ab_holo_dark = 0x7f020042; public static final int abc_spinner_ab_holo_light = 0x7f020043; public static final int abc_spinner_ab_pressed_holo_dark = 0x7f020044; public static final int abc_spinner_ab_pressed_holo_light = 0x7f020045; public static final int abc_tab_indicator_ab_holo = 0x7f020046; public static final int abc_tab_selected_focused_holo = 0x7f020047; public static final int abc_tab_selected_holo = 0x7f020048; public static final int abc_tab_selected_pressed_holo = 0x7f020049; public static final int abc_tab_unselected_pressed_holo = 0x7f02004a; public static final int abc_textfield_search_default_holo_dark = 0x7f02004b; public static final int abc_textfield_search_default_holo_light = 0x7f02004c; public static final int abc_textfield_search_right_default_holo_dark = 0x7f02004d; public static final int abc_textfield_search_right_default_holo_light = 0x7f02004e; public static final int abc_textfield_search_right_selected_holo_dark = 0x7f02004f; public static final int abc_textfield_search_right_selected_holo_light = 0x7f020050; public static final int abc_textfield_search_selected_holo_dark = 0x7f020051; public static final int abc_textfield_search_selected_holo_light = 0x7f020052; public static final int abc_textfield_searchview_holo_dark = 0x7f020053; public static final int abc_textfield_searchview_holo_light = 0x7f020054; public static final int abc_textfield_searchview_right_holo_dark = 0x7f020055; public static final int abc_textfield_searchview_right_holo_light = 0x7f020056; } public static final class id { public static final int action_bar = 0x7f09001c; public static final int action_bar_activity_content = 0x7f090001; public static final int action_bar_container = 0x7f09001b; public static final int action_bar_overlay_layout = 0x7f09001f; public static final int action_bar_root = 0x7f09001a; public static final int action_bar_subtitle = 0x7f090023; public static final int action_bar_title = 0x7f090022; public static final int action_context_bar = 0x7f09001d; public static final int action_menu_divider = 0x7f090002; public static final int action_menu_presenter = 0x7f090003; public static final int action_mode_close_button = 0x7f090024; public static final int activity_chooser_view_content = 0x7f090025; public static final int always = 0x7f09000f; public static final int beginning = 0x7f090016; public static final int checkbox = 0x7f09002d; public static final int collapseActionView = 0x7f090010; public static final int default_activity_button = 0x7f090028; public static final int dialog = 0x7f090014; public static final int disableHome = 0x7f090009; public static final int dropdown = 0x7f090015; public static final int edit_query = 0x7f090030; public static final int end = 0x7f090017; public static final int expand_activities_button = 0x7f090026; public static final int expanded_menu = 0x7f09002c; public static final int home = 0x7f090000; public static final int homeAsUp = 0x7f09000a; public static final int icon = 0x7f09002a; public static final int ifRoom = 0x7f090011; public static final int image = 0x7f090027; public static final int listMode = 0x7f090006; public static final int list_item = 0x7f090029; public static final int middle = 0x7f090018; public static final int never = 0x7f090012; public static final int none = 0x7f090019; public static final int normal = 0x7f090007; public static final int progress_circular = 0x7f090004; public static final int progress_horizontal = 0x7f090005; public static final int radio = 0x7f09002f; public static final int search_badge = 0x7f090032; public static final int search_bar = 0x7f090031; public static final int search_button = 0x7f090033; public static final int search_close_btn = 0x7f090038; public static final int search_edit_frame = 0x7f090034; public static final int search_go_btn = 0x7f09003a; public static final int search_mag_icon = 0x7f090035; public static final int search_plate = 0x7f090036; public static final int search_src_text = 0x7f090037; public static final int search_voice_btn = 0x7f09003b; public static final int shortcut = 0x7f09002e; public static final int showCustom = 0x7f09000b; public static final int showHome = 0x7f09000c; public static final int showTitle = 0x7f09000d; public static final int split_action_bar = 0x7f09001e; public static final int submit_area = 0x7f090039; public static final int tabMode = 0x7f090008; public static final int title = 0x7f09002b; public static final int top_action_bar = 0x7f090020; public static final int up = 0x7f090021; public static final int useLogo = 0x7f09000e; public static final int withText = 0x7f090013; } public static final class integer { public static final int abc_max_action_buttons = 0x7f080000; } public static final class layout { public static final int abc_action_bar_decor = 0x7f030000; public static final int abc_action_bar_decor_include = 0x7f030001; public static final int abc_action_bar_decor_overlay = 0x7f030002; public static final int abc_action_bar_home = 0x7f030003; public static final int abc_action_bar_tab = 0x7f030004; public static final int abc_action_bar_tabbar = 0x7f030005; public static final int abc_action_bar_title_item = 0x7f030006; public static final int abc_action_bar_view_list_nav_layout = 0x7f030007; public static final int abc_action_menu_item_layout = 0x7f030008; public static final int abc_action_menu_layout = 0x7f030009; public static final int abc_action_mode_bar = 0x7f03000a; public static final int abc_action_mode_close_item = 0x7f03000b; public static final int abc_activity_chooser_view = 0x7f03000c; public static final int abc_activity_chooser_view_include = 0x7f03000d; public static final int abc_activity_chooser_view_list_item = 0x7f03000e; public static final int abc_expanded_menu_layout = 0x7f03000f; public static final int abc_list_menu_item_checkbox = 0x7f030010; public static final int abc_list_menu_item_icon = 0x7f030011; public static final int abc_list_menu_item_layout = 0x7f030012; public static final int abc_list_menu_item_radio = 0x7f030013; public static final int abc_popup_menu_item_layout = 0x7f030014; public static final int abc_search_dropdown_item_icons_2line = 0x7f030015; public static final int abc_search_view = 0x7f030016; public static final int abc_simple_decor = 0x7f030017; public static final int support_simple_spinner_dropdown_item = 0x7f03001a; } public static final class string { public static final int abc_action_bar_home_description = 0x7f0a0001; public static final int abc_action_bar_up_description = 0x7f0a0002; public static final int abc_action_menu_overflow_description = 0x7f0a0003; public static final int abc_action_mode_done = 0x7f0a0000; public static final int abc_activity_chooser_view_see_all = 0x7f0a000a; public static final int abc_activitychooserview_choose_application = 0x7f0a0009; public static final int abc_searchview_description_clear = 0x7f0a0006; public static final int abc_searchview_description_query = 0x7f0a0005; public static final int abc_searchview_description_search = 0x7f0a0004; public static final int abc_searchview_description_submit = 0x7f0a0007; public static final int abc_searchview_description_voice = 0x7f0a0008; public static final int abc_shareactionprovider_share_with = 0x7f0a000c; public static final int abc_shareactionprovider_share_with_application = 0x7f0a000b; } public static final class style { public static final int TextAppearance_AppCompat_Base_CompactMenu_Dialog = 0x7f0b0063; public static final int TextAppearance_AppCompat_Base_SearchResult = 0x7f0b006d; public static final int TextAppearance_AppCompat_Base_SearchResult_Subtitle = 0x7f0b006f; public static final int TextAppearance_AppCompat_Base_SearchResult_Title = 0x7f0b006e; public static final int TextAppearance_AppCompat_Base_Widget_PopupMenu_Large = 0x7f0b0069; public static final int TextAppearance_AppCompat_Base_Widget_PopupMenu_Small = 0x7f0b006a; public static final int TextAppearance_AppCompat_Light_Base_SearchResult = 0x7f0b0070; public static final int TextAppearance_AppCompat_Light_Base_SearchResult_Subtitle = 0x7f0b0072; public static final int TextAppearance_AppCompat_Light_Base_SearchResult_Title = 0x7f0b0071; public static final int TextAppearance_AppCompat_Light_Base_Widget_PopupMenu_Large = 0x7f0b006b; public static final int TextAppearance_AppCompat_Light_Base_Widget_PopupMenu_Small = 0x7f0b006c; public static final int TextAppearance_AppCompat_Light_SearchResult_Subtitle = 0x7f0b0035; public static final int TextAppearance_AppCompat_Light_SearchResult_Title = 0x7f0b0034; public static final int TextAppearance_AppCompat_Light_Widget_PopupMenu_Large = 0x7f0b0030; public static final int TextAppearance_AppCompat_Light_Widget_PopupMenu_Small = 0x7f0b0031; public static final int TextAppearance_AppCompat_SearchResult_Subtitle = 0x7f0b0033; public static final int TextAppearance_AppCompat_SearchResult_Title = 0x7f0b0032; public static final int TextAppearance_AppCompat_Widget_ActionBar_Menu = 0x7f0b001a; public static final int TextAppearance_AppCompat_Widget_ActionBar_Subtitle = 0x7f0b0006; public static final int TextAppearance_AppCompat_Widget_ActionBar_Subtitle_Inverse = 0x7f0b0008; public static final int TextAppearance_AppCompat_Widget_ActionBar_Title = 0x7f0b0005; public static final int TextAppearance_AppCompat_Widget_ActionBar_Title_Inverse = 0x7f0b0007; public static final int TextAppearance_AppCompat_Widget_ActionMode_Subtitle = 0x7f0b001e; public static final int TextAppearance_AppCompat_Widget_ActionMode_Subtitle_Inverse = 0x7f0b0020; public static final int TextAppearance_AppCompat_Widget_ActionMode_Title = 0x7f0b001d; public static final int TextAppearance_AppCompat_Widget_ActionMode_Title_Inverse = 0x7f0b001f; public static final int TextAppearance_AppCompat_Widget_Base_ActionBar_Menu = 0x7f0b0054; public static final int TextAppearance_AppCompat_Widget_Base_ActionBar_Subtitle = 0x7f0b0056; public static final int TextAppearance_AppCompat_Widget_Base_ActionBar_Subtitle_Inverse = 0x7f0b0058; public static final int TextAppearance_AppCompat_Widget_Base_ActionBar_Title = 0x7f0b0055; public static final int TextAppearance_AppCompat_Widget_Base_ActionBar_Title_Inverse = 0x7f0b0057; public static final int TextAppearance_AppCompat_Widget_Base_ActionMode_Subtitle = 0x7f0b0051; public static final int TextAppearance_AppCompat_Widget_Base_ActionMode_Subtitle_Inverse = 0x7f0b0053; public static final int TextAppearance_AppCompat_Widget_Base_ActionMode_Title = 0x7f0b0050; public static final int TextAppearance_AppCompat_Widget_Base_ActionMode_Title_Inverse = 0x7f0b0052; public static final int TextAppearance_AppCompat_Widget_Base_DropDownItem = 0x7f0b0061; public static final int TextAppearance_AppCompat_Widget_DropDownItem = 0x7f0b0021; public static final int TextAppearance_AppCompat_Widget_PopupMenu_Large = 0x7f0b002e; public static final int TextAppearance_AppCompat_Widget_PopupMenu_Small = 0x7f0b002f; public static final int TextAppearance_Widget_AppCompat_Base_ExpandedMenu_Item = 0x7f0b0062; public static final int TextAppearance_Widget_AppCompat_ExpandedMenu_Item = 0x7f0b0028; public static final int Theme_AppCompat = 0x7f0b0077; public static final int Theme_AppCompat_Base_CompactMenu = 0x7f0b0083; public static final int Theme_AppCompat_Base_CompactMenu_Dialog = 0x7f0b0084; public static final int Theme_AppCompat_CompactMenu = 0x7f0b007c; public static final int Theme_AppCompat_CompactMenu_Dialog = 0x7f0b007d; public static final int Theme_AppCompat_DialogWhenLarge = 0x7f0b007a; public static final int Theme_AppCompat_Light = 0x7f0b0078; public static final int Theme_AppCompat_Light_DarkActionBar = 0x7f0b0079; public static final int Theme_AppCompat_Light_DialogWhenLarge = 0x7f0b007b; public static final int Theme_Base = 0x7f0b007e; public static final int Theme_Base_AppCompat = 0x7f0b0080; public static final int Theme_Base_AppCompat_DialogWhenLarge = 0x7f0b0085; public static final int Theme_Base_AppCompat_DialogWhenLarge_Base = 0x7f0b0089; public static final int Theme_Base_AppCompat_Dialog_FixedSize = 0x7f0b0087; public static final int Theme_Base_AppCompat_Dialog_Light_FixedSize = 0x7f0b0088; public static final int Theme_Base_AppCompat_Light = 0x7f0b0081; public static final int Theme_Base_AppCompat_Light_DarkActionBar = 0x7f0b0082; public static final int Theme_Base_AppCompat_Light_DialogWhenLarge = 0x7f0b0086; public static final int Theme_Base_AppCompat_Light_DialogWhenLarge_Base = 0x7f0b008a; public static final int Theme_Base_Light = 0x7f0b007f; public static final int Widget_AppCompat_ActionBar = 0x7f0b0000; public static final int Widget_AppCompat_ActionBar_Solid = 0x7f0b0002; public static final int Widget_AppCompat_ActionBar_TabBar = 0x7f0b0011; public static final int Widget_AppCompat_ActionBar_TabText = 0x7f0b0017; public static final int Widget_AppCompat_ActionBar_TabView = 0x7f0b0014; public static final int Widget_AppCompat_ActionButton = 0x7f0b000b; public static final int Widget_AppCompat_ActionButton_CloseMode = 0x7f0b000d; public static final int Widget_AppCompat_ActionButton_Overflow = 0x7f0b000f; public static final int Widget_AppCompat_ActionMode = 0x7f0b001b; public static final int Widget_AppCompat_ActivityChooserView = 0x7f0b0038; public static final int Widget_AppCompat_AutoCompleteTextView = 0x7f0b0036; public static final int Widget_AppCompat_Base_ActionBar = 0x7f0b003a; public static final int Widget_AppCompat_Base_ActionBar_Solid = 0x7f0b003c; public static final int Widget_AppCompat_Base_ActionBar_TabBar = 0x7f0b0045; public static final int Widget_AppCompat_Base_ActionBar_TabText = 0x7f0b004b; public static final int Widget_AppCompat_Base_ActionBar_TabView = 0x7f0b0048; public static final int Widget_AppCompat_Base_ActionButton = 0x7f0b003f; public static final int Widget_AppCompat_Base_ActionButton_CloseMode = 0x7f0b0041; public static final int Widget_AppCompat_Base_ActionButton_Overflow = 0x7f0b0043; public static final int Widget_AppCompat_Base_ActionMode = 0x7f0b004e; public static final int Widget_AppCompat_Base_ActivityChooserView = 0x7f0b0075; public static final int Widget_AppCompat_Base_AutoCompleteTextView = 0x7f0b0073; public static final int Widget_AppCompat_Base_DropDownItem_Spinner = 0x7f0b005d; public static final int Widget_AppCompat_Base_ListPopupWindow = 0x7f0b0065; public static final int Widget_AppCompat_Base_ListView_DropDown = 0x7f0b005f; public static final int Widget_AppCompat_Base_ListView_Menu = 0x7f0b0064; public static final int Widget_AppCompat_Base_PopupMenu = 0x7f0b0067; public static final int Widget_AppCompat_Base_ProgressBar = 0x7f0b005a; public static final int Widget_AppCompat_Base_ProgressBar_Horizontal = 0x7f0b0059; public static final int Widget_AppCompat_Base_Spinner = 0x7f0b005b; public static final int Widget_AppCompat_DropDownItem_Spinner = 0x7f0b0024; public static final int Widget_AppCompat_Light_ActionBar = 0x7f0b0001; public static final int Widget_AppCompat_Light_ActionBar_Solid = 0x7f0b0003; public static final int Widget_AppCompat_Light_ActionBar_Solid_Inverse = 0x7f0b0004; public static final int Widget_AppCompat_Light_ActionBar_TabBar = 0x7f0b0012; public static final int Widget_AppCompat_Light_ActionBar_TabBar_Inverse = 0x7f0b0013; public static final int Widget_AppCompat_Light_ActionBar_TabText = 0x7f0b0018; public static final int Widget_AppCompat_Light_ActionBar_TabText_Inverse = 0x7f0b0019; public static final int Widget_AppCompat_Light_ActionBar_TabView = 0x7f0b0015; public static final int Widget_AppCompat_Light_ActionBar_TabView_Inverse = 0x7f0b0016; public static final int Widget_AppCompat_Light_ActionButton = 0x7f0b000c; public static final int Widget_AppCompat_Light_ActionButton_CloseMode = 0x7f0b000e; public static final int Widget_AppCompat_Light_ActionButton_Overflow = 0x7f0b0010; public static final int Widget_AppCompat_Light_ActionMode_Inverse = 0x7f0b001c; public static final int Widget_AppCompat_Light_ActivityChooserView = 0x7f0b0039; public static final int Widget_AppCompat_Light_AutoCompleteTextView = 0x7f0b0037; public static final int Widget_AppCompat_Light_Base_ActionBar = 0x7f0b003b; public static final int Widget_AppCompat_Light_Base_ActionBar_Solid = 0x7f0b003d; public static final int Widget_AppCompat_Light_Base_ActionBar_Solid_Inverse = 0x7f0b003e; public static final int Widget_AppCompat_Light_Base_ActionBar_TabBar = 0x7f0b0046; public static final int Widget_AppCompat_Light_Base_ActionBar_TabBar_Inverse = 0x7f0b0047; public static final int Widget_AppCompat_Light_Base_ActionBar_TabText = 0x7f0b004c; public static final int Widget_AppCompat_Light_Base_ActionBar_TabText_Inverse = 0x7f0b004d; public static final int Widget_AppCompat_Light_Base_ActionBar_TabView = 0x7f0b0049; public static final int Widget_AppCompat_Light_Base_ActionBar_TabView_Inverse = 0x7f0b004a; public static final int Widget_AppCompat_Light_Base_ActionButton = 0x7f0b0040; public static final int Widget_AppCompat_Light_Base_ActionButton_CloseMode = 0x7f0b0042; public static final int Widget_AppCompat_Light_Base_ActionButton_Overflow = 0x7f0b0044; public static final int Widget_AppCompat_Light_Base_ActionMode_Inverse = 0x7f0b004f; public static final int Widget_AppCompat_Light_Base_ActivityChooserView = 0x7f0b0076; public static final int Widget_AppCompat_Light_Base_AutoCompleteTextView = 0x7f0b0074; public static final int Widget_AppCompat_Light_Base_DropDownItem_Spinner = 0x7f0b005e; public static final int Widget_AppCompat_Light_Base_ListPopupWindow = 0x7f0b0066; public static final int Widget_AppCompat_Light_Base_ListView_DropDown = 0x7f0b0060; public static final int Widget_AppCompat_Light_Base_PopupMenu = 0x7f0b0068; public static final int Widget_AppCompat_Light_Base_Spinner = 0x7f0b005c; public static final int Widget_AppCompat_Light_DropDownItem_Spinner = 0x7f0b0025; public static final int Widget_AppCompat_Light_ListPopupWindow = 0x7f0b002a; public static final int Widget_AppCompat_Light_ListView_DropDown = 0x7f0b0027; public static final int Widget_AppCompat_Light_PopupMenu = 0x7f0b002c; public static final int Widget_AppCompat_Light_Spinner_DropDown_ActionBar = 0x7f0b0023; public static final int Widget_AppCompat_ListPopupWindow = 0x7f0b0029; public static final int Widget_AppCompat_ListView_DropDown = 0x7f0b0026; public static final int Widget_AppCompat_ListView_Menu = 0x7f0b002d; public static final int Widget_AppCompat_PopupMenu = 0x7f0b002b; public static final int Widget_AppCompat_ProgressBar = 0x7f0b000a; public static final int Widget_AppCompat_ProgressBar_Horizontal = 0x7f0b0009; public static final int Widget_AppCompat_Spinner_DropDown_ActionBar = 0x7f0b0022; } public static final class styleable { public static final int[] ActionBar = { 0x7f010025, 0x7f010026, 0x7f010027, 0x7f010028, 0x7f010029, 0x7f01002a, 0x7f01002b, 0x7f01002c, 0x7f01002d, 0x7f01002e, 0x7f01002f, 0x7f010030, 0x7f010031, 0x7f010032, 0x7f010033, 0x7f010034, 0x7f010035, 0x7f010036, 0x7f010037 }; public static final int[] ActionBarLayout = { 0x010100b3 }; public static final int ActionBarLayout_android_layout_gravity = 0; public static final int[] ActionBarWindow = { 0x7f010000, 0x7f010001, 0x7f010002, 0x7f010003, 0x7f010004, 0x7f010005, 0x7f010006 }; public static final int ActionBarWindow_windowActionBar = 0; public static final int ActionBarWindow_windowActionBarOverlay = 1; public static final int ActionBarWindow_windowFixedHeightMajor = 6; public static final int ActionBarWindow_windowFixedHeightMinor = 4; public static final int ActionBarWindow_windowFixedWidthMajor = 3; public static final int ActionBarWindow_windowFixedWidthMinor = 5; public static final int ActionBarWindow_windowSplitActionBar = 2; public static final int ActionBar_background = 10; public static final int ActionBar_backgroundSplit = 12; public static final int ActionBar_backgroundStacked = 11; public static final int ActionBar_customNavigationLayout = 13; public static final int ActionBar_displayOptions = 3; public static final int ActionBar_divider = 9; public static final int ActionBar_height = 1; public static final int ActionBar_homeLayout = 14; public static final int ActionBar_icon = 7; public static final int ActionBar_indeterminateProgressStyle = 16; public static final int ActionBar_itemPadding = 18; public static final int ActionBar_logo = 8; public static final int ActionBar_navigationMode = 2; public static final int ActionBar_progressBarPadding = 17; public static final int ActionBar_progressBarStyle = 15; public static final int ActionBar_subtitle = 4; public static final int ActionBar_subtitleTextStyle = 6; public static final int ActionBar_title = 0; public static final int ActionBar_titleTextStyle = 5; public static final int[] ActionMenuItemView = { 0x0101013f }; public static final int ActionMenuItemView_android_minWidth = 0; public static final int[] ActionMenuView = { }; public static final int[] ActionMode = { 0x7f010026, 0x7f01002a, 0x7f01002b, 0x7f01002f, 0x7f010031 }; public static final int ActionMode_background = 3; public static final int ActionMode_backgroundSplit = 4; public static final int ActionMode_height = 0; public static final int ActionMode_subtitleTextStyle = 2; public static final int ActionMode_titleTextStyle = 1; public static final int[] ActivityChooserView = { 0x7f01006a, 0x7f01006b }; public static final int ActivityChooserView_expandActivityOverflowButtonDrawable = 1; public static final int ActivityChooserView_initialActivityCount = 0; public static final int[] CompatTextView = { 0x7f01006d }; public static final int CompatTextView_textAllCaps = 0; public static final int[] LinearLayoutICS = { 0x7f01002e, 0x7f010055, 0x7f010056 }; public static final int LinearLayoutICS_divider = 0; public static final int LinearLayoutICS_dividerPadding = 2; public static final int LinearLayoutICS_showDividers = 1; public static final int[] MenuGroup = { 0x0101000e, 0x010100d0, 0x01010194, 0x010101de, 0x010101df, 0x010101e0 }; public static final int MenuGroup_android_checkableBehavior = 5; public static final int MenuGroup_android_enabled = 0; public static final int MenuGroup_android_id = 1; public static final int MenuGroup_android_menuCategory = 3; public static final int MenuGroup_android_orderInCategory = 4; public static final int MenuGroup_android_visible = 2; public static final int[] MenuItem = { 0x01010002, 0x0101000e, 0x010100d0, 0x01010106, 0x01010194, 0x010101de, 0x010101df, 0x010101e1, 0x010101e2, 0x010101e3, 0x010101e4, 0x010101e5, 0x0101026f, 0x7f01004d, 0x7f01004e, 0x7f01004f, 0x7f010050 }; public static final int MenuItem_actionLayout = 14; public static final int MenuItem_actionProviderClass = 16; public static final int MenuItem_actionViewClass = 15; public static final int MenuItem_android_alphabeticShortcut = 9; public static final int MenuItem_android_checkable = 11; public static final int MenuItem_android_checked = 3; public static final int MenuItem_android_enabled = 1; public static final int MenuItem_android_icon = 0; public static final int MenuItem_android_id = 2; public static final int MenuItem_android_menuCategory = 5; public static final int MenuItem_android_numericShortcut = 10; public static final int MenuItem_android_onClick = 12; public static final int MenuItem_android_orderInCategory = 6; public static final int MenuItem_android_title = 7; public static final int MenuItem_android_titleCondensed = 8; public static final int MenuItem_android_visible = 4; public static final int MenuItem_showAsAction = 13; public static final int[] MenuView = { 0x010100ae, 0x0101012c, 0x0101012d, 0x0101012e, 0x0101012f, 0x01010130, 0x01010131, 0x010103ea }; public static final int MenuView_android_headerBackground = 4; public static final int MenuView_android_horizontalDivider = 2; public static final int MenuView_android_itemBackground = 5; public static final int MenuView_android_itemIconDisabledAlpha = 6; public static final int MenuView_android_itemTextAppearance = 1; public static final int MenuView_android_preserveIconSpacing = 7; public static final int MenuView_android_verticalDivider = 3; public static final int MenuView_android_windowAnimationStyle = 0; public static final int[] SearchView = { 0x0101011f, 0x01010220, 0x01010264, 0x7f01005a, 0x7f01005b }; public static final int SearchView_android_imeOptions = 2; public static final int SearchView_android_inputType = 1; public static final int SearchView_android_maxWidth = 0; public static final int SearchView_iconifiedByDefault = 3; public static final int SearchView_queryHint = 4; public static final int[] Spinner = { 0x010100af, 0x01010175, 0x01010176, 0x01010262, 0x010102ac, 0x010102ad, 0x7f010051, 0x7f010052, 0x7f010053, 0x7f010054 }; public static final int Spinner_android_dropDownHorizontalOffset = 4; public static final int Spinner_android_dropDownSelector = 1; public static final int Spinner_android_dropDownVerticalOffset = 5; public static final int Spinner_android_dropDownWidth = 3; public static final int Spinner_android_gravity = 0; public static final int Spinner_android_popupBackground = 2; public static final int Spinner_disableChildrenWhenDisabled = 9; public static final int Spinner_popupPromptView = 8; public static final int Spinner_prompt = 6; public static final int Spinner_spinnerMode = 7; public static final int[] Theme = { 0x7f010047, 0x7f010048, 0x7f010049, 0x7f01004a, 0x7f01004b, 0x7f01004c }; public static final int Theme_actionDropDownStyle = 0; public static final int Theme_dropdownListPreferredItemHeight = 1; public static final int Theme_listChoiceBackgroundIndicator = 5; public static final int Theme_panelMenuListTheme = 4; public static final int Theme_panelMenuListWidth = 3; public static final int Theme_popupMenuStyle = 2; public static final int[] View = { 0x010100da, 0x7f010038, 0x7f010039 }; public static final int View_android_focusable = 0; public static final int View_paddingEnd = 2; public static final int View_paddingStart = 1; } } ================================================ FILE: gen/org/evilbinary/highliter/BuildConfig.java ================================================ /** Automatically generated file. DO NOT MODIFY */ package org.evilbinary.highliter; public final class BuildConfig { public final static boolean DEBUG = true; } ================================================ FILE: gen/org/evilbinary/highliter/R.java ================================================ /* AUTO-GENERATED FILE. DO NOT MODIFY. * * This class was automatically generated by the * aapt tool from the resource data it found. It * should not be modified by hand. */ package org.evilbinary.highliter; public final class R { public static final class anim { public static final int abc_fade_in=0x7f040000; public static final int abc_fade_out=0x7f040001; public static final int abc_slide_in_bottom=0x7f040002; public static final int abc_slide_in_top=0x7f040003; public static final int abc_slide_out_bottom=0x7f040004; public static final int abc_slide_out_top=0x7f040005; } public static final class attr { /** Custom divider drawable to use for elements in the action bar.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionBarDivider=0x7f01000f; /** Custom item state list drawable background for action bar items.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionBarItemBackground=0x7f010010; /** Size of the Action Bar, including the contextual bar used to present Action Modes.

Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int actionBarSize=0x7f01000e; /** Reference to a theme that should be used to inflate widgets and layouts destined for the action bar. Most of the time this will be a reference to the current theme, but when the action bar has a significantly different contrast profile than the rest of the activity the difference can become important. If this is set to @null the current theme will be used.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionBarSplitStyle=0x7f01000c; /** Reference to a style for the Action Bar

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionBarStyle=0x7f01000b; /**

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionBarTabBarStyle=0x7f010008; /** Default style for tabs within an action bar

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionBarTabStyle=0x7f010007; /**

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionBarTabTextStyle=0x7f010009; /** Reference to a theme that should be used to inflate widgets and layouts destined for the action bar. Most of the time this will be a reference to the current theme, but when the action bar has a significantly different contrast profile than the rest of the activity the difference can become important. If this is set to @null the current theme will be used.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionBarWidgetTheme=0x7f01000d; /** Default action button style.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionButtonStyle=0x7f010016; /** Default ActionBar dropdown style.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionDropDownStyle=0x7f010047; /** An optional layout to be used as an action view. See {@link android.view.MenuItem#setActionView(android.view.View)} for more info.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionLayout=0x7f01004e; /** TextAppearance style that will be applied to text that appears within action menu items.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionMenuTextAppearance=0x7f010011; /** Color for text that appears within action menu items.

May be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

May be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb". */ public static final int actionMenuTextColor=0x7f010012; /** Background drawable to use for action mode UI

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionModeBackground=0x7f01003c; /**

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionModeCloseButtonStyle=0x7f01003b; /** Drawable to use for the close action mode button

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionModeCloseDrawable=0x7f01003e; /** Drawable to use for the Copy action button in Contextual Action Bar

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionModeCopyDrawable=0x7f010040; /** Drawable to use for the Cut action button in Contextual Action Bar

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionModeCutDrawable=0x7f01003f; /** Drawable to use for the Find action button in WebView selection action modes

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionModeFindDrawable=0x7f010044; /** Drawable to use for the Paste action button in Contextual Action Bar

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionModePasteDrawable=0x7f010041; /** PopupWindow style to use for action modes when showing as a window overlay.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionModePopupWindowStyle=0x7f010046; /** Drawable to use for the Select all action button in Contextual Action Bar

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionModeSelectAllDrawable=0x7f010042; /** Drawable to use for the Share action button in WebView selection action modes

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionModeShareDrawable=0x7f010043; /** Background drawable to use for action mode UI in the lower split bar

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionModeSplitBackground=0x7f01003d; /**

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionModeStyle=0x7f01003a; /** Drawable to use for the Web Search action button in WebView selection action modes

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionModeWebSearchDrawable=0x7f010045; /**

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int actionOverflowButtonStyle=0x7f01000a; /** The name of an optional ActionProvider class to instantiate an action view and perform operations such as default action for that menu item. See {@link android.view.MenuItem#setActionProvider(android.view.ActionProvider)} for more info.

Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int actionProviderClass=0x7f010050; /** The name of an optional View class to instantiate and use as an action view. See {@link android.view.MenuItem#setActionView(android.view.View)} for more info.

Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int actionViewClass=0x7f01004f; /** Default ActivityChooserView style.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int activityChooserViewStyle=0x7f01006c; /** Specifies a background drawable for the action bar.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int background=0x7f01002f; /** Specifies a background drawable for the bottom component of a split action bar.

May be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

May be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb". */ public static final int backgroundSplit=0x7f010031; /** Specifies a background drawable for a second stacked row of the action bar.

May be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

May be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb". */ public static final int backgroundStacked=0x7f010030; /** A style that may be applied to Buttons placed within a LinearLayout with the style buttonBarStyle to form a button bar.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int buttonBarButtonStyle=0x7f010018; /** A style that may be applied to horizontal LinearLayouts to form a button bar.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int buttonBarStyle=0x7f010017; /** Specifies a layout for custom navigation. Overrides navigationMode.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int customNavigationLayout=0x7f010032; /** Whether this spinner should mark child views as enabled/disabled when the spinner itself is enabled/disabled.

Must be a boolean value, either "true" or "false".

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int disableChildrenWhenDisabled=0x7f010054; /** Options affecting how the action bar is displayed.

Must be one or more (separated by '|') of the following constant values.

ConstantValueDescription
useLogo0x1
showHome0x2
homeAsUp0x4
showTitle0x8
showCustom0x10
disableHome0x20
*/ public static final int displayOptions=0x7f010028; /** Specifies the drawable used for item dividers.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int divider=0x7f01002e; /** A drawable that may be used as a horizontal divider between visual elements.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int dividerHorizontal=0x7f01001b; /** Size of padding on either end of a divider.

Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int dividerPadding=0x7f010056; /** A drawable that may be used as a vertical divider between visual elements.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int dividerVertical=0x7f01001a; /** ListPopupWindow comaptibility

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int dropDownListViewStyle=0x7f010021; /** The preferred item height for dropdown lists.

Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int dropdownListPreferredItemHeight=0x7f010048; /** The drawable to show in the button for expanding the activities overflow popup. Note: Clients would like to set this drawable as a clue about the action the chosen activity will perform. For example, if share activity is to be chosen the drawable should give a clue that sharing is to be performed.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int expandActivityOverflowButtonDrawable=0x7f01006b; /**

Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int height=0x7f010026; /** Specifies a drawable to use for the 'home as up' indicator.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int homeAsUpIndicator=0x7f010013; /** Specifies a layout to use for the "home" section of the action bar.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int homeLayout=0x7f010033; /** Specifies the drawable used for the application icon.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int icon=0x7f01002c; /** The default state of the SearchView. If true, it will be iconified when not in use and expanded when clicked.

Must be a boolean value, either "true" or "false".

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int iconifiedByDefault=0x7f01005a; /** Specifies a style resource to use for an indeterminate progress spinner.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int indeterminateProgressStyle=0x7f010035; /** The maximal number of items initially shown in the activity list.

Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int initialActivityCount=0x7f01006a; /** Specifies whether the theme is light, otherwise it is dark.

Must be a boolean value, either "true" or "false".

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int isLightTheme=0x7f010059; /** Specifies padding that should be applied to the left and right sides of system-provided items in the bar.

Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int itemPadding=0x7f010037; /** Drawable used as a background for selected list items.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int listChoiceBackgroundIndicator=0x7f01004c; /**

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int listPopupWindowStyle=0x7f010022; /** The preferred list item height.

Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int listPreferredItemHeight=0x7f01001c; /** A larger, more robust list item height.

Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int listPreferredItemHeightLarge=0x7f01001e; /** A smaller, sleeker list item height.

Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int listPreferredItemHeightSmall=0x7f01001d; /** The preferred padding along the left edge of list items.

Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int listPreferredItemPaddingLeft=0x7f01001f; /** The preferred padding along the right edge of list items.

Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int listPreferredItemPaddingRight=0x7f010020; /** Specifies the drawable used for the application logo.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int logo=0x7f01002d; /** The type of navigation to use.

Must be one of the following constant values.

ConstantValueDescription
normal0 Normal static title text
listMode1 The action bar will use a selection list for navigation.
tabMode2 The action bar will use a series of horizontal tabs for navigation.
*/ public static final int navigationMode=0x7f010027; /** Sets the padding, in pixels, of the end edge; see {@link android.R.attr#padding}.

Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int paddingEnd=0x7f010039; /** Sets the padding, in pixels, of the start edge; see {@link android.R.attr#padding}.

Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int paddingStart=0x7f010038; /** Default Panel Menu style.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int panelMenuListTheme=0x7f01004b; /** Default Panel Menu width.

Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int panelMenuListWidth=0x7f01004a; /** Default PopupMenu style.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int popupMenuStyle=0x7f010049; /** Reference to a layout to use for displaying a prompt in the dropdown for spinnerMode="dropdown". This layout must contain a TextView with the id {@code @android:id/text1} to be populated with the prompt text.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int popupPromptView=0x7f010053; /** Specifies the horizontal padding on either end for an embedded progress bar.

Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int progressBarPadding=0x7f010036; /** Specifies a style resource to use for an embedded progress bar.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int progressBarStyle=0x7f010034; /** The prompt to display when the spinner's dialog is shown.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int prompt=0x7f010051; /** An optional query hint string to be displayed in the empty query field.

Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int queryHint=0x7f01005b; /** SearchView dropdown background

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int searchDropdownBackground=0x7f01005c; /** The list item height for search results. @hide

Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int searchResultListItemHeight=0x7f010065; /** SearchView AutoCompleteTextView style

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int searchViewAutoCompleteTextView=0x7f010069; /** SearchView close button icon

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int searchViewCloseIcon=0x7f01005d; /** SearchView query refinement icon

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int searchViewEditQuery=0x7f010061; /** SearchView query refinement icon background

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int searchViewEditQueryBackground=0x7f010062; /** SearchView Go button icon

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int searchViewGoIcon=0x7f01005e; /** SearchView Search icon

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int searchViewSearchIcon=0x7f01005f; /** SearchView text field background for the left section

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int searchViewTextField=0x7f010063; /** SearchView text field background for the right section

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int searchViewTextFieldRight=0x7f010064; /** SearchView Voice button icon

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int searchViewVoiceIcon=0x7f010060; /** A style that may be applied to buttons or other selectable items that should react to pressed and focus states, but that do not have a clear visual border along the edges.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int selectableItemBackground=0x7f010019; /** How this item should display in the Action Bar, if present.

Must be one or more (separated by '|') of the following constant values.

ConstantValueDescription
never0 Never show this item in an action bar, show it in the overflow menu instead. Mutually exclusive with "ifRoom" and "always".
ifRoom1 Show this item in an action bar if there is room for it as determined by the system. Favor this option over "always" where possible. Mutually exclusive with "never" and "always".
always2 Always show this item in an actionbar, even if it would override the system's limits of how much stuff to put there. This may make your action bar look bad on some screens. In most cases you should use "ifRoom" instead. Mutually exclusive with "ifRoom" and "never".
withText4 When this item is shown as an action in the action bar, show a text label with it even if it has an icon representation.
collapseActionView8 This item's action view collapses to a normal menu item. When expanded, the action view takes over a larger segment of its container.
*/ public static final int showAsAction=0x7f01004d; /** Setting for which dividers to show.

Must be one or more (separated by '|') of the following constant values.

ConstantValueDescription
none0
beginning1
middle2
end4
*/ public static final int showDividers=0x7f010055; /** Default Spinner style.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int spinnerDropDownItemStyle=0x7f010058; /** Display mode for spinner options.

Must be one of the following constant values.

ConstantValueDescription
dialog0 Spinner options will be presented to the user as a dialog window.
dropdown1 Spinner options will be presented to the user as an inline dropdown anchored to the spinner widget itself.
*/ public static final int spinnerMode=0x7f010052; /** Default Spinner style.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int spinnerStyle=0x7f010057; /** Specifies subtitle text used for navigationMode="normal"

Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int subtitle=0x7f010029; /** Specifies a style to use for subtitle text.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int subtitleTextStyle=0x7f01002b; /** Present the text in ALL CAPS. This may use a small-caps form when available.

May be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

May be a boolean value, either "true" or "false". */ public static final int textAllCaps=0x7f01006d; /** Text color, typeface, size, and style for the text inside of a popup menu.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int textAppearanceLargePopupMenu=0x7f010014; /** The preferred TextAppearance for the primary text of list items.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int textAppearanceListItem=0x7f010023; /** The preferred TextAppearance for the primary text of small list items.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int textAppearanceListItemSmall=0x7f010024; /** Text color, typeface, size, and style for system search result subtitle. Defaults to primary inverse text color.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int textAppearanceSearchResultSubtitle=0x7f010067; /** Text color, typeface, size, and style for system search result title. Defaults to primary inverse text color.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int textAppearanceSearchResultTitle=0x7f010066; /** Text color, typeface, size, and style for small text inside of a popup menu.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int textAppearanceSmallPopupMenu=0x7f010015; /** Text color for urls in search suggestions, used by things like global search

May be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

May be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb". */ public static final int textColorSearchUrl=0x7f010068; /**

Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int title=0x7f010025; /** Specifies a style to use for title text.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name". */ public static final int titleTextStyle=0x7f01002a; /**

Must be a boolean value, either "true" or "false".

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int windowActionBar=0x7f010000; /**

Must be a boolean value, either "true" or "false".

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int windowActionBarOverlay=0x7f010001; /** A fixed height for the window along the major axis of the screen, that is, when in portrait. Can be either an absolute dimension or a fraction of the screen size in that dimension.

May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

May be a fractional value, which is a floating point number appended with either % or %p, such as "14.5%". The % suffix always means a percentage of the base size; the optional %p suffix provides a size relative to some parent container.

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int windowFixedHeightMajor=0x7f010006; /** A fixed height for the window along the minor axis of the screen, that is, when in landscape. Can be either an absolute dimension or a fraction of the screen size in that dimension.

May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

May be a fractional value, which is a floating point number appended with either % or %p, such as "14.5%". The % suffix always means a percentage of the base size; the optional %p suffix provides a size relative to some parent container.

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int windowFixedHeightMinor=0x7f010004; /** A fixed width for the window along the major axis of the screen, that is, when in landscape. Can be either an absolute dimension or a fraction of the screen size in that dimension.

May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

May be a fractional value, which is a floating point number appended with either % or %p, such as "14.5%". The % suffix always means a percentage of the base size; the optional %p suffix provides a size relative to some parent container.

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int windowFixedWidthMajor=0x7f010003; /** A fixed width for the window along the minor axis of the screen, that is, when in portrait. Can be either an absolute dimension or a fraction of the screen size in that dimension.

May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

May be a fractional value, which is a floating point number appended with either % or %p, such as "14.5%". The % suffix always means a percentage of the base size; the optional %p suffix provides a size relative to some parent container.

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int windowFixedWidthMinor=0x7f010005; /**

Must be a boolean value, either "true" or "false".

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. */ public static final int windowSplitActionBar=0x7f010002; } public static final class bool { public static final int abc_action_bar_embed_tabs_pre_jb=0x7f050000; public static final int abc_action_bar_expanded_action_views_exclusive=0x7f050001; /** Whether action menu items should be displayed in ALLCAPS or not. Defaults to true. If this is not appropriate for specific locales it should be disabled in that locale's resources. */ public static final int abc_config_actionMenuItemAllCaps=0x7f050005; /** Whether action menu items should obey the "withText" showAsAction flag. This may be set to false for situations where space is extremely limited. Whether action menu items should obey the "withText" showAsAction. This may be set to false for situations where space is extremely limited. */ public static final int abc_config_allowActionMenuItemTextWithIcon=0x7f050004; public static final int abc_config_showMenuShortcutsWhenKeyboardPresent=0x7f050003; public static final int abc_split_action_bar_is_narrow=0x7f050002; } public static final class color { public static final int abc_search_url_text_holo=0x7f060003; public static final int abc_search_url_text_normal=0x7f060000; public static final int abc_search_url_text_pressed=0x7f060002; public static final int abc_search_url_text_selected=0x7f060001; } public static final class dimen { /** Default height of an action bar. Default height of an action bar. Default height of an action bar. Default height of an action bar. Default height of an action bar. */ public static final int abc_action_bar_default_height=0x7f070002; /** Vertical padding around action bar icons. Vertical padding around action bar icons. Vertical padding around action bar icons. Vertical padding around action bar icons. Vertical padding around action bar icons. */ public static final int abc_action_bar_icon_vertical_padding=0x7f070003; /** Size of the indeterminate Progress Bar Size of the indeterminate Progress Bar */ public static final int abc_action_bar_progress_bar_size=0x7f07000a; /** Maximum height for a stacked tab bar as part of an action bar */ public static final int abc_action_bar_stacked_max_height=0x7f070009; /** Maximum width for a stacked action bar tab. This prevents action bar tabs from becoming too wide on a wide screen when only a few are present. */ public static final int abc_action_bar_stacked_tab_max_width=0x7f070001; /** Bottom margin for action bar subtitles Bottom margin for action bar subtitles Bottom margin for action bar subtitles Bottom margin for action bar subtitles Bottom margin for action bar subtitles */ public static final int abc_action_bar_subtitle_bottom_margin=0x7f070007; /** Text size for action bar subtitles Text size for action bar subtitles Text size for action bar subtitles Text size for action bar subtitles Text size for action bar subtitles */ public static final int abc_action_bar_subtitle_text_size=0x7f070005; /** Top margin for action bar subtitles Top margin for action bar subtitles Top margin for action bar subtitles Top margin for action bar subtitles Top margin for action bar subtitles */ public static final int abc_action_bar_subtitle_top_margin=0x7f070006; /** Text size for action bar titles Text size for action bar titles Text size for action bar titles Text size for action bar titles Text size for action bar titles */ public static final int abc_action_bar_title_text_size=0x7f070004; /** Minimum width for an action button in the menu area of an action bar Minimum width for an action button in the menu area of an action bar Minimum width for an action button in the menu area of an action bar */ public static final int abc_action_button_min_width=0x7f070008; /** The maximum width we would prefer dialogs to be. 0 if there is no maximum (let them grow as large as the screen). Actual values are specified for -large and -xlarge configurations. see comment in values/config.xml see comment in values/config.xml */ public static final int abc_config_prefDialogWidth=0x7f070000; /** Width of the icon in a dropdown list */ public static final int abc_dropdownitem_icon_width=0x7f070010; /** Text padding for dropdown items */ public static final int abc_dropdownitem_text_padding_left=0x7f07000e; public static final int abc_dropdownitem_text_padding_right=0x7f07000f; public static final int abc_panel_menu_list_width=0x7f07000b; /** Preferred width of the search view. */ public static final int abc_search_view_preferred_width=0x7f07000d; /** Minimum width of the search view text entry area. Minimum width of the search view text entry area. Minimum width of the search view text entry area. Minimum width of the search view text entry area. */ public static final int abc_search_view_text_min_width=0x7f07000c; /** Default screen margins, per the Android Design guidelines. Example customization of dimensions originally defined in res/values/dimens.xml (such as screen margins) for screens with more than 820dp of available width. This would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). */ public static final int activity_horizontal_margin=0x7f070015; public static final int activity_vertical_margin=0x7f070016; /** The platform's desired fixed height for a dialog along the major axis (the screen is in portrait). This may be either a fraction or a dimension. The platform's desired fixed height for a dialog along the major axis (the screen is in portrait). This may be either a fraction or a dimension. The platform's desired fixed height for a dialog along the major axis (the screen is in portrait). This may be either a fraction or a dimension. */ public static final int dialog_fixed_height_major=0x7f070013; /** The platform's desired fixed height for a dialog along the minor axis (the screen is in landscape). This may be either a fraction or a dimension. The platform's desired fixed height for a dialog along the minor axis (the screen is in landscape). This may be either a fraction or a dimension. The platform's desired fixed height for a dialog along the minor axis (the screen is in landscape). This may be either a fraction or a dimension. */ public static final int dialog_fixed_height_minor=0x7f070014; /** The platform's desired fixed width for a dialog along the major axis (the screen is in landscape). This may be either a fraction or a dimension. The platform's desired fixed width for a dialog along the major axis (the screen is in landscape). This may be either a fraction or a dimension. The platform's desired fixed width for a dialog along the major axis (the screen is in landscape). This may be either a fraction or a dimension. */ public static final int dialog_fixed_width_major=0x7f070011; /** The platform's desired fixed width for a dialog along the minor axis (the screen is in portrait). This may be either a fraction or a dimension. The platform's desired fixed width for a dialog along the minor axis (the screen is in portrait). This may be either a fraction or a dimension. The platform's desired fixed width for a dialog along the minor axis (the screen is in portrait). This may be either a fraction or a dimension. */ public static final int dialog_fixed_width_minor=0x7f070012; } public static final class drawable { public static final int abc_ab_bottom_solid_dark_holo=0x7f020000; public static final int abc_ab_bottom_solid_light_holo=0x7f020001; public static final int abc_ab_bottom_transparent_dark_holo=0x7f020002; public static final int abc_ab_bottom_transparent_light_holo=0x7f020003; public static final int abc_ab_share_pack_holo_dark=0x7f020004; public static final int abc_ab_share_pack_holo_light=0x7f020005; public static final int abc_ab_solid_dark_holo=0x7f020006; public static final int abc_ab_solid_light_holo=0x7f020007; public static final int abc_ab_stacked_solid_dark_holo=0x7f020008; public static final int abc_ab_stacked_solid_light_holo=0x7f020009; public static final int abc_ab_stacked_transparent_dark_holo=0x7f02000a; public static final int abc_ab_stacked_transparent_light_holo=0x7f02000b; public static final int abc_ab_transparent_dark_holo=0x7f02000c; public static final int abc_ab_transparent_light_holo=0x7f02000d; public static final int abc_cab_background_bottom_holo_dark=0x7f02000e; public static final int abc_cab_background_bottom_holo_light=0x7f02000f; public static final int abc_cab_background_top_holo_dark=0x7f020010; public static final int abc_cab_background_top_holo_light=0x7f020011; public static final int abc_ic_ab_back_holo_dark=0x7f020012; public static final int abc_ic_ab_back_holo_light=0x7f020013; public static final int abc_ic_cab_done_holo_dark=0x7f020014; public static final int abc_ic_cab_done_holo_light=0x7f020015; public static final int abc_ic_clear=0x7f020016; public static final int abc_ic_clear_disabled=0x7f020017; public static final int abc_ic_clear_holo_light=0x7f020018; public static final int abc_ic_clear_normal=0x7f020019; public static final int abc_ic_clear_search_api_disabled_holo_light=0x7f02001a; public static final int abc_ic_clear_search_api_holo_light=0x7f02001b; public static final int abc_ic_commit_search_api_holo_dark=0x7f02001c; public static final int abc_ic_commit_search_api_holo_light=0x7f02001d; public static final int abc_ic_go=0x7f02001e; public static final int abc_ic_go_search_api_holo_light=0x7f02001f; public static final int abc_ic_menu_moreoverflow_normal_holo_dark=0x7f020020; public static final int abc_ic_menu_moreoverflow_normal_holo_light=0x7f020021; public static final int abc_ic_menu_share_holo_dark=0x7f020022; public static final int abc_ic_menu_share_holo_light=0x7f020023; public static final int abc_ic_search=0x7f020024; public static final int abc_ic_search_api_holo_light=0x7f020025; public static final int abc_ic_voice_search=0x7f020026; public static final int abc_ic_voice_search_api_holo_light=0x7f020027; public static final int abc_item_background_holo_dark=0x7f020028; public static final int abc_item_background_holo_light=0x7f020029; public static final int abc_list_divider_holo_dark=0x7f02002a; public static final int abc_list_divider_holo_light=0x7f02002b; public static final int abc_list_focused_holo=0x7f02002c; public static final int abc_list_longpressed_holo=0x7f02002d; public static final int abc_list_pressed_holo_dark=0x7f02002e; public static final int abc_list_pressed_holo_light=0x7f02002f; public static final int abc_list_selector_background_transition_holo_dark=0x7f020030; public static final int abc_list_selector_background_transition_holo_light=0x7f020031; public static final int abc_list_selector_disabled_holo_dark=0x7f020032; public static final int abc_list_selector_disabled_holo_light=0x7f020033; public static final int abc_list_selector_holo_dark=0x7f020034; public static final int abc_list_selector_holo_light=0x7f020035; public static final int abc_menu_dropdown_panel_holo_dark=0x7f020036; public static final int abc_menu_dropdown_panel_holo_light=0x7f020037; public static final int abc_menu_hardkey_panel_holo_dark=0x7f020038; public static final int abc_menu_hardkey_panel_holo_light=0x7f020039; public static final int abc_search_dropdown_dark=0x7f02003a; public static final int abc_search_dropdown_light=0x7f02003b; public static final int abc_spinner_ab_default_holo_dark=0x7f02003c; public static final int abc_spinner_ab_default_holo_light=0x7f02003d; public static final int abc_spinner_ab_disabled_holo_dark=0x7f02003e; public static final int abc_spinner_ab_disabled_holo_light=0x7f02003f; public static final int abc_spinner_ab_focused_holo_dark=0x7f020040; public static final int abc_spinner_ab_focused_holo_light=0x7f020041; public static final int abc_spinner_ab_holo_dark=0x7f020042; public static final int abc_spinner_ab_holo_light=0x7f020043; public static final int abc_spinner_ab_pressed_holo_dark=0x7f020044; public static final int abc_spinner_ab_pressed_holo_light=0x7f020045; public static final int abc_tab_indicator_ab_holo=0x7f020046; public static final int abc_tab_selected_focused_holo=0x7f020047; public static final int abc_tab_selected_holo=0x7f020048; public static final int abc_tab_selected_pressed_holo=0x7f020049; public static final int abc_tab_unselected_pressed_holo=0x7f02004a; public static final int abc_textfield_search_default_holo_dark=0x7f02004b; public static final int abc_textfield_search_default_holo_light=0x7f02004c; public static final int abc_textfield_search_right_default_holo_dark=0x7f02004d; public static final int abc_textfield_search_right_default_holo_light=0x7f02004e; public static final int abc_textfield_search_right_selected_holo_dark=0x7f02004f; public static final int abc_textfield_search_right_selected_holo_light=0x7f020050; public static final int abc_textfield_search_selected_holo_dark=0x7f020051; public static final int abc_textfield_search_selected_holo_light=0x7f020052; public static final int abc_textfield_searchview_holo_dark=0x7f020053; public static final int abc_textfield_searchview_holo_light=0x7f020054; public static final int abc_textfield_searchview_right_holo_dark=0x7f020055; public static final int abc_textfield_searchview_right_holo_light=0x7f020056; public static final int duck=0x7f020057; public static final int emo_amazed=0x7f020058; public static final int emo_angel=0x7f020059; public static final int emo_angry=0x7f02005a; public static final int emo_beaten=0x7f02005b; public static final int emo_bored=0x7f02005c; public static final int emo_clown=0x7f02005d; public static final int emo_confused=0x7f02005e; public static final int emo_cool=0x7f02005f; public static final int emo_cry=0x7f020060; public static final int emo_devil=0x7f020061; public static final int emo_doubtful=0x7f020062; public static final int emo_emo=0x7f020063; public static final int emo_frozen=0x7f020064; public static final int emo_grin=0x7f020065; public static final int emo_indian=0x7f020066; public static final int emo_karate=0x7f020067; public static final int emo_kiss=0x7f020068; public static final int emo_laugh=0x7f020069; public static final int emo_love=0x7f02006a; public static final int emo_millionaire=0x7f02006b; public static final int emo_nerd=0x7f02006c; public static final int emo_ninja=0x7f02006d; public static final int emo_party=0x7f02006e; public static final int emo_pirate=0x7f02006f; public static final int emo_punk=0x7f020070; public static final int emo_sad=0x7f020071; public static final int emo_santa=0x7f020072; public static final int emo_shy=0x7f020073; public static final int emo_sick=0x7f020074; public static final int emo_smile=0x7f020075; public static final int emo_speechless=0x7f020076; public static final int emo_sweating=0x7f020077; public static final int emo_tongue=0x7f020078; public static final int emo_vampire=0x7f020079; public static final int emo_wacky=0x7f02007a; public static final int emo_wink=0x7f02007b; public static final int ic_film=0x7f02007c; public static final int ic_launcher=0x7f02007d; public static final int iconfont_theme=0x7f02007e; public static final int iconfont_yuyan=0x7f02007f; public static final int iconfont_zitibianji=0x7f020080; } public static final class id { public static final int abap4=0x7f09004e; public static final int abc=0x7f09004f; public static final int abnf=0x7f090050; public static final int aboutTextView3=0x7f090045; public static final int aboutTextView5=0x7f090046; public static final int acid=0x7f09010e; public static final int action_about=0x7f090162; public static final int action_bar=0x7f09001c; public static final int action_bar_activity_content=0x7f090001; public static final int action_bar_container=0x7f09001b; public static final int action_bar_overlay_layout=0x7f09001f; public static final int action_bar_root=0x7f09001a; public static final int action_bar_subtitle=0x7f090023; public static final int action_bar_title=0x7f090022; public static final int action_context_bar=0x7f09001d; public static final int action_lang=0x7f09004a; public static final int action_menu_divider=0x7f090002; public static final int action_menu_presenter=0x7f090003; public static final int action_mode_close_button=0x7f090024; public static final int action_settings=0x7f090049; public static final int action_theme=0x7f090109; public static final int actionscript=0x7f090051; public static final int activity_chooser_view_content=0x7f090025; public static final int ada=0x7f090052; public static final int agda=0x7f090053; public static final int aiseered=0x7f09010f; public static final int algol=0x7f090054; public static final int always=0x7f09000f; public static final int ampl=0x7f090055; public static final int amtrix=0x7f090056; public static final int andes=0x7f090110; public static final int anotherdark=0x7f090111; public static final int applescript=0x7f090057; public static final int arc=0x7f090058; public static final int arm=0x7f090059; public static final int as400cl=0x7f09005a; public static final int ascend=0x7f09005b; public static final int asp=0x7f09005c; public static final int aspect=0x7f09005d; public static final int assembler=0x7f09005e; public static final int ats=0x7f09005f; public static final int autohotkey=0x7f090060; public static final int autoit=0x7f090061; public static final int autumn=0x7f090112; public static final int avenue=0x7f090062; public static final int awk=0x7f090063; public static final int bat=0x7f090064; public static final int baycomb=0x7f090113; public static final int bbcode=0x7f090065; public static final int bclear=0x7f090114; public static final int bcpl=0x7f090066; public static final int beginning=0x7f090016; public static final int bibtex=0x7f090067; public static final int biferno=0x7f090068; public static final int biogoo=0x7f090115; public static final int bipolar=0x7f090116; public static final int bison=0x7f090069; public static final int blacknblue=0x7f090117; public static final int blitzbasic=0x7f09006a; public static final int bluegreen=0x7f090118; public static final int bms=0x7f09006b; public static final int bnf=0x7f09006c; public static final int boo=0x7f09006d; public static final int breeze=0x7f090119; public static final int bright=0x7f09011a; public static final int c=0x7f09004b; public static final int camo=0x7f09011b; public static final int candy=0x7f09011c; public static final int ceylon=0x7f09006e; public static final int charmm=0x7f09006f; public static final int checkbox=0x7f09002d; public static final int chill=0x7f090070; public static final int clarity=0x7f09011d; public static final int clean=0x7f090071; public static final int clearbasic=0x7f090072; public static final int clipper=0x7f090073; public static final int clojure=0x7f090074; public static final int clp=0x7f090075; public static final int cobol=0x7f090076; public static final int coldfusion=0x7f090077; public static final int collapseActionView=0x7f090010; public static final int conf=0x7f090078; public static final int crk=0x7f090079; public static final int csharp=0x7f09007a; public static final int css=0x7f09007b; public static final int d=0x7f09007c; public static final int dante=0x7f09011e; public static final int darkblue=0x7f09011f; public static final int darkbone=0x7f090120; public static final int darkness=0x7f090121; public static final int darkslategray=0x7f090122; public static final int darkspectrum=0x7f090123; public static final int dart=0x7f09007d; public static final int default_activity_button=0x7f090028; public static final int denim=0x7f090124; public static final int dialog=0x7f090014; public static final int diff=0x7f09007e; public static final int disableHome=0x7f090009; public static final int dropdown=0x7f090015; public static final int dusk=0x7f090125; public static final int dylan=0x7f09007f; public static final int earendel=0x7f090126; public static final int easter=0x7f090127; public static final int ebnf=0x7f090080; public static final int edit_anjuta=0x7f090128; public static final int edit_eclipse=0x7f090129; public static final int edit_emacs=0x7f09012a; public static final int edit_flashdevelop=0x7f09012b; public static final int edit_gedit=0x7f09012c; public static final int edit_jedit=0x7f09012d; public static final int edit_kwrite=0x7f09012e; public static final int edit_matlab=0x7f09012f; public static final int edit_msvs2008=0x7f090130; public static final int edit_nedit=0x7f090131; public static final int edit_query=0x7f090030; public static final int edit_vim=0x7f090133; public static final int edit_vim_dark=0x7f090132; public static final int edit_xcode=0x7f090134; public static final int eiffel=0x7f090081; public static final int ekvoli=0x7f090135; public static final int end=0x7f090017; public static final int erlang=0x7f090082; public static final int euphoria=0x7f090083; public static final int expand_activities_button=0x7f090026; public static final int expanded_menu=0x7f09002c; public static final int express=0x7f090084; public static final int fame=0x7f090085; public static final int felix=0x7f090086; public static final int field_app_name=0x7f09003f; public static final int field_version=0x7f090040; public static final int fine_blue=0x7f09010b; public static final int font10=0x7f09015d; public static final int font12=0x7f09015e; public static final int font14=0x7f09015f; public static final int font16=0x7f090160; public static final int font18=0x7f090161; public static final int font_default=0x7f09015c; public static final int fortran77=0x7f090087; public static final int fortran90=0x7f090088; public static final int freya=0x7f090136; public static final int frink=0x7f090089; public static final int fruit=0x7f090137; public static final int fsharp=0x7f09008a; public static final int fx=0x7f09008b; public static final int gambas=0x7f09008c; public static final int gdb=0x7f09008d; public static final int go=0x7f09008e; public static final int golden=0x7f090138; public static final int graphviz=0x7f09008f; public static final int greenlcd=0x7f090139; public static final int haskell=0x7f090090; public static final int haxe=0x7f090091; public static final int hcl=0x7f090092; public static final int home=0x7f090000; public static final int homeAsUp=0x7f09000a; public static final int html=0x7f090093; public static final int httpd=0x7f090094; public static final int icon=0x7f09002a; public static final int idl=0x7f090095; public static final int idlang=0x7f090096; public static final int ifRoom=0x7f090011; public static final int image=0x7f090027; public static final int imageView1=0x7f09003d; public static final int inc_luatex=0x7f090097; public static final int informix=0x7f090098; public static final int ini=0x7f090099; public static final int innosetup=0x7f09009a; public static final int interlis=0x7f09009b; public static final int io=0x7f09009c; public static final int jasmin=0x7f09009d; public static final int java=0x7f09009e; public static final int js=0x7f09009f; public static final int jsp=0x7f0900a0; public static final int kellys=0x7f09013a; public static final int ldif=0x7f0900a1; public static final int leo=0x7f09013b; public static final int less=0x7f0900a2; public static final int lhs=0x7f0900a3; public static final int lilypond=0x7f0900a4; public static final int limbo=0x7f0900a5; public static final int lindenscript=0x7f0900a6; public static final int linearLayout1=0x7f09003c; public static final int linearLayout2=0x7f09003e; public static final int linearLayout3=0x7f090041; public static final int lisp=0x7f09004c; public static final int listMode=0x7f090006; public static final int list_item=0x7f090029; public static final int logtalk=0x7f0900a7; public static final int lotos=0x7f0900a8; public static final int lotus=0x7f0900a9; public static final int lua=0x7f0900aa; public static final int luban=0x7f0900ab; public static final int lucretia=0x7f09013c; public static final int make=0x7f0900ac; public static final int manxome=0x7f09013d; public static final int maple=0x7f0900ad; public static final int maroloccio=0x7f09013e; public static final int matlab=0x7f0900ae; public static final int matrix=0x7f09013f; public static final int maya=0x7f0900af; public static final int mercury=0x7f0900b0; public static final int middle=0x7f090018; public static final int miranda=0x7f0900b1; public static final int mod2=0x7f0900b2; public static final int mod3=0x7f0900b3; public static final int modelica=0x7f0900b4; public static final int moe=0x7f090140; public static final int molokai=0x7f09010a; public static final int moon=0x7f0900b5; public static final int moria=0x7f090141; public static final int ms=0x7f0900b6; public static final int mssql=0x7f0900b7; public static final int mxml=0x7f0900b8; public static final int n3=0x7f0900b9; public static final int nasal=0x7f0900ba; public static final int navajo_night=0x7f090142; public static final int navy=0x7f090143; public static final int nbc=0x7f0900bb; public static final int nemerle=0x7f0900bc; public static final int neon=0x7f090144; public static final int netrexx=0x7f0900bd; public static final int never=0x7f090012; public static final int nice=0x7f0900be; public static final int night=0x7f090145; public static final int nightshimmer=0x7f090146; public static final int none=0x7f090019; public static final int normal=0x7f090007; public static final int nsis=0x7f0900bf; public static final int nuvola=0x7f090147; public static final int nxc=0x7f0900c0; public static final int oberon=0x7f0900c1; public static final int objc=0x7f0900c2; public static final int ocaml=0x7f0900c3; public static final int octave=0x7f0900c4; public static final int olive=0x7f090148; public static final int oorexx=0x7f0900c5; public static final int orion=0x7f090149; public static final int os=0x7f0900c6; public static final int oxygenated=0x7f09014a; public static final int oz=0x7f0900c7; public static final int pablo=0x7f09014b; public static final int paradox=0x7f0900c8; public static final int pas=0x7f0900c9; public static final int pdf=0x7f0900ca; public static final int peaksea=0x7f09014c; public static final int perl=0x7f0900cb; public static final int php=0x7f0900cc; public static final int pike=0x7f0900cd; public static final int pl1=0x7f0900ce; public static final int plperl=0x7f0900cf; public static final int plpython=0x7f0900d0; public static final int pltcl=0x7f0900d1; public static final int pov=0x7f0900d2; public static final int print=0x7f09014d; public static final int pro=0x7f0900d3; public static final int progress=0x7f0900d4; public static final int progress_circular=0x7f090004; public static final int progress_horizontal=0x7f090005; public static final int ps=0x7f0900d5; public static final int ps1=0x7f0900d6; public static final int psl=0x7f0900d7; public static final int pure=0x7f0900d8; public static final int pyrex=0x7f0900d9; public static final int python=0x7f09004d; public static final int q=0x7f0900da; public static final int qmake=0x7f0900db; public static final int qml=0x7f0900dc; public static final int qu=0x7f0900dd; public static final int r=0x7f0900de; public static final int radio=0x7f09002f; public static final int rand01=0x7f09014e; public static final int rdark=0x7f09014f; public static final int rebol=0x7f0900df; public static final int relaxedgreen=0x7f090150; public static final int rexx=0x7f0900e0; public static final int rnc=0x7f0900e1; public static final int rootwater=0x7f090151; public static final int rpg=0x7f0900e2; public static final int rpl=0x7f0900e3; public static final int rs=0x7f0900e4; public static final int ruby=0x7f0900e5; public static final int s=0x7f0900e6; public static final int sas=0x7f0900e7; public static final int scala=0x7f0900e8; public static final int scilab=0x7f0900e9; public static final int scss=0x7f0900ea; public static final int search_badge=0x7f090032; public static final int search_bar=0x7f090031; public static final int search_button=0x7f090033; public static final int search_close_btn=0x7f090038; public static final int search_edit_frame=0x7f090034; public static final int search_go_btn=0x7f09003a; public static final int search_mag_icon=0x7f090035; public static final int search_plate=0x7f090036; public static final int search_src_text=0x7f090037; public static final int search_voice_btn=0x7f09003b; public static final int seashell=0x7f090152; public static final int sh=0x7f0900eb; public static final int shortcut=0x7f09002e; public static final int showCustom=0x7f09000b; public static final int showHome=0x7f09000c; public static final int showTitle=0x7f09000d; public static final int small=0x7f0900ec; public static final int smalltalk=0x7f0900ed; public static final int sml=0x7f0900ee; public static final int snmp=0x7f0900ef; public static final int snobol=0x7f0900f0; public static final int solarized_dark=0x7f090153; public static final int solarized_light=0x7f09010d; public static final int spec=0x7f0900f1; public static final int split_action_bar=0x7f09001e; public static final int spn=0x7f0900f2; public static final int sql=0x7f0900f3; public static final int squirrel=0x7f0900f4; public static final int styl=0x7f0900f5; public static final int submit_area=0x7f090039; public static final int swift=0x7f0900f6; public static final int sybase=0x7f0900f7; public static final int tabMode=0x7f090008; public static final int tabula=0x7f090154; public static final int tcl=0x7f0900f8; public static final int tcsh=0x7f0900f9; public static final int tcsoft=0x7f090155; public static final int tex=0x7f0900fa; public static final int textView1=0x7f090042; public static final int textView2=0x7f090043; public static final int textView3=0x7f090044; public static final int textView5=0x7f090047; public static final int textView6=0x7f090048; public static final int the=0x7f090156; public static final int title=0x7f09002b; public static final int top_action_bar=0x7f090020; public static final int ts=0x7f0900fb; public static final int tsql=0x7f0900fc; public static final int ttcn3=0x7f0900fd; public static final int txt=0x7f0900fe; public static final int up=0x7f090021; public static final int upc=0x7f0900ff; public static final int useLogo=0x7f09000e; public static final int vala=0x7f090100; public static final int vampire=0x7f09010c; public static final int vb=0x7f090101; public static final int verilog=0x7f090102; public static final int vhd=0x7f090103; public static final int whitengrey=0x7f090157; public static final int withText=0x7f090013; public static final int xml=0x7f090104; public static final int xoria256=0x7f090158; public static final int xpp=0x7f090105; public static final int yaiff=0x7f090106; public static final int yang=0x7f090107; public static final int zellner=0x7f090159; public static final int zenburn=0x7f09015a; public static final int zmrok=0x7f09015b; public static final int znn=0x7f090108; } public static final class integer { /** The maximum number of action buttons that should be permitted within an action bar/action mode. This will be used to determine how many showAsAction="ifRoom" items can fit. "always" items can override this. The maximum number of action buttons that should be permitted within an action bar/action mode. This will be used to determine how many showAsAction="ifRoom" items can fit. "always" items can override this. The maximum number of action buttons that should be permitted within an action bar/action mode. This will be used to determine how many showAsAction="ifRoom" items can fit. "always" items can override this. The maximum number of action buttons that should be permitted within an action bar/action mode. This will be used to determine how many showAsAction="ifRoom" items can fit. "always" items can override this. The maximum number of action buttons that should be permitted within an action bar/action mode. This will be used to determine how many showAsAction="ifRoom" items can fit. "always" items can override this. The maximum number of action buttons that should be permitted within an action bar/action mode. This will be used to determine how many showAsAction="ifRoom" items can fit. "always" items can override this. The maximum number of action buttons that should be permitted within an action bar/action mode. This will be used to determine how many showAsAction="ifRoom" items can fit. "always" items can override this. */ public static final int abc_max_action_buttons=0x7f080000; } public static final class layout { public static final int abc_action_bar_decor=0x7f030000; public static final int abc_action_bar_decor_include=0x7f030001; public static final int abc_action_bar_decor_overlay=0x7f030002; public static final int abc_action_bar_home=0x7f030003; public static final int abc_action_bar_tab=0x7f030004; public static final int abc_action_bar_tabbar=0x7f030005; public static final int abc_action_bar_title_item=0x7f030006; public static final int abc_action_bar_view_list_nav_layout=0x7f030007; public static final int abc_action_menu_item_layout=0x7f030008; public static final int abc_action_menu_layout=0x7f030009; public static final int abc_action_mode_bar=0x7f03000a; public static final int abc_action_mode_close_item=0x7f03000b; public static final int abc_activity_chooser_view=0x7f03000c; public static final int abc_activity_chooser_view_include=0x7f03000d; public static final int abc_activity_chooser_view_list_item=0x7f03000e; public static final int abc_expanded_menu_layout=0x7f03000f; public static final int abc_list_menu_item_checkbox=0x7f030010; public static final int abc_list_menu_item_icon=0x7f030011; public static final int abc_list_menu_item_layout=0x7f030012; public static final int abc_list_menu_item_radio=0x7f030013; public static final int abc_popup_menu_item_layout=0x7f030014; public static final int abc_search_dropdown_item_icons_2line=0x7f030015; public static final int abc_search_view=0x7f030016; public static final int abc_simple_decor=0x7f030017; public static final int about=0x7f030018; public static final int activity_main=0x7f030019; public static final int support_simple_spinner_dropdown_item=0x7f03001a; } public static final class menu { public static final int main=0x7f0c0000; public static final int mymenu=0x7f0c0001; } public static final class string { /** Content description for the action bar "home" affordance. [CHAR LIMIT=NONE] */ public static final int abc_action_bar_home_description=0x7f0a0001; /** Content description for the action bar "up" affordance. [CHAR LIMIT=NONE] */ public static final int abc_action_bar_up_description=0x7f0a0002; /** Content description for the action menu overflow button. [CHAR LIMIT=NONE] */ public static final int abc_action_menu_overflow_description=0x7f0a0003; /** Label for the "Done" button on the far left of action mode toolbars. */ public static final int abc_action_mode_done=0x7f0a0000; /** Title for a button to expand the list of activities in ActivityChooserView [CHAR LIMIT=25] */ public static final int abc_activity_chooser_view_see_all=0x7f0a000a; /** ActivityChooserView - accessibility support Description of the shwoing of a popup window with activities to choose from. [CHAR LIMIT=NONE] */ public static final int abc_activitychooserview_choose_application=0x7f0a0009; /** SearchView accessibility description for clear button [CHAR LIMIT=NONE] */ public static final int abc_searchview_description_clear=0x7f0a0006; /** SearchView accessibility description for search text field [CHAR LIMIT=NONE] */ public static final int abc_searchview_description_query=0x7f0a0005; /** SearchView accessibility description for search button [CHAR LIMIT=NONE] */ public static final int abc_searchview_description_search=0x7f0a0004; /** SearchView accessibility description for submit button [CHAR LIMIT=NONE] */ public static final int abc_searchview_description_submit=0x7f0a0007; /** SearchView accessibility description for voice button [CHAR LIMIT=NONE] */ public static final int abc_searchview_description_voice=0x7f0a0008; /** Description of the choose target button in a ShareActionProvider (share UI). [CHAR LIMIT=NONE] */ public static final int abc_shareactionprovider_share_with=0x7f0a000c; /** Description of a share target (both in the list of such or the default share button) in a ShareActionProvider (share UI). [CHAR LIMIT=NONE] */ public static final int abc_shareactionprovider_share_with_application=0x7f0a000b; public static final int about=0x7f0a001a; public static final int action_settings=0x7f0a000f; public static final int app_name=0x7f0a000d; public static final int extract=0x7f0a0010; public static final int extract_error=0x7f0a0012; public static final int extract_finish=0x7f0a0011; public static final int field_license=0x7f0a0019; public static final int hello_world=0x7f0a000e; public static final int label_author=0x7f0a0014; public static final int label_email=0x7f0a0015; public static final int label_homepage=0x7f0a0016; public static final int label_license=0x7f0a0017; public static final int label_qq_group=0x7f0a0018; public static final int label_version=0x7f0a0013; public static final int myemail=0x7f0a001d; public static final int myhomepage=0x7f0a001e; public static final int myname=0x7f0a001b; public static final int qq_group=0x7f0a001c; } public static final class style { /** Base application theme, dependent on API level. This theme is replaced by AppBaseTheme from res/values-vXX/styles.xml on newer devices. Theme customizations available in newer API levels can go in res/values-vXX/styles.xml, while customizations related to backward-compatibility can go here. Base application theme for API 11+. This theme completely replaces AppBaseTheme from res/values/styles.xml on API 11+ devices. API 11 theme customizations can go here. Base application theme for API 14+. This theme completely replaces AppBaseTheme from BOTH res/values/styles.xml and res/values-v11/styles.xml on API 14+ devices. API 14 theme customizations can go here. */ public static final int AppBaseTheme=0x7f0b008b; /** Application theme. All customizations that are NOT specific to a particular API-level can go here. */ public static final int AppTheme=0x7f0b008c; /** Mimic text appearance in select_dialog_item.xml */ public static final int TextAppearance_AppCompat_Base_CompactMenu_Dialog=0x7f0b0063; public static final int TextAppearance_AppCompat_Base_SearchResult=0x7f0b006d; public static final int TextAppearance_AppCompat_Base_SearchResult_Subtitle=0x7f0b006f; /** Search View result styles */ public static final int TextAppearance_AppCompat_Base_SearchResult_Title=0x7f0b006e; public static final int TextAppearance_AppCompat_Base_Widget_PopupMenu_Large=0x7f0b0069; public static final int TextAppearance_AppCompat_Base_Widget_PopupMenu_Small=0x7f0b006a; public static final int TextAppearance_AppCompat_Light_Base_SearchResult=0x7f0b0070; public static final int TextAppearance_AppCompat_Light_Base_SearchResult_Subtitle=0x7f0b0072; /** TextAppearance.Holo.Light.SearchResult.* are private so we extend from the default versions instead (which are exactly the same). */ public static final int TextAppearance_AppCompat_Light_Base_SearchResult_Title=0x7f0b0071; public static final int TextAppearance_AppCompat_Light_Base_Widget_PopupMenu_Large=0x7f0b006b; public static final int TextAppearance_AppCompat_Light_Base_Widget_PopupMenu_Small=0x7f0b006c; public static final int TextAppearance_AppCompat_Light_SearchResult_Subtitle=0x7f0b0035; public static final int TextAppearance_AppCompat_Light_SearchResult_Title=0x7f0b0034; public static final int TextAppearance_AppCompat_Light_Widget_PopupMenu_Large=0x7f0b0030; public static final int TextAppearance_AppCompat_Light_Widget_PopupMenu_Small=0x7f0b0031; public static final int TextAppearance_AppCompat_SearchResult_Subtitle=0x7f0b0033; public static final int TextAppearance_AppCompat_SearchResult_Title=0x7f0b0032; public static final int TextAppearance_AppCompat_Widget_ActionBar_Menu=0x7f0b001a; public static final int TextAppearance_AppCompat_Widget_ActionBar_Subtitle=0x7f0b0006; public static final int TextAppearance_AppCompat_Widget_ActionBar_Subtitle_Inverse=0x7f0b0008; public static final int TextAppearance_AppCompat_Widget_ActionBar_Title=0x7f0b0005; public static final int TextAppearance_AppCompat_Widget_ActionBar_Title_Inverse=0x7f0b0007; public static final int TextAppearance_AppCompat_Widget_ActionMode_Subtitle=0x7f0b001e; public static final int TextAppearance_AppCompat_Widget_ActionMode_Subtitle_Inverse=0x7f0b0020; public static final int TextAppearance_AppCompat_Widget_ActionMode_Title=0x7f0b001d; public static final int TextAppearance_AppCompat_Widget_ActionMode_Title_Inverse=0x7f0b001f; public static final int TextAppearance_AppCompat_Widget_Base_ActionBar_Menu=0x7f0b0054; public static final int TextAppearance_AppCompat_Widget_Base_ActionBar_Subtitle=0x7f0b0056; public static final int TextAppearance_AppCompat_Widget_Base_ActionBar_Subtitle_Inverse=0x7f0b0058; public static final int TextAppearance_AppCompat_Widget_Base_ActionBar_Title=0x7f0b0055; public static final int TextAppearance_AppCompat_Widget_Base_ActionBar_Title_Inverse=0x7f0b0057; public static final int TextAppearance_AppCompat_Widget_Base_ActionMode_Subtitle=0x7f0b0051; public static final int TextAppearance_AppCompat_Widget_Base_ActionMode_Subtitle_Inverse=0x7f0b0053; public static final int TextAppearance_AppCompat_Widget_Base_ActionMode_Title=0x7f0b0050; public static final int TextAppearance_AppCompat_Widget_Base_ActionMode_Title_Inverse=0x7f0b0052; public static final int TextAppearance_AppCompat_Widget_Base_DropDownItem=0x7f0b0061; public static final int TextAppearance_AppCompat_Widget_DropDownItem=0x7f0b0021; public static final int TextAppearance_AppCompat_Widget_PopupMenu_Large=0x7f0b002e; public static final int TextAppearance_AppCompat_Widget_PopupMenu_Small=0x7f0b002f; public static final int TextAppearance_Widget_AppCompat_Base_ExpandedMenu_Item=0x7f0b0062; public static final int TextAppearance_Widget_AppCompat_ExpandedMenu_Item=0x7f0b0028; /** Themes in the "Theme.AppCompat" family will contain an action bar by default. If Holo themes are available on the current platform version they will be used. A limited Holo-styled action bar will be provided on platform versions older than 3.0. (API 11) These theme declarations contain any version-independent specification. Items that need to vary based on platform version should be defined in the corresponding "Theme.Base" theme. Platform-independent theme providing an action bar in a dark-themed activity. */ public static final int Theme_AppCompat=0x7f0b0077; /** Menu/item attributes */ public static final int Theme_AppCompat_Base_CompactMenu=0x7f0b0083; public static final int Theme_AppCompat_Base_CompactMenu_Dialog=0x7f0b0084; /** Menu/item attributes */ public static final int Theme_AppCompat_CompactMenu=0x7f0b007c; public static final int Theme_AppCompat_CompactMenu_Dialog=0x7f0b007d; public static final int Theme_AppCompat_DialogWhenLarge=0x7f0b007a; /** Platform-independent theme providing an action bar in a light-themed activity. */ public static final int Theme_AppCompat_Light=0x7f0b0078; /** Platform-independent theme providing an action bar in a dark-themed activity. */ public static final int Theme_AppCompat_Light_DarkActionBar=0x7f0b0079; public static final int Theme_AppCompat_Light_DialogWhenLarge=0x7f0b007b; /** Base platform-dependent theme */ public static final int Theme_Base=0x7f0b007e; /** Base platform-dependent theme providing an action bar in a dark-themed activity. Base platform-dependent theme providing an action bar in a dark-themed activity. */ public static final int Theme_Base_AppCompat=0x7f0b0080; public static final int Theme_Base_AppCompat_Dialog_FixedSize=0x7f0b0087; public static final int Theme_Base_AppCompat_Dialog_Light_FixedSize=0x7f0b0088; public static final int Theme_Base_AppCompat_DialogWhenLarge=0x7f0b0085; /** As we have defined the theme in values-large (for compat) and values-large takes precedence over values-v14, we need to reset back to the Holo parent in values-large-v14. As the themes in values-v14 & values-large-v14 are exactly the same, these "double base" themes can be inherited from in both values-v14 and values-large-v14. */ public static final int Theme_Base_AppCompat_DialogWhenLarge_Base=0x7f0b0089; /** Base platform-dependent theme providing an action bar in a light-themed activity. Base platform-dependent theme providing an action bar in a light-themed activity. */ public static final int Theme_Base_AppCompat_Light=0x7f0b0081; /** Base platform-dependent theme providing a dark action bar in a light-themed activity. Base platform-dependent theme providing a dark action bar in a light-themed activity. */ public static final int Theme_Base_AppCompat_Light_DarkActionBar=0x7f0b0082; public static final int Theme_Base_AppCompat_Light_DialogWhenLarge=0x7f0b0086; public static final int Theme_Base_AppCompat_Light_DialogWhenLarge_Base=0x7f0b008a; /** Base platform-dependent theme providing a light-themed activity. */ public static final int Theme_Base_Light=0x7f0b007f; /** Styles in here can be extended for customisation in your application. Each utilises one of the Base styles. If Holo themes are available on the current platform version they will be used instead of the compat styles. */ public static final int Widget_AppCompat_ActionBar=0x7f0b0000; public static final int Widget_AppCompat_ActionBar_Solid=0x7f0b0002; public static final int Widget_AppCompat_ActionBar_TabBar=0x7f0b0011; public static final int Widget_AppCompat_ActionBar_TabText=0x7f0b0017; public static final int Widget_AppCompat_ActionBar_TabView=0x7f0b0014; public static final int Widget_AppCompat_ActionButton=0x7f0b000b; public static final int Widget_AppCompat_ActionButton_CloseMode=0x7f0b000d; public static final int Widget_AppCompat_ActionButton_Overflow=0x7f0b000f; public static final int Widget_AppCompat_ActionMode=0x7f0b001b; public static final int Widget_AppCompat_ActivityChooserView=0x7f0b0038; public static final int Widget_AppCompat_AutoCompleteTextView=0x7f0b0036; public static final int Widget_AppCompat_Base_ActionBar=0x7f0b003a; public static final int Widget_AppCompat_Base_ActionBar_Solid=0x7f0b003c; public static final int Widget_AppCompat_Base_ActionBar_TabBar=0x7f0b0045; public static final int Widget_AppCompat_Base_ActionBar_TabText=0x7f0b004b; public static final int Widget_AppCompat_Base_ActionBar_TabView=0x7f0b0048; /** Action Button Styles */ public static final int Widget_AppCompat_Base_ActionButton=0x7f0b003f; public static final int Widget_AppCompat_Base_ActionButton_CloseMode=0x7f0b0041; public static final int Widget_AppCompat_Base_ActionButton_Overflow=0x7f0b0043; public static final int Widget_AppCompat_Base_ActionMode=0x7f0b004e; public static final int Widget_AppCompat_Base_ActivityChooserView=0x7f0b0075; /** AutoCompleteTextView styles (for SearchView) */ public static final int Widget_AppCompat_Base_AutoCompleteTextView=0x7f0b0073; public static final int Widget_AppCompat_Base_DropDownItem_Spinner=0x7f0b005d; /** Popup Menu */ public static final int Widget_AppCompat_Base_ListPopupWindow=0x7f0b0065; /** Spinner Widgets */ public static final int Widget_AppCompat_Base_ListView_DropDown=0x7f0b005f; public static final int Widget_AppCompat_Base_ListView_Menu=0x7f0b0064; public static final int Widget_AppCompat_Base_PopupMenu=0x7f0b0067; public static final int Widget_AppCompat_Base_ProgressBar=0x7f0b005a; /** Progress Bar */ public static final int Widget_AppCompat_Base_ProgressBar_Horizontal=0x7f0b0059; /** Action Bar Spinner Widgets */ public static final int Widget_AppCompat_Base_Spinner=0x7f0b005b; public static final int Widget_AppCompat_DropDownItem_Spinner=0x7f0b0024; public static final int Widget_AppCompat_Light_ActionBar=0x7f0b0001; public static final int Widget_AppCompat_Light_ActionBar_Solid=0x7f0b0003; public static final int Widget_AppCompat_Light_ActionBar_Solid_Inverse=0x7f0b0004; public static final int Widget_AppCompat_Light_ActionBar_TabBar=0x7f0b0012; public static final int Widget_AppCompat_Light_ActionBar_TabBar_Inverse=0x7f0b0013; public static final int Widget_AppCompat_Light_ActionBar_TabText=0x7f0b0018; public static final int Widget_AppCompat_Light_ActionBar_TabText_Inverse=0x7f0b0019; public static final int Widget_AppCompat_Light_ActionBar_TabView=0x7f0b0015; public static final int Widget_AppCompat_Light_ActionBar_TabView_Inverse=0x7f0b0016; public static final int Widget_AppCompat_Light_ActionButton=0x7f0b000c; public static final int Widget_AppCompat_Light_ActionButton_CloseMode=0x7f0b000e; public static final int Widget_AppCompat_Light_ActionButton_Overflow=0x7f0b0010; public static final int Widget_AppCompat_Light_ActionMode_Inverse=0x7f0b001c; public static final int Widget_AppCompat_Light_ActivityChooserView=0x7f0b0039; public static final int Widget_AppCompat_Light_AutoCompleteTextView=0x7f0b0037; public static final int Widget_AppCompat_Light_Base_ActionBar=0x7f0b003b; public static final int Widget_AppCompat_Light_Base_ActionBar_Solid=0x7f0b003d; public static final int Widget_AppCompat_Light_Base_ActionBar_Solid_Inverse=0x7f0b003e; public static final int Widget_AppCompat_Light_Base_ActionBar_TabBar=0x7f0b0046; public static final int Widget_AppCompat_Light_Base_ActionBar_TabBar_Inverse=0x7f0b0047; public static final int Widget_AppCompat_Light_Base_ActionBar_TabText=0x7f0b004c; public static final int Widget_AppCompat_Light_Base_ActionBar_TabText_Inverse=0x7f0b004d; public static final int Widget_AppCompat_Light_Base_ActionBar_TabView=0x7f0b0049; public static final int Widget_AppCompat_Light_Base_ActionBar_TabView_Inverse=0x7f0b004a; public static final int Widget_AppCompat_Light_Base_ActionButton=0x7f0b0040; public static final int Widget_AppCompat_Light_Base_ActionButton_CloseMode=0x7f0b0042; public static final int Widget_AppCompat_Light_Base_ActionButton_Overflow=0x7f0b0044; public static final int Widget_AppCompat_Light_Base_ActionMode_Inverse=0x7f0b004f; public static final int Widget_AppCompat_Light_Base_ActivityChooserView=0x7f0b0076; public static final int Widget_AppCompat_Light_Base_AutoCompleteTextView=0x7f0b0074; public static final int Widget_AppCompat_Light_Base_DropDownItem_Spinner=0x7f0b005e; public static final int Widget_AppCompat_Light_Base_ListPopupWindow=0x7f0b0066; public static final int Widget_AppCompat_Light_Base_ListView_DropDown=0x7f0b0060; public static final int Widget_AppCompat_Light_Base_PopupMenu=0x7f0b0068; public static final int Widget_AppCompat_Light_Base_Spinner=0x7f0b005c; public static final int Widget_AppCompat_Light_DropDownItem_Spinner=0x7f0b0025; public static final int Widget_AppCompat_Light_ListPopupWindow=0x7f0b002a; public static final int Widget_AppCompat_Light_ListView_DropDown=0x7f0b0027; public static final int Widget_AppCompat_Light_PopupMenu=0x7f0b002c; public static final int Widget_AppCompat_Light_Spinner_DropDown_ActionBar=0x7f0b0023; public static final int Widget_AppCompat_ListPopupWindow=0x7f0b0029; public static final int Widget_AppCompat_ListView_DropDown=0x7f0b0026; public static final int Widget_AppCompat_ListView_Menu=0x7f0b002d; public static final int Widget_AppCompat_PopupMenu=0x7f0b002b; public static final int Widget_AppCompat_ProgressBar=0x7f0b000a; public static final int Widget_AppCompat_ProgressBar_Horizontal=0x7f0b0009; public static final int Widget_AppCompat_Spinner_DropDown_ActionBar=0x7f0b0022; } public static final class styleable { /** ============================================ Attributes used to style the Action Bar. These should be set on your theme; the default actionBarStyle will propagate them to the correct elements as needed. Please Note: when overriding attributes for an ActionBar style you must specify each attribute twice: once with the "android:" namespace prefix and once without.

Includes the following attributes:

AttributeDescription
{@link #ActionBar_background org.evilbinary.highliter:background} Specifies a background drawable for the action bar.
{@link #ActionBar_backgroundSplit org.evilbinary.highliter:backgroundSplit} Specifies a background drawable for the bottom component of a split action bar.
{@link #ActionBar_backgroundStacked org.evilbinary.highliter:backgroundStacked} Specifies a background drawable for a second stacked row of the action bar.
{@link #ActionBar_customNavigationLayout org.evilbinary.highliter:customNavigationLayout} Specifies a layout for custom navigation.
{@link #ActionBar_displayOptions org.evilbinary.highliter:displayOptions} Options affecting how the action bar is displayed.
{@link #ActionBar_divider org.evilbinary.highliter:divider} Specifies the drawable used for item dividers.
{@link #ActionBar_height org.evilbinary.highliter:height} Specifies a fixed height.
{@link #ActionBar_homeLayout org.evilbinary.highliter:homeLayout} Specifies a layout to use for the "home" section of the action bar.
{@link #ActionBar_icon org.evilbinary.highliter:icon} Specifies the drawable used for the application icon.
{@link #ActionBar_indeterminateProgressStyle org.evilbinary.highliter:indeterminateProgressStyle} Specifies a style resource to use for an indeterminate progress spinner.
{@link #ActionBar_itemPadding org.evilbinary.highliter:itemPadding} Specifies padding that should be applied to the left and right sides of system-provided items in the bar.
{@link #ActionBar_logo org.evilbinary.highliter:logo} Specifies the drawable used for the application logo.
{@link #ActionBar_navigationMode org.evilbinary.highliter:navigationMode} The type of navigation to use.
{@link #ActionBar_progressBarPadding org.evilbinary.highliter:progressBarPadding} Specifies the horizontal padding on either end for an embedded progress bar.
{@link #ActionBar_progressBarStyle org.evilbinary.highliter:progressBarStyle} Specifies a style resource to use for an embedded progress bar.
{@link #ActionBar_subtitle org.evilbinary.highliter:subtitle} Specifies subtitle text used for navigationMode="normal"
{@link #ActionBar_subtitleTextStyle org.evilbinary.highliter:subtitleTextStyle} Specifies a style to use for subtitle text.
{@link #ActionBar_title org.evilbinary.highliter:title} Specifies title text used for navigationMode="normal"
{@link #ActionBar_titleTextStyle org.evilbinary.highliter:titleTextStyle} Specifies a style to use for title text.
@see #ActionBar_background @see #ActionBar_backgroundSplit @see #ActionBar_backgroundStacked @see #ActionBar_customNavigationLayout @see #ActionBar_displayOptions @see #ActionBar_divider @see #ActionBar_height @see #ActionBar_homeLayout @see #ActionBar_icon @see #ActionBar_indeterminateProgressStyle @see #ActionBar_itemPadding @see #ActionBar_logo @see #ActionBar_navigationMode @see #ActionBar_progressBarPadding @see #ActionBar_progressBarStyle @see #ActionBar_subtitle @see #ActionBar_subtitleTextStyle @see #ActionBar_title @see #ActionBar_titleTextStyle */ public static final int[] ActionBar = { 0x7f010025, 0x7f010026, 0x7f010027, 0x7f010028, 0x7f010029, 0x7f01002a, 0x7f01002b, 0x7f01002c, 0x7f01002d, 0x7f01002e, 0x7f01002f, 0x7f010030, 0x7f010031, 0x7f010032, 0x7f010033, 0x7f010034, 0x7f010035, 0x7f010036, 0x7f010037 }; /**

@attr description Specifies a background drawable for the action bar.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. @attr name org.evilbinary.highliter:background */ public static final int ActionBar_background = 10; /**

@attr description Specifies a background drawable for the bottom component of a split action bar.

May be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

May be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

This is a private symbol. @attr name org.evilbinary.highliter:backgroundSplit */ public static final int ActionBar_backgroundSplit = 12; /**

@attr description Specifies a background drawable for a second stacked row of the action bar.

May be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

May be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

This is a private symbol. @attr name org.evilbinary.highliter:backgroundStacked */ public static final int ActionBar_backgroundStacked = 11; /**

@attr description Specifies a layout for custom navigation. Overrides navigationMode.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. @attr name org.evilbinary.highliter:customNavigationLayout */ public static final int ActionBar_customNavigationLayout = 13; /**

@attr description Options affecting how the action bar is displayed.

Must be one or more (separated by '|') of the following constant values.

ConstantValueDescription
useLogo0x1
showHome0x2
homeAsUp0x4
showTitle0x8
showCustom0x10
disableHome0x20

This is a private symbol. @attr name org.evilbinary.highliter:displayOptions */ public static final int ActionBar_displayOptions = 3; /**

@attr description Specifies the drawable used for item dividers.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. @attr name org.evilbinary.highliter:divider */ public static final int ActionBar_divider = 9; /**

@attr description Specifies a fixed height.

Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This is a private symbol. @attr name org.evilbinary.highliter:height */ public static final int ActionBar_height = 1; /**

@attr description Specifies a layout to use for the "home" section of the action bar.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. @attr name org.evilbinary.highliter:homeLayout */ public static final int ActionBar_homeLayout = 14; /**

@attr description Specifies the drawable used for the application icon.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. @attr name org.evilbinary.highliter:icon */ public static final int ActionBar_icon = 7; /**

@attr description Specifies a style resource to use for an indeterminate progress spinner.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. @attr name org.evilbinary.highliter:indeterminateProgressStyle */ public static final int ActionBar_indeterminateProgressStyle = 16; /**

@attr description Specifies padding that should be applied to the left and right sides of system-provided items in the bar.

Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This is a private symbol. @attr name org.evilbinary.highliter:itemPadding */ public static final int ActionBar_itemPadding = 18; /**

@attr description Specifies the drawable used for the application logo.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. @attr name org.evilbinary.highliter:logo */ public static final int ActionBar_logo = 8; /**

@attr description The type of navigation to use.

Must be one of the following constant values.

ConstantValueDescription
normal0 Normal static title text
listMode1 The action bar will use a selection list for navigation.
tabMode2 The action bar will use a series of horizontal tabs for navigation.

This is a private symbol. @attr name org.evilbinary.highliter:navigationMode */ public static final int ActionBar_navigationMode = 2; /**

@attr description Specifies the horizontal padding on either end for an embedded progress bar.

Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This is a private symbol. @attr name org.evilbinary.highliter:progressBarPadding */ public static final int ActionBar_progressBarPadding = 17; /**

@attr description Specifies a style resource to use for an embedded progress bar.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. @attr name org.evilbinary.highliter:progressBarStyle */ public static final int ActionBar_progressBarStyle = 15; /**

@attr description Specifies subtitle text used for navigationMode="normal"

Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This is a private symbol. @attr name org.evilbinary.highliter:subtitle */ public static final int ActionBar_subtitle = 4; /**

@attr description Specifies a style to use for subtitle text.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. @attr name org.evilbinary.highliter:subtitleTextStyle */ public static final int ActionBar_subtitleTextStyle = 6; /**

@attr description Specifies title text used for navigationMode="normal"

Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This is a private symbol. @attr name org.evilbinary.highliter:title */ public static final int ActionBar_title = 0; /**

@attr description Specifies a style to use for title text.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. @attr name org.evilbinary.highliter:titleTextStyle */ public static final int ActionBar_titleTextStyle = 5; /** Valid LayoutParams for views placed in the action bar as custom views.

Includes the following attributes:

AttributeDescription
{@link #ActionBarLayout_android_layout_gravity android:layout_gravity}
@see #ActionBarLayout_android_layout_gravity */ public static final int[] ActionBarLayout = { 0x010100b3 }; /**

This symbol is the offset where the {@link android.R.attr#layout_gravity} attribute's value can be found in the {@link #ActionBarLayout} array. @attr name android:layout_gravity */ public static final int ActionBarLayout_android_layout_gravity = 0; /** These attributes are meant to be specified and customized by the app. The system will read and apply them as needed. These attributes control properties of the activity window, such as whether an action bar should be present and whether it should overlay content.

Includes the following attributes:

AttributeDescription
{@link #ActionBarWindow_windowActionBar org.evilbinary.highliter:windowActionBar}
{@link #ActionBarWindow_windowActionBarOverlay org.evilbinary.highliter:windowActionBarOverlay}
{@link #ActionBarWindow_windowFixedHeightMajor org.evilbinary.highliter:windowFixedHeightMajor} A fixed height for the window along the major axis of the screen, that is, when in portrait.
{@link #ActionBarWindow_windowFixedHeightMinor org.evilbinary.highliter:windowFixedHeightMinor} A fixed height for the window along the minor axis of the screen, that is, when in landscape.
{@link #ActionBarWindow_windowFixedWidthMajor org.evilbinary.highliter:windowFixedWidthMajor} A fixed width for the window along the major axis of the screen, that is, when in landscape.
{@link #ActionBarWindow_windowFixedWidthMinor org.evilbinary.highliter:windowFixedWidthMinor} A fixed width for the window along the minor axis of the screen, that is, when in portrait.
{@link #ActionBarWindow_windowSplitActionBar org.evilbinary.highliter:windowSplitActionBar}
@see #ActionBarWindow_windowActionBar @see #ActionBarWindow_windowActionBarOverlay @see #ActionBarWindow_windowFixedHeightMajor @see #ActionBarWindow_windowFixedHeightMinor @see #ActionBarWindow_windowFixedWidthMajor @see #ActionBarWindow_windowFixedWidthMinor @see #ActionBarWindow_windowSplitActionBar */ public static final int[] ActionBarWindow = { 0x7f010000, 0x7f010001, 0x7f010002, 0x7f010003, 0x7f010004, 0x7f010005, 0x7f010006 }; /**

This symbol is the offset where the {@link org.evilbinary.highliter.R.attr#windowActionBar} attribute's value can be found in the {@link #ActionBarWindow} array.

Must be a boolean value, either "true" or "false".

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name org.evilbinary.highliter:windowActionBar */ public static final int ActionBarWindow_windowActionBar = 0; /**

This symbol is the offset where the {@link org.evilbinary.highliter.R.attr#windowActionBarOverlay} attribute's value can be found in the {@link #ActionBarWindow} array.

Must be a boolean value, either "true" or "false".

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name org.evilbinary.highliter:windowActionBarOverlay */ public static final int ActionBarWindow_windowActionBarOverlay = 1; /**

@attr description A fixed height for the window along the major axis of the screen, that is, when in portrait. Can be either an absolute dimension or a fraction of the screen size in that dimension.

May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

May be a fractional value, which is a floating point number appended with either % or %p, such as "14.5%". The % suffix always means a percentage of the base size; the optional %p suffix provides a size relative to some parent container.

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This is a private symbol. @attr name org.evilbinary.highliter:windowFixedHeightMajor */ public static final int ActionBarWindow_windowFixedHeightMajor = 6; /**

@attr description A fixed height for the window along the minor axis of the screen, that is, when in landscape. Can be either an absolute dimension or a fraction of the screen size in that dimension.

May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

May be a fractional value, which is a floating point number appended with either % or %p, such as "14.5%". The % suffix always means a percentage of the base size; the optional %p suffix provides a size relative to some parent container.

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This is a private symbol. @attr name org.evilbinary.highliter:windowFixedHeightMinor */ public static final int ActionBarWindow_windowFixedHeightMinor = 4; /**

@attr description A fixed width for the window along the major axis of the screen, that is, when in landscape. Can be either an absolute dimension or a fraction of the screen size in that dimension.

May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

May be a fractional value, which is a floating point number appended with either % or %p, such as "14.5%". The % suffix always means a percentage of the base size; the optional %p suffix provides a size relative to some parent container.

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This is a private symbol. @attr name org.evilbinary.highliter:windowFixedWidthMajor */ public static final int ActionBarWindow_windowFixedWidthMajor = 3; /**

@attr description A fixed width for the window along the minor axis of the screen, that is, when in portrait. Can be either an absolute dimension or a fraction of the screen size in that dimension.

May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

May be a fractional value, which is a floating point number appended with either % or %p, such as "14.5%". The % suffix always means a percentage of the base size; the optional %p suffix provides a size relative to some parent container.

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This is a private symbol. @attr name org.evilbinary.highliter:windowFixedWidthMinor */ public static final int ActionBarWindow_windowFixedWidthMinor = 5; /**

This symbol is the offset where the {@link org.evilbinary.highliter.R.attr#windowSplitActionBar} attribute's value can be found in the {@link #ActionBarWindow} array.

Must be a boolean value, either "true" or "false".

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type. @attr name org.evilbinary.highliter:windowSplitActionBar */ public static final int ActionBarWindow_windowSplitActionBar = 2; /** Attributes that can be used with a ActionMenuItemView.

Includes the following attributes:

AttributeDescription
{@link #ActionMenuItemView_android_minWidth android:minWidth}
@see #ActionMenuItemView_android_minWidth */ public static final int[] ActionMenuItemView = { 0x0101013f }; /**

This symbol is the offset where the {@link android.R.attr#minWidth} attribute's value can be found in the {@link #ActionMenuItemView} array. @attr name android:minWidth */ public static final int ActionMenuItemView_android_minWidth = 0; /** Size of padding on either end of a divider. */ public static final int[] ActionMenuView = { }; /** Attributes that can be used with a ActionMode.

Includes the following attributes:

AttributeDescription
{@link #ActionMode_background org.evilbinary.highliter:background} Specifies a background for the action mode bar.
{@link #ActionMode_backgroundSplit org.evilbinary.highliter:backgroundSplit} Specifies a background for the split action mode bar.
{@link #ActionMode_height org.evilbinary.highliter:height} Specifies a fixed height for the action mode bar.
{@link #ActionMode_subtitleTextStyle org.evilbinary.highliter:subtitleTextStyle} Specifies a style to use for subtitle text.
{@link #ActionMode_titleTextStyle org.evilbinary.highliter:titleTextStyle} Specifies a style to use for title text.
@see #ActionMode_background @see #ActionMode_backgroundSplit @see #ActionMode_height @see #ActionMode_subtitleTextStyle @see #ActionMode_titleTextStyle */ public static final int[] ActionMode = { 0x7f010026, 0x7f01002a, 0x7f01002b, 0x7f01002f, 0x7f010031 }; /**

@attr description Specifies a background for the action mode bar.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. @attr name org.evilbinary.highliter:background */ public static final int ActionMode_background = 3; /**

@attr description Specifies a background for the split action mode bar.

May be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

May be a color value, in the form of "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

This is a private symbol. @attr name org.evilbinary.highliter:backgroundSplit */ public static final int ActionMode_backgroundSplit = 4; /**

@attr description Specifies a fixed height for the action mode bar.

Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This is a private symbol. @attr name org.evilbinary.highliter:height */ public static final int ActionMode_height = 0; /**

@attr description Specifies a style to use for subtitle text.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. @attr name org.evilbinary.highliter:subtitleTextStyle */ public static final int ActionMode_subtitleTextStyle = 2; /**

@attr description Specifies a style to use for title text.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. @attr name org.evilbinary.highliter:titleTextStyle */ public static final int ActionMode_titleTextStyle = 1; /** Attrbitutes for a ActivityChooserView.

Includes the following attributes:

AttributeDescription
{@link #ActivityChooserView_expandActivityOverflowButtonDrawable org.evilbinary.highliter:expandActivityOverflowButtonDrawable} The drawable to show in the button for expanding the activities overflow popup.
{@link #ActivityChooserView_initialActivityCount org.evilbinary.highliter:initialActivityCount} The maximal number of items initially shown in the activity list.
@see #ActivityChooserView_expandActivityOverflowButtonDrawable @see #ActivityChooserView_initialActivityCount */ public static final int[] ActivityChooserView = { 0x7f01006a, 0x7f01006b }; /**

@attr description The drawable to show in the button for expanding the activities overflow popup. Note: Clients would like to set this drawable as a clue about the action the chosen activity will perform. For example, if share activity is to be chosen the drawable should give a clue that sharing is to be performed.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. @attr name org.evilbinary.highliter:expandActivityOverflowButtonDrawable */ public static final int ActivityChooserView_expandActivityOverflowButtonDrawable = 1; /**

@attr description The maximal number of items initially shown in the activity list.

Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This is a private symbol. @attr name org.evilbinary.highliter:initialActivityCount */ public static final int ActivityChooserView_initialActivityCount = 0; /** Attributes that can be used with a CompatTextView.

Includes the following attributes:

AttributeDescription
{@link #CompatTextView_textAllCaps org.evilbinary.highliter:textAllCaps} Present the text in ALL CAPS.
@see #CompatTextView_textAllCaps */ public static final int[] CompatTextView = { 0x7f01006d }; /**

@attr description Present the text in ALL CAPS. This may use a small-caps form when available.

May be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

May be a boolean value, either "true" or "false".

This is a private symbol. @attr name org.evilbinary.highliter:textAllCaps */ public static final int CompatTextView_textAllCaps = 0; /** Attributes that can be used with a LinearLayoutICS.

Includes the following attributes:

AttributeDescription
{@link #LinearLayoutICS_divider org.evilbinary.highliter:divider} Drawable to use as a vertical divider between buttons.
{@link #LinearLayoutICS_dividerPadding org.evilbinary.highliter:dividerPadding} Size of padding on either end of a divider.
{@link #LinearLayoutICS_showDividers org.evilbinary.highliter:showDividers} Setting for which dividers to show.
@see #LinearLayoutICS_divider @see #LinearLayoutICS_dividerPadding @see #LinearLayoutICS_showDividers */ public static final int[] LinearLayoutICS = { 0x7f01002e, 0x7f010055, 0x7f010056 }; /**

@attr description Drawable to use as a vertical divider between buttons.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. @attr name org.evilbinary.highliter:divider */ public static final int LinearLayoutICS_divider = 0; /**

@attr description Size of padding on either end of a divider.

Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This is a private symbol. @attr name org.evilbinary.highliter:dividerPadding */ public static final int LinearLayoutICS_dividerPadding = 2; /**

@attr description Setting for which dividers to show.

Must be one or more (separated by '|') of the following constant values.

ConstantValueDescription
none0
beginning1
middle2
end4

This is a private symbol. @attr name org.evilbinary.highliter:showDividers */ public static final int LinearLayoutICS_showDividers = 1; /** Base attributes that are available to all groups.

Includes the following attributes:

AttributeDescription
{@link #MenuGroup_android_checkableBehavior android:checkableBehavior} Whether the items are capable of displaying a check mark.
{@link #MenuGroup_android_enabled android:enabled} Whether the items are enabled.
{@link #MenuGroup_android_id android:id} The ID of the group.
{@link #MenuGroup_android_menuCategory android:menuCategory} The category applied to all items within this group.
{@link #MenuGroup_android_orderInCategory android:orderInCategory} The order within the category applied to all items within this group.
{@link #MenuGroup_android_visible android:visible} Whether the items are shown/visible.
@see #MenuGroup_android_checkableBehavior @see #MenuGroup_android_enabled @see #MenuGroup_android_id @see #MenuGroup_android_menuCategory @see #MenuGroup_android_orderInCategory @see #MenuGroup_android_visible */ public static final int[] MenuGroup = { 0x0101000e, 0x010100d0, 0x01010194, 0x010101de, 0x010101df, 0x010101e0 }; /**

@attr description Whether the items are capable of displaying a check mark.

This corresponds to the global attribute resource symbol {@link android.R.attr#checkableBehavior}. @attr name android:checkableBehavior */ public static final int MenuGroup_android_checkableBehavior = 5; /**

@attr description Whether the items are enabled.

This corresponds to the global attribute resource symbol {@link android.R.attr#enabled}. @attr name android:enabled */ public static final int MenuGroup_android_enabled = 0; /**

@attr description The ID of the group.

This corresponds to the global attribute resource symbol {@link android.R.attr#id}. @attr name android:id */ public static final int MenuGroup_android_id = 1; /**

@attr description The category applied to all items within this group. (This will be or'ed with the orderInCategory attribute.)

This corresponds to the global attribute resource symbol {@link android.R.attr#menuCategory}. @attr name android:menuCategory */ public static final int MenuGroup_android_menuCategory = 3; /**

@attr description The order within the category applied to all items within this group. (This will be or'ed with the category attribute.)

This corresponds to the global attribute resource symbol {@link android.R.attr#orderInCategory}. @attr name android:orderInCategory */ public static final int MenuGroup_android_orderInCategory = 4; /**

@attr description Whether the items are shown/visible.

This corresponds to the global attribute resource symbol {@link android.R.attr#visible}. @attr name android:visible */ public static final int MenuGroup_android_visible = 2; /** Base attributes that are available to all Item objects.

Includes the following attributes:

AttributeDescription
{@link #MenuItem_actionLayout org.evilbinary.highliter:actionLayout} An optional layout to be used as an action view.
{@link #MenuItem_actionProviderClass org.evilbinary.highliter:actionProviderClass} The name of an optional ActionProvider class to instantiate an action view and perform operations such as default action for that menu item.
{@link #MenuItem_actionViewClass org.evilbinary.highliter:actionViewClass} The name of an optional View class to instantiate and use as an action view.
{@link #MenuItem_android_alphabeticShortcut android:alphabeticShortcut} The alphabetic shortcut key.
{@link #MenuItem_android_checkable android:checkable} Whether the item is capable of displaying a check mark.
{@link #MenuItem_android_checked android:checked} Whether the item is checked.
{@link #MenuItem_android_enabled android:enabled} Whether the item is enabled.
{@link #MenuItem_android_icon android:icon} The icon associated with this item.
{@link #MenuItem_android_id android:id} The ID of the item.
{@link #MenuItem_android_menuCategory android:menuCategory} The category applied to the item.
{@link #MenuItem_android_numericShortcut android:numericShortcut} The numeric shortcut key.
{@link #MenuItem_android_onClick android:onClick} Name of a method on the Context used to inflate the menu that will be called when the item is clicked.
{@link #MenuItem_android_orderInCategory android:orderInCategory} The order within the category applied to the item.
{@link #MenuItem_android_title android:title} The title associated with the item.
{@link #MenuItem_android_titleCondensed android:titleCondensed} The condensed title associated with the item.
{@link #MenuItem_android_visible android:visible} Whether the item is shown/visible.
{@link #MenuItem_showAsAction org.evilbinary.highliter:showAsAction} How this item should display in the Action Bar, if present.
@see #MenuItem_actionLayout @see #MenuItem_actionProviderClass @see #MenuItem_actionViewClass @see #MenuItem_android_alphabeticShortcut @see #MenuItem_android_checkable @see #MenuItem_android_checked @see #MenuItem_android_enabled @see #MenuItem_android_icon @see #MenuItem_android_id @see #MenuItem_android_menuCategory @see #MenuItem_android_numericShortcut @see #MenuItem_android_onClick @see #MenuItem_android_orderInCategory @see #MenuItem_android_title @see #MenuItem_android_titleCondensed @see #MenuItem_android_visible @see #MenuItem_showAsAction */ public static final int[] MenuItem = { 0x01010002, 0x0101000e, 0x010100d0, 0x01010106, 0x01010194, 0x010101de, 0x010101df, 0x010101e1, 0x010101e2, 0x010101e3, 0x010101e4, 0x010101e5, 0x0101026f, 0x7f01004d, 0x7f01004e, 0x7f01004f, 0x7f010050 }; /**

@attr description An optional layout to be used as an action view. See {@link android.view.MenuItem#setActionView(android.view.View)} for more info.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. @attr name org.evilbinary.highliter:actionLayout */ public static final int MenuItem_actionLayout = 14; /**

@attr description The name of an optional ActionProvider class to instantiate an action view and perform operations such as default action for that menu item. See {@link android.view.MenuItem#setActionProvider(android.view.ActionProvider)} for more info.

Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This is a private symbol. @attr name org.evilbinary.highliter:actionProviderClass */ public static final int MenuItem_actionProviderClass = 16; /**

@attr description The name of an optional View class to instantiate and use as an action view. See {@link android.view.MenuItem#setActionView(android.view.View)} for more info.

Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This is a private symbol. @attr name org.evilbinary.highliter:actionViewClass */ public static final int MenuItem_actionViewClass = 15; /**

@attr description The alphabetic shortcut key. This is the shortcut when using a keyboard with alphabetic keys.

This corresponds to the global attribute resource symbol {@link android.R.attr#alphabeticShortcut}. @attr name android:alphabeticShortcut */ public static final int MenuItem_android_alphabeticShortcut = 9; /**

@attr description Whether the item is capable of displaying a check mark.

This corresponds to the global attribute resource symbol {@link android.R.attr#checkable}. @attr name android:checkable */ public static final int MenuItem_android_checkable = 11; /**

@attr description Whether the item is checked. Note that you must first have enabled checking with the checkable attribute or else the check mark will not appear.

This corresponds to the global attribute resource symbol {@link android.R.attr#checked}. @attr name android:checked */ public static final int MenuItem_android_checked = 3; /**

@attr description Whether the item is enabled.

This corresponds to the global attribute resource symbol {@link android.R.attr#enabled}. @attr name android:enabled */ public static final int MenuItem_android_enabled = 1; /**

@attr description The icon associated with this item. This icon will not always be shown, so the title should be sufficient in describing this item.

This corresponds to the global attribute resource symbol {@link android.R.attr#icon}. @attr name android:icon */ public static final int MenuItem_android_icon = 0; /**

@attr description The ID of the item.

This corresponds to the global attribute resource symbol {@link android.R.attr#id}. @attr name android:id */ public static final int MenuItem_android_id = 2; /**

@attr description The category applied to the item. (This will be or'ed with the orderInCategory attribute.)

This corresponds to the global attribute resource symbol {@link android.R.attr#menuCategory}. @attr name android:menuCategory */ public static final int MenuItem_android_menuCategory = 5; /**

@attr description The numeric shortcut key. This is the shortcut when using a numeric (e.g., 12-key) keyboard.

This corresponds to the global attribute resource symbol {@link android.R.attr#numericShortcut}. @attr name android:numericShortcut */ public static final int MenuItem_android_numericShortcut = 10; /**

@attr description Name of a method on the Context used to inflate the menu that will be called when the item is clicked.

This corresponds to the global attribute resource symbol {@link android.R.attr#onClick}. @attr name android:onClick */ public static final int MenuItem_android_onClick = 12; /**

@attr description The order within the category applied to the item. (This will be or'ed with the category attribute.)

This corresponds to the global attribute resource symbol {@link android.R.attr#orderInCategory}. @attr name android:orderInCategory */ public static final int MenuItem_android_orderInCategory = 6; /**

@attr description The title associated with the item.

This corresponds to the global attribute resource symbol {@link android.R.attr#title}. @attr name android:title */ public static final int MenuItem_android_title = 7; /**

@attr description The condensed title associated with the item. This is used in situations where the normal title may be too long to be displayed.

This corresponds to the global attribute resource symbol {@link android.R.attr#titleCondensed}. @attr name android:titleCondensed */ public static final int MenuItem_android_titleCondensed = 8; /**

@attr description Whether the item is shown/visible.

This corresponds to the global attribute resource symbol {@link android.R.attr#visible}. @attr name android:visible */ public static final int MenuItem_android_visible = 4; /**

@attr description How this item should display in the Action Bar, if present.

Must be one or more (separated by '|') of the following constant values.

ConstantValueDescription
never0 Never show this item in an action bar, show it in the overflow menu instead. Mutually exclusive with "ifRoom" and "always".
ifRoom1 Show this item in an action bar if there is room for it as determined by the system. Favor this option over "always" where possible. Mutually exclusive with "never" and "always".
always2 Always show this item in an actionbar, even if it would override the system's limits of how much stuff to put there. This may make your action bar look bad on some screens. In most cases you should use "ifRoom" instead. Mutually exclusive with "ifRoom" and "never".
withText4 When this item is shown as an action in the action bar, show a text label with it even if it has an icon representation.
collapseActionView8 This item's action view collapses to a normal menu item. When expanded, the action view takes over a larger segment of its container.

This is a private symbol. @attr name org.evilbinary.highliter:showAsAction */ public static final int MenuItem_showAsAction = 13; /** Attributes that can be used with a MenuView.

Includes the following attributes:

AttributeDescription
{@link #MenuView_android_headerBackground android:headerBackground} Default background for the menu header.
{@link #MenuView_android_horizontalDivider android:horizontalDivider} Default horizontal divider between rows of menu items.
{@link #MenuView_android_itemBackground android:itemBackground} Default background for each menu item.
{@link #MenuView_android_itemIconDisabledAlpha android:itemIconDisabledAlpha} Default disabled icon alpha for each menu item that shows an icon.
{@link #MenuView_android_itemTextAppearance android:itemTextAppearance} Default appearance of menu item text.
{@link #MenuView_android_preserveIconSpacing android:preserveIconSpacing} Whether space should be reserved in layout when an icon is missing.
{@link #MenuView_android_verticalDivider android:verticalDivider} Default vertical divider between menu items.
{@link #MenuView_android_windowAnimationStyle android:windowAnimationStyle} Default animations for the menu.
@see #MenuView_android_headerBackground @see #MenuView_android_horizontalDivider @see #MenuView_android_itemBackground @see #MenuView_android_itemIconDisabledAlpha @see #MenuView_android_itemTextAppearance @see #MenuView_android_preserveIconSpacing @see #MenuView_android_verticalDivider @see #MenuView_android_windowAnimationStyle */ public static final int[] MenuView = { 0x010100ae, 0x0101012c, 0x0101012d, 0x0101012e, 0x0101012f, 0x01010130, 0x01010131, 0x010103ea }; /**

@attr description Default background for the menu header.

This corresponds to the global attribute resource symbol {@link android.R.attr#headerBackground}. @attr name android:headerBackground */ public static final int MenuView_android_headerBackground = 4; /**

@attr description Default horizontal divider between rows of menu items.

This corresponds to the global attribute resource symbol {@link android.R.attr#horizontalDivider}. @attr name android:horizontalDivider */ public static final int MenuView_android_horizontalDivider = 2; /**

@attr description Default background for each menu item.

This corresponds to the global attribute resource symbol {@link android.R.attr#itemBackground}. @attr name android:itemBackground */ public static final int MenuView_android_itemBackground = 5; /**

@attr description Default disabled icon alpha for each menu item that shows an icon.

This corresponds to the global attribute resource symbol {@link android.R.attr#itemIconDisabledAlpha}. @attr name android:itemIconDisabledAlpha */ public static final int MenuView_android_itemIconDisabledAlpha = 6; /**

@attr description Default appearance of menu item text.

This corresponds to the global attribute resource symbol {@link android.R.attr#itemTextAppearance}. @attr name android:itemTextAppearance */ public static final int MenuView_android_itemTextAppearance = 1; /**

@attr description Whether space should be reserved in layout when an icon is missing.

This is a private symbol. @attr name android:preserveIconSpacing */ public static final int MenuView_android_preserveIconSpacing = 7; /**

@attr description Default vertical divider between menu items.

This corresponds to the global attribute resource symbol {@link android.R.attr#verticalDivider}. @attr name android:verticalDivider */ public static final int MenuView_android_verticalDivider = 3; /**

@attr description Default animations for the menu.

This corresponds to the global attribute resource symbol {@link android.R.attr#windowAnimationStyle}. @attr name android:windowAnimationStyle */ public static final int MenuView_android_windowAnimationStyle = 0; /** Attributes that can be used with a SearchView.

Includes the following attributes:

AttributeDescription
{@link #SearchView_android_imeOptions android:imeOptions} The IME options to set on the query text field.
{@link #SearchView_android_inputType android:inputType} The input type to set on the query text field.
{@link #SearchView_android_maxWidth android:maxWidth} An optional maximum width of the SearchView.
{@link #SearchView_iconifiedByDefault org.evilbinary.highliter:iconifiedByDefault} The default state of the SearchView.
{@link #SearchView_queryHint org.evilbinary.highliter:queryHint} An optional query hint string to be displayed in the empty query field.
@see #SearchView_android_imeOptions @see #SearchView_android_inputType @see #SearchView_android_maxWidth @see #SearchView_iconifiedByDefault @see #SearchView_queryHint */ public static final int[] SearchView = { 0x0101011f, 0x01010220, 0x01010264, 0x7f01005a, 0x7f01005b }; /**

@attr description The IME options to set on the query text field.

This corresponds to the global attribute resource symbol {@link android.R.attr#imeOptions}. @attr name android:imeOptions */ public static final int SearchView_android_imeOptions = 2; /**

@attr description The input type to set on the query text field.

This corresponds to the global attribute resource symbol {@link android.R.attr#inputType}. @attr name android:inputType */ public static final int SearchView_android_inputType = 1; /**

@attr description An optional maximum width of the SearchView.

This corresponds to the global attribute resource symbol {@link android.R.attr#maxWidth}. @attr name android:maxWidth */ public static final int SearchView_android_maxWidth = 0; /**

@attr description The default state of the SearchView. If true, it will be iconified when not in use and expanded when clicked.

Must be a boolean value, either "true" or "false".

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This is a private symbol. @attr name org.evilbinary.highliter:iconifiedByDefault */ public static final int SearchView_iconifiedByDefault = 3; /**

@attr description An optional query hint string to be displayed in the empty query field.

Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This is a private symbol. @attr name org.evilbinary.highliter:queryHint */ public static final int SearchView_queryHint = 4; /** Attributes that can be used with a Spinner.

Includes the following attributes:

AttributeDescription
{@link #Spinner_android_dropDownHorizontalOffset android:dropDownHorizontalOffset} Horizontal offset from the spinner widget for positioning the dropdown in spinnerMode="dropdown".
{@link #Spinner_android_dropDownSelector android:dropDownSelector} List selector to use for spinnerMode="dropdown" display.
{@link #Spinner_android_dropDownVerticalOffset android:dropDownVerticalOffset} Vertical offset from the spinner widget for positioning the dropdown in spinnerMode="dropdown".
{@link #Spinner_android_dropDownWidth android:dropDownWidth} Width of the dropdown in spinnerMode="dropdown".
{@link #Spinner_android_gravity android:gravity} Gravity setting for positioning the currently selected item.
{@link #Spinner_android_popupBackground android:popupBackground} Background drawable to use for the dropdown in spinnerMode="dropdown".
{@link #Spinner_disableChildrenWhenDisabled org.evilbinary.highliter:disableChildrenWhenDisabled} Whether this spinner should mark child views as enabled/disabled when the spinner itself is enabled/disabled.
{@link #Spinner_popupPromptView org.evilbinary.highliter:popupPromptView} Reference to a layout to use for displaying a prompt in the dropdown for spinnerMode="dropdown".
{@link #Spinner_prompt org.evilbinary.highliter:prompt} The prompt to display when the spinner's dialog is shown.
{@link #Spinner_spinnerMode org.evilbinary.highliter:spinnerMode} Display mode for spinner options.
@see #Spinner_android_dropDownHorizontalOffset @see #Spinner_android_dropDownSelector @see #Spinner_android_dropDownVerticalOffset @see #Spinner_android_dropDownWidth @see #Spinner_android_gravity @see #Spinner_android_popupBackground @see #Spinner_disableChildrenWhenDisabled @see #Spinner_popupPromptView @see #Spinner_prompt @see #Spinner_spinnerMode */ public static final int[] Spinner = { 0x010100af, 0x01010175, 0x01010176, 0x01010262, 0x010102ac, 0x010102ad, 0x7f010051, 0x7f010052, 0x7f010053, 0x7f010054 }; /**

@attr description Horizontal offset from the spinner widget for positioning the dropdown in spinnerMode="dropdown".

This corresponds to the global attribute resource symbol {@link android.R.attr#dropDownHorizontalOffset}. @attr name android:dropDownHorizontalOffset */ public static final int Spinner_android_dropDownHorizontalOffset = 4; /**

@attr description List selector to use for spinnerMode="dropdown" display.

This corresponds to the global attribute resource symbol {@link android.R.attr#dropDownSelector}. @attr name android:dropDownSelector */ public static final int Spinner_android_dropDownSelector = 1; /**

@attr description Vertical offset from the spinner widget for positioning the dropdown in spinnerMode="dropdown".

This corresponds to the global attribute resource symbol {@link android.R.attr#dropDownVerticalOffset}. @attr name android:dropDownVerticalOffset */ public static final int Spinner_android_dropDownVerticalOffset = 5; /**

@attr description Width of the dropdown in spinnerMode="dropdown".

This corresponds to the global attribute resource symbol {@link android.R.attr#dropDownWidth}. @attr name android:dropDownWidth */ public static final int Spinner_android_dropDownWidth = 3; /**

@attr description Gravity setting for positioning the currently selected item.

This corresponds to the global attribute resource symbol {@link android.R.attr#gravity}. @attr name android:gravity */ public static final int Spinner_android_gravity = 0; /**

@attr description Background drawable to use for the dropdown in spinnerMode="dropdown".

This corresponds to the global attribute resource symbol {@link android.R.attr#popupBackground}. @attr name android:popupBackground */ public static final int Spinner_android_popupBackground = 2; /**

@attr description Whether this spinner should mark child views as enabled/disabled when the spinner itself is enabled/disabled.

Must be a boolean value, either "true" or "false".

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This is a private symbol. @attr name org.evilbinary.highliter:disableChildrenWhenDisabled */ public static final int Spinner_disableChildrenWhenDisabled = 9; /**

@attr description Reference to a layout to use for displaying a prompt in the dropdown for spinnerMode="dropdown". This layout must contain a TextView with the id {@code @android:id/text1} to be populated with the prompt text.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. @attr name org.evilbinary.highliter:popupPromptView */ public static final int Spinner_popupPromptView = 8; /**

@attr description The prompt to display when the spinner's dialog is shown.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. @attr name org.evilbinary.highliter:prompt */ public static final int Spinner_prompt = 6; /**

@attr description Display mode for spinner options.

Must be one of the following constant values.

ConstantValueDescription
dialog0 Spinner options will be presented to the user as a dialog window.
dropdown1 Spinner options will be presented to the user as an inline dropdown anchored to the spinner widget itself.

This is a private symbol. @attr name org.evilbinary.highliter:spinnerMode */ public static final int Spinner_spinnerMode = 7; /** These are the standard attributes that make up a complete theme.

Includes the following attributes:

AttributeDescription
{@link #Theme_actionDropDownStyle org.evilbinary.highliter:actionDropDownStyle} Default ActionBar dropdown style.
{@link #Theme_dropdownListPreferredItemHeight org.evilbinary.highliter:dropdownListPreferredItemHeight} The preferred item height for dropdown lists.
{@link #Theme_listChoiceBackgroundIndicator org.evilbinary.highliter:listChoiceBackgroundIndicator} Drawable used as a background for selected list items.
{@link #Theme_panelMenuListTheme org.evilbinary.highliter:panelMenuListTheme} Default Panel Menu style.
{@link #Theme_panelMenuListWidth org.evilbinary.highliter:panelMenuListWidth} Default Panel Menu width.
{@link #Theme_popupMenuStyle org.evilbinary.highliter:popupMenuStyle} Default PopupMenu style.
@see #Theme_actionDropDownStyle @see #Theme_dropdownListPreferredItemHeight @see #Theme_listChoiceBackgroundIndicator @see #Theme_panelMenuListTheme @see #Theme_panelMenuListWidth @see #Theme_popupMenuStyle */ public static final int[] Theme = { 0x7f010047, 0x7f010048, 0x7f010049, 0x7f01004a, 0x7f01004b, 0x7f01004c }; /**

@attr description Default ActionBar dropdown style.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. @attr name org.evilbinary.highliter:actionDropDownStyle */ public static final int Theme_actionDropDownStyle = 0; /**

@attr description The preferred item height for dropdown lists.

Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This is a private symbol. @attr name org.evilbinary.highliter:dropdownListPreferredItemHeight */ public static final int Theme_dropdownListPreferredItemHeight = 1; /**

@attr description Drawable used as a background for selected list items.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. @attr name org.evilbinary.highliter:listChoiceBackgroundIndicator */ public static final int Theme_listChoiceBackgroundIndicator = 5; /**

@attr description Default Panel Menu style.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. @attr name org.evilbinary.highliter:panelMenuListTheme */ public static final int Theme_panelMenuListTheme = 4; /**

@attr description Default Panel Menu width.

Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This is a private symbol. @attr name org.evilbinary.highliter:panelMenuListWidth */ public static final int Theme_panelMenuListWidth = 3; /**

@attr description Default PopupMenu style.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol. @attr name org.evilbinary.highliter:popupMenuStyle */ public static final int Theme_popupMenuStyle = 2; /** Attributes that can be used with a View.

Includes the following attributes:

AttributeDescription
{@link #View_android_focusable android:focusable} Boolean that controls whether a view can take focus.
{@link #View_paddingEnd org.evilbinary.highliter:paddingEnd} Sets the padding, in pixels, of the end edge; see {@link android.R.attr#padding}.
{@link #View_paddingStart org.evilbinary.highliter:paddingStart} Sets the padding, in pixels, of the start edge; see {@link android.R.attr#padding}.
@see #View_android_focusable @see #View_paddingEnd @see #View_paddingStart */ public static final int[] View = { 0x010100da, 0x7f010038, 0x7f010039 }; /**

@attr description Boolean that controls whether a view can take focus. By default the user can not move focus to a view; by setting this attribute to true the view is allowed to take focus. This value does not impact the behavior of directly calling {@link android.view.View#requestFocus}, which will always request focus regardless of this view. It only impacts where focus navigation will try to move focus.

This corresponds to the global attribute resource symbol {@link android.R.attr#focusable}. @attr name android:focusable */ public static final int View_android_focusable = 0; /**

@attr description Sets the padding, in pixels, of the end edge; see {@link android.R.attr#padding}.

Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This is a private symbol. @attr name org.evilbinary.highliter:paddingEnd */ public static final int View_paddingEnd = 2; /**

@attr description Sets the padding, in pixels, of the start edge; see {@link android.R.attr#padding}.

Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This is a private symbol. @attr name org.evilbinary.highliter:paddingStart */ public static final int View_paddingStart = 1; }; } ================================================ FILE: gradle/wrapper/gradle-wrapper.properties ================================================ #Wed Oct 21 11:34:03 PDT 2015 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-2.8-all.zip ================================================ FILE: gradlew ================================================ #!/usr/bin/env bash ############################################################################## ## ## Gradle start up script for UN*X ## ############################################################################## # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. DEFAULT_JVM_OPTS="" APP_NAME="Gradle" APP_BASE_NAME=`basename "$0"` # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" warn ( ) { echo "$*" } die ( ) { echo echo "$*" echo exit 1 } # OS specific support (must be 'true' or 'false'). cygwin=false msys=false darwin=false case "`uname`" in CYGWIN* ) cygwin=true ;; Darwin* ) darwin=true ;; MINGW* ) msys=true ;; esac # Attempt to set APP_HOME # Resolve links: $0 may be a link PRG="$0" # Need this for relative symlinks. while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then PRG="$link" else PRG=`dirname "$PRG"`"/$link" fi done SAVED="`pwd`" cd "`dirname \"$PRG\"`/" >/dev/null APP_HOME="`pwd -P`" cd "$SAVED" >/dev/null CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar # Determine the Java command to use to start the JVM. if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" else JAVACMD="$JAVA_HOME/bin/java" fi if [ ! -x "$JAVACMD" ] ; then die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME Please set the JAVA_HOME variable in your environment to match the location of your Java installation." fi else JAVACMD="java" which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation." fi # Increase the maximum file descriptors if we can. if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then MAX_FD_LIMIT=`ulimit -H -n` if [ $? -eq 0 ] ; then if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then MAX_FD="$MAX_FD_LIMIT" fi ulimit -n $MAX_FD if [ $? -ne 0 ] ; then warn "Could not set maximum file descriptor limit: $MAX_FD" fi else warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" fi fi # For Darwin, add options to specify how the application appears in the dock if $darwin; then GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" fi # For Cygwin, switch paths to Windows format before running java if $cygwin ; then APP_HOME=`cygpath --path --mixed "$APP_HOME"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` JAVACMD=`cygpath --unix "$JAVACMD"` # We build the pattern for arguments to be converted via cygpath ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` SEP="" for dir in $ROOTDIRSRAW ; do ROOTDIRS="$ROOTDIRS$SEP$dir" SEP="|" done OURCYGPATTERN="(^($ROOTDIRS))" # Add a user-defined pattern to the cygpath arguments if [ "$GRADLE_CYGPATTERN" != "" ] ; then OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" fi # Now convert the arguments - kludge to limit ourselves to /bin/sh i=0 for arg in "$@" ; do CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` else eval `echo args$i`="\"$arg\"" fi i=$((i+1)) done case $i in (0) set -- ;; (1) set -- "$args0" ;; (2) set -- "$args0" "$args1" ;; (3) set -- "$args0" "$args1" "$args2" ;; (4) set -- "$args0" "$args1" "$args2" "$args3" ;; (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; esac fi # Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules function splitJvmOpts() { JVM_OPTS=("$@") } eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" ================================================ FILE: gradlew.bat ================================================ @if "%DEBUG%" == "" @echo off @rem ########################################################################## @rem @rem Gradle startup script for Windows @rem @rem ########################################################################## @rem Set local scope for the variables with windows NT shell if "%OS%"=="Windows_NT" setlocal @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. set DEFAULT_JVM_OPTS= set DIRNAME=%~dp0 if "%DIRNAME%" == "" set DIRNAME=. set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 if "%ERRORLEVEL%" == "0" goto init echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. echo. echo Please set the JAVA_HOME variable in your environment to match the echo location of your Java installation. goto fail :findJavaFromJavaHome set JAVA_HOME=%JAVA_HOME:"=% set JAVA_EXE=%JAVA_HOME%/bin/java.exe if exist "%JAVA_EXE%" goto init echo. echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% echo. echo Please set the JAVA_HOME variable in your environment to match the echo location of your Java installation. goto fail :init @rem Get command-line arguments, handling Windowz variants if not "%OS%" == "Windows_NT" goto win9xME_args if "%@eval[2+2]" == "4" goto 4NT_args :win9xME_args @rem Slurp the command line arguments. set CMD_LINE_ARGS= set _SKIP=2 :win9xME_args_slurp if "x%~1" == "x" goto execute set CMD_LINE_ARGS=%* goto execute :4NT_args @rem Get arguments from the 4NT Shell from JP Software set CMD_LINE_ARGS=%$ :execute @rem Setup the command line set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar @rem Execute Gradle "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% :end @rem End local scope for the variables with windows NT shell if "%ERRORLEVEL%"=="0" goto mainEnd :fail rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of rem the _cmd.exe /c_ return code! if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 exit /b 1 :mainEnd if "%OS%"=="Windows_NT" endlocal :omega ================================================ FILE: jni/Android.mk ================================================ include $(call all-subdir-makefiles) ================================================ FILE: jni/Application.mk ================================================ #APP_ABI := armeabi-v7a #NDK_TOOLCHAIN_VERSION:=4.8 APP_STL := stlport_static #APP_STL := stlport_shared APP_STL := gnustl_static APP_CPPFLAGS := -frtti -std=c++11 ================================================ FILE: jni/highlight/Android.mk ================================================ LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := highlight BOOST_VERSION :=1_53_0 BOOST_VERSION2 :=1_53 MY_LIB_PATH :=$(LOCAL_PATH)/../../../lib BOOST_INCLUDE_PATH :=$(MY_LIB_PATH)/boost_$(BOOST_VERSION)/include BOOST_LIB_PATH :=$(MY_LIB_PATH)/boost_$(BOOST_VERSION)/armeabi/lib LUA_INCLUDE_PATH :=$(LOCAL_PATH)/../lua LOCAL_C_INCLUDES := $(LOCAL_PATH)/include \ $(BOOST_INCLUDE_PATH) \ $(LUA_INCLUDE_PATH) \ $(LOCAL_PATH)/android/ \ $(LOCAL_PATH)/cli/ \ LOCAL_SRC_FILES := $(subst $(LOCAL_PATH)/,, \ $(wildcard $(LOCAL_PATH)/core/*.cpp) \ $(wildcard $(LOCAL_PATH)/core/astyle/*.cpp) \ $(wildcard $(LOCAL_PATH)/core/Diluculum/*.cpp) \ $(wildcard $(LOCAL_PATH)/android/*.cpp) \ $(wildcard $(LOCAL_PATH)/cli/*.cpp) \ $(wildcard $(LOCAL_PATH)/cli/*.cc) \ $(wildcard $(LOCAL_PATH)/android/*.cc) ) \ LOCAL_LDLIBS += -L$(BOOST_LIB_PATH) \ -lboost_system-gcc-mt-$(BOOST_VERSION2) \ -lboost_thread-gcc-mt-$(BOOST_VERSION2) \ LOCAL_SHARED_LIBRARIES := lua #LOCAL_STATIC_LIBRARIES := lua LOCAL_LDLIBS := -llog LOCAL_CFLAGS += LOCAL_CPPFLAGS := -std=c++11 -fpermissive -fexceptions -g -DANDROID LOCAL_ARM_MODE := arm include $(BUILD_SHARED_LIBRARY) #include $(BUILD_EXECUTABLE) ================================================ FILE: jni/highlight/android/app.cpp ================================================ /* Copyright (C) 2015 evilbinary. * rootdebug@163.com This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include "app.h" #include #include #include #include "main.h" #include "../include/datadir.h" #include "syntaxreader.h" using namespace std; static HighliterAndroid *highliter = NULL; JNIEXPORT jint JNICALL Java_org_evilbinary_highliter_parsers_SyntaxHighlight_init( JNIEnv *env, jobject obj, jstring args) { highliter = new HighliterAndroid(); jboolean iscopy = JNI_TRUE; const char *str = env->GetStringUTFChars(args, &iscopy); if (str == NULL) { return -1; } string pargs(str); env->ReleaseStringUTFChars((jstring) args, str); LOGI("args:%s", pargs.c_str()); highliter->init(pargs); LOGI("init highliter:%p", highliter); } JNIEXPORT jstring JNICALL Java_org_evilbinary_highliter_parsers_SyntaxHighlight_pase( JNIEnv *env, jobject obj, jstring code) { // LOGI("pase highliter:%p", highliter); jboolean iscopy = JNI_TRUE; const char *str = env->GetStringUTFChars(code, &iscopy); if (str == NULL) { return -1; } string ccontent(str); env->ReleaseStringUTFChars((jstring) code, str); vector out; int ret = highliter->parse(ccontent, out); jclass cls = env->GetObjectClass(obj); jmethodID mid = env->GetMethodID( cls, "addToken", "(ILjava/lang/String;Ljava/lang/String;)V"); assert(mid); for (int i = 0; i < out.size(); i++) { Object o = out[i]; //LOGI("state=%d obj.str=%s style:%s", o.state, o.str.c_str(), o.style.c_str()); jstring string = env->NewStringUTF(o.str.c_str()); jstring style = env->NewStringUTF(o.style.c_str()); env->CallVoidMethod(obj,mid,o.state,string,style); env->DeleteLocalRef(string ); env->DeleteLocalRef(style); } out.clear(); jstring result = env->NewStringUTF(""); // LOGI("out:%s",cstr); return result; } HighliterAndroid::HighliterAndroid() { } void HighliterAndroid::destroy() { if (generator != NULL) { delete generator; } } std::vector split(const std::string &s, const std::string &delim) { std::vector elems; size_t pos = 0; size_t len = s.length(); size_t delim_len = delim.length(); if (delim_len == 0) return elems; while (pos < len) { int find_pos = s.find(delim, pos); if (find_pos < 0) { elems.push_back(s.substr(pos, len - pos)); break; } elems.push_back(s.substr(pos, find_pos - pos)); pos = find_pos + delim_len; } return elems; } int HighliterAndroid::init(string args) { vector vargs = split(args, ":"); int argc = vargs.size(); //dataDirPath += "/"; //string outflag = "-d" + dataDirPath; //char *argv[7] = { "hilighlight", "--syntax=c","-f","-smolokai","-chighlight.css",outflag.c_str() }; char **argv = new char *[argc]; for (int i = 0; i < argc; i++) { argv[i] = vargs[i].c_str(); LOGI(" %s", argv[i]); } LOGI("init===="); options.init(argc, argv); delete argv; LOGI("hoptions finish"); LOGI("initSearchDirectories"); dataDir.initSearchDirectories(options.getDataDir()); LOGI("loadFileTypeConfig"); //call before printInstalledLanguages! loadFileTypeConfig("filetypes", &extensions, &scriptShebangs); if (options.showLangdefs()) { return printInstalledLanguages(); } inFileList = options.getInputFileNames(); if (options.enableBatchMode() && inFileList[0].empty()) { return EXIT_FAILURE; } LOGI("create generator outtype=%d", options.getOutputType()); generator = highlight::CodeGenerator::getInstance(options.getOutputType()); LOGI("themePath"); string themePath = options.getAbsThemePath().empty() ? dataDir.getThemePath(options.getThemeName()) : options.getAbsThemePath(); LOGI( "themePath empty:%d %s %s", options.getAbsThemePath().empty(), dataDir.getThemePath(options.getThemeName()).c_str(), options.getAbsThemePath().c_str()); LOGI("generator set finish"); generator->setHTMLAttachAnchors(options.attachLineAnchors()); generator->setHTMLOrderedList(options.orderedList()); generator->setHTMLInlineCSS(options.inlineCSS()); generator->setHTMLEnclosePreTag(options.enclosePreTag()); generator->setHTMLAnchorPrefix(options.getAnchorPrefix()); generator->setHTMLClassName(options.getClassName()); LOGI("generator set finish2"); generator->setLATEXReplaceQuotes(options.replaceQuotes()); generator->setLATEXNoShorthands(options.disableBabelShorthands()); generator->setLATEXPrettySymbols(options.prettySymbols()); generator->setRTFPageSize(options.getPageSize()); generator->setRTFCharStyles(options.includeCharStyles()); generator->setSVGSize(options.getSVGWidth(), options.getSVGHeight()); LOGI("generator set finish3"); if (options.useCRDelimiter()) generator->setEOLDelimiter('\r'); generator->setValidateInput(options.validateInput()); generator->setNumberWrappedLines(options.numberWrappedLines()); generator->setStyleInputPath(options.getStyleInFilename()); generator->setStyleOutputPath(options.getStyleOutFilename()); generator->setIncludeStyle(options.includeStyleDef()); generator->setPrintLineNumbers(options.printLineNumbers(), options.getNumberStart()); generator->setPrintZeroes(options.fillLineNrZeroes()); generator->setFragmentCode(options.fragmentOutput()); generator->setPreformatting(options.getWrappingStyle(), (generator->getPrintLineNumbers()) ? options.getLineLength() - options.getNumberWidth() : options.getLineLength(), options.getNumberSpaces()); LOGI("generator set finish4"); generator->setEncoding(options.getEncoding()); generator->setBaseFont(options.getBaseFont()); generator->setBaseFontSize(options.getBaseFontSize()); generator->setLineNumberWidth(options.getNumberWidth()); generator->setStartingNestedLang(options.getStartNestedLang()); generator->disableTrailingNL(options.disableTrailingNL()); generator->setPluginReadFile(options.getPluginReadFilePath()); LOGI("generator set finish5"); styleFileWanted = !options.fragmentOutput() || options.styleOutPathDefined(); LOGI("styleFileWanted:%d options.fragmentOutput():%d", styleFileWanted, options.fragmentOutput()); const vector pluginFileList = collectPluginPaths( options.getPluginPaths()); for (unsigned int i = 0; i < pluginFileList.size(); i++) { if (!generator->initPluginScript(pluginFileList[i])) { cerr << "highlight: " << generator->getPluginScriptError() << " in " << pluginFileList[i] << "\n"; LOGE( "erro:%s in %s\n", generator->getPluginScriptError().c_str(), pluginFileList[i].c_str()); return EXIT_FAILURE; } } LOGI("generator set finish6 themePath:%s", themePath.c_str()); if (!generator->initTheme(themePath)) { cerr << "highlight: " << generator->getThemeInitError() << "\n"; LOGE("erro:%s", generator->getThemeInitError().c_str()); return EXIT_FAILURE; } LOGI("generator set finish7"); if (options.printOnlyStyle()) { if (!options.formatSupportsExtStyle()) { cerr << "highlight: output format supports no external styles.\n"; LOGE("output format supports no external styles.\n"); return EXIT_FAILURE; } bool useStdout = options.getStyleOutFilename() == "stdout"; string cssOutFile = options.getOutDirectory() + options.getStyleOutFilename(); bool success = generator->printExternalStyle( useStdout ? "" : cssOutFile); if (!success) { cerr << "highlight: Could not write " << cssOutFile << ".\n"; LOGE("highlight: Could not write %s.\n", cssOutFile.c_str()); return EXIT_FAILURE; } styleFileWanted = 0; //return EXIT_SUCCESS; } LOGI("generator set finish8"); formattingEnabled = generator->initIndentationScheme( options.getIndentScheme()); LOGI("generator set finish9"); if (!formattingEnabled && !options.getIndentScheme().empty()) { cerr << "highlight: Undefined indentation scheme " << options.getIndentScheme() << ".\n"; LOGE( "Undefined indentation scheme %s.\n", options.getIndentScheme().c_str()); return EXIT_FAILURE; } LOGI("init finish"); LOGI("generator:%p", &generator); } int HighliterAndroid::parse(string content, vector &result) { LOGI("parse generator:%p", &generator); string outDirectory = options.getOutDirectory(); LOGI("outDirectory:%s", outDirectory.c_str()); bool initError = false, IOError = false; unsigned int fileCount = inFileList.size(), fileCountWidth = getNumDigits( fileCount), i = 0, numBadFormatting = 0, numBadInput = 0, numBadOutput = 0; vector badFormattedFiles, badInputFiles, badOutputFiles; std::set usedFileNames; string inFileName, outFilePath; string suffix, lastSuffix; if (options.syntaxGiven()) // user defined language definition, valid for all files { suffix = guessFileType(options.getSyntax(), "", true); } LOGI("suffix:%s", suffix.c_str()); if (!options.syntaxGiven()) // determine file type for each file { suffix = guessFileType(getFileSuffix(inFileList[i]), inFileList[i]); } if (suffix.empty() && options.forceOutput()) suffix = "txt"; //avoid segfault if (suffix.empty()) { if (!options.enableBatchMode()) { cerr << "highlight: Undefined language definition. Use --" << OPT_SYNTAX << " option.\n"; LOGE( "highlight: Undefined language definition. Use --%s option.\n", OPT_SYNTAX); } if (!options.forceOutput()) { initError = true; } } if (suffix != lastSuffix) { string langDefPath = options.getAbsLangPath().empty() ? dataDir.getLangPath(suffix + ".lang") : options.getAbsLangPath(); LOGI("langDefPath:%s", langDefPath.c_str()); LOGI("generator addr:%p", &generator); highlight::LoadResult loadRes = generator->loadLanguage(langDefPath); if (loadRes == highlight::LOAD_FAILED_REGEX) { cerr << "highlight: Regex error ( " << generator->getSyntaxRegexError() << " ) in " << suffix << ".lang\n"; LOGE( "Regex error ( %s ) in %s.lang\n", generator->getSyntaxRegexError().c_str(), suffix.c_str()); initError = true; } else if (loadRes == highlight::LOAD_FAILED_LUA) { cerr << "highlight: Lua error ( " << generator->getSyntaxLuaError() << " ) in " << suffix << ".lang\n"; LOGE( "Lua error ( %s ) in %s.lang\n", generator->getSyntaxLuaError().c_str(), suffix.c_str()); initError = true; } else if (loadRes == highlight::LOAD_FAILED) { // do also ignore error msg if --syntax parameter should be skipped if (!(options.quietMode() || options.isSkippedExt(suffix))) { cerr << "highlight: Unknown source file extension \"" << suffix << "\".\n"; LOGE( "Unknown source file extension \"%s\".\n", suffix.c_str()); } if (!options.forceOutput()) { initError = true; } } if (options.printDebugInfo() && loadRes == highlight::LOAD_OK) { printDebugInfo(generator->getSyntaxReader(), langDefPath); } lastSuffix = suffix; } if (options.useFNamesAsAnchors()) { generator->setHTMLAnchorPrefix(inFileName); } generator->setTitle( options.getDocumentTitle().empty() ? inFileList[i] : options.getDocumentTitle()); generator->setKeyWordCase(options.getKeywordCase()); //out = generator->generateString(content); result = generator->generateObject(content); // LOGI("generate out:%s",out.c_str() ); if (formattingEnabled && !generator->formattingIsPossible()) { if (numBadFormatting++ < IO_ERROR_REPORT_LENGTH || options.printDebugInfo()) { badFormattedFiles.push_back(outFilePath); } } if (!options.includeStyleDef() && styleFileWanted && options.formatSupportsExtStyle()) { string cssOutFile = outDirectory + options.getStyleOutFilename(); bool success = generator->printExternalStyle(cssOutFile); if (!success) { cerr << "highlight: Could not write " << cssOutFile << ".\n"; LOGE("highlight: Could not write %s.\n", cssOutFile.c_str()); IOError = true; } } if (options.printIndexFile()) { bool success = generator->printIndexFile(inFileList, outDirectory); if (!success) { cerr << "highlight: Could not write index file.\n"; LOGE("highlight: Could not write index file.\n"); IOError = true; } } if (numBadInput) { printIOErrorReport(numBadInput, badInputFiles, "read input"); IOError = true; } if (numBadOutput) { printIOErrorReport(numBadOutput, badOutputFiles, "write output"); IOError = true; } if (numBadFormatting) { printIOErrorReport(numBadFormatting, badFormattedFiles, "reformat"); } return (initError || IOError) ? EXIT_FAILURE : EXIT_SUCCESS; } int HighliterAndroid::getNumDigits(int i) { int res = 0; while (i) { i /= 10; ++res; } return res; } void HighliterAndroid::printProgressBar(int total, int count) { if (!total) return; int p = 100 * count / total; int numProgressItems = p / 10; cout << "\r["; for (int i = 0; i < 10; i++) { cout << ((i < numProgressItems) ? "#" : " "); } cout << "] " << setw(3) << p << "%, " << count << " / " << total << " " << flush; if (p == 100) { cout << endl; } } void HighliterAndroid::printCurrentAction(const string &outfilePath, int total, int count, int countWidth) { cout << "Writing file " << setw(countWidth) << count << " of " << total << ": " << outfilePath << "\n"; } void HighliterAndroid::printIOErrorReport(unsigned int numberErrorFiles, vector &fileList, const string &action) { cerr << "highlight: Could not " << action << " file" << ((numberErrorFiles > 1) ? "s" : "") << ":\n"; LOGE( "highlight: Could not %s file%s:\n", action.c_str(), ((numberErrorFiles > 1) ? "s" : "")); copy(fileList.begin(), fileList.end(), ostream_iterator(cerr, "\n")); if (fileList.size() < numberErrorFiles) { cerr << "... [" << (numberErrorFiles - fileList.size()) << " of " << numberErrorFiles << " failures not shown, use --" << OPT_VERBOSE << " switch to print all failures]\n"; LOGE( "... [%d of %d failures not shown, use -- %s switch to print all failures]\n", (numberErrorFiles - fileList.size()), numberErrorFiles, OPT_VERBOSE); } } string HighliterAndroid::analyzeFile(const string &file) { string firstLine; if (!file.empty()) { ifstream inFile(file.c_str()); getline(inFile, firstLine); } else { // This copies all the data to a new buffer, uses the data to get the // first line, then makes cin use the new buffer that underlies the // stringstream instance cin_bufcopy << cin.rdbuf(); getline(cin_bufcopy, firstLine); cin_bufcopy.seekg(0, ios::beg); cin.rdbuf(cin_bufcopy.rdbuf()); } StringMap::iterator it; boost::xpressive::sregex rex; boost::xpressive::smatch what; for (it = scriptShebangs.begin(); it != scriptShebangs.end(); it++) { rex = boost::xpressive::sregex::compile(it->first); if (boost::xpressive::regex_search(firstLine, what, rex)) return it->second; } return ""; } string HighliterAndroid::guessFileType(const string &suffix, const string &inputFile, bool useUserSuffix) { string lcSuffix = StringTools::change_case(suffix); if (extensions.count(lcSuffix)) { return extensions[lcSuffix]; } if (!useUserSuffix) { string shebang = analyzeFile(inputFile); if (!shebang.empty()) return shebang; } return lcSuffix; } void HighliterAndroid::printDebugInfo(const highlight::SyntaxReader *lang, const string &langDefPath) { if (!lang) return; cerr << "\nLoading language definition:\n" << langDefPath; cerr << "\n\nDescription: " << lang->getDescription(); Diluculum::LuaState *luaState = lang->getLuaState(); if (luaState) { cerr << "\n\nLUA GLOBALS:\n"; Diluculum::LuaValueMap::iterator it; Diluculum::LuaValueMap glob = luaState->globals(); for (it = glob.begin(); it != glob.end(); it++) { Diluculum::LuaValue first = it->first; Diluculum::LuaValue second = it->second; std::cerr << first.asString() << ": "; switch (second.type()) { case LUA_TSTRING: cerr << "string [ " << second.asString() << " ]"; break; case LUA_TNUMBER: cerr << "number [ " << second.asNumber() << " ]"; break; case LUA_TBOOLEAN: cerr << "boolean [ " << second.asBoolean() << " ]"; break; default: cerr << second.typeName(); } cerr << endl; } } /* cerr << "\nREGEX:\n"; highlight::RegexElement *re=NULL; for ( unsigned int i=0; igetRegexElements().size(); i++ ) { re = lang->getRegexElements() [i]; cerr << "State "<open<<":\t"<rex. <<"\n"; }*/ cerr << "\nKEYWORDS:\n"; highlight::KeywordMap::iterator it; highlight::KeywordMap keys = lang->getKeywords(); for (it = keys.begin(); it != keys.end(); it++) { cerr << " " << it->first << "(" << it->second << ")"; } cerr << "\n\n"; } void HighliterAndroid::printConfigInfo() { cout << "\nConfig file search directories:\n"; dataDir.printConfigPaths(); cout << "\nFiletype config file:\n" << dataDir.getFiletypesConfPath("filetypes") << "\n"; cout << endl; #ifdef HL_DATA_DIR cout << "Compiler directive HL_DATA_DIR = " < filePaths; string wildcard = "*.lang"; string directory = dataDir.getLangPath(); string searchDir = directory + wildcard; bool directoryOK = Platform::getDirectoryEntries(filePaths, searchDir, true); if (!directoryOK) { cerr << "highlight: Could not access directory " << searchDir << ", aborted.\n"; return EXIT_FAILURE; } sort(filePaths.begin(), filePaths.end()); string suffix, desc; cout << "\nInstalled language definitions" << " (located in " << directory << "):\n\n"; for (unsigned int i = 0; i < filePaths.size(); i++) { Diluculum::LuaState ls; highlight::SyntaxReader::initLuaState(ls, filePaths[i], ""); ls.doFile(filePaths[i]); desc = ls["Description"].value().asString(); suffix = (filePaths[i]).substr(directory.length()); suffix = suffix.substr(1, suffix.length() - wildcard.length()); cout << setw(30) << setiosflags(ios::left) << desc << ": " << suffix; int extCnt = 0; for (StringMap::iterator it = extensions.begin(); it != extensions.end(); it++) { if (it->second == suffix) { cout << ((++extCnt == 1) ? " ( " : " ") << it->first; } } cout << ((extCnt) ? " )" : "") << endl; } cout << "\nUse name of the desired language" << " with the --" OPT_SYNTAX " option.\n" << endl; return EXIT_SUCCESS; } string HighliterAndroid::getFileSuffix(const string &fileName) { size_t ptPos = fileName.rfind("."); size_t psPos = fileName.rfind(Platform::pathSeparator); if (ptPos == string::npos) { return (psPos == string::npos) ? fileName : fileName.substr(psPos + 1, fileName.length()); } //return (ptPos == string::npos || (psPos!=string::npos && psPos>ptPos)) ? "" : fileName.substr(ptPos+1, fileName.length()); return (psPos != string::npos && psPos > ptPos) ? "" : fileName.substr(ptPos + 1, fileName.length()); } vector HighliterAndroid::collectPluginPaths( const vector &plugins) { vector absolutePaths; for (unsigned int i = 0; i < plugins.size(); i++) { if (Platform::fileExists(plugins[i])) { absolutePaths.push_back(plugins[i]); } else { absolutePaths.push_back(dataDir.getPluginPath(plugins[i] + ".lua")); } } return absolutePaths; } bool HighliterAndroid::loadFileTypeConfig(const string &name, StringMap *extMap, StringMap *shebangMap) { if (!extMap || !shebangMap) return false; // string confPath=dataDir.getConfDir() + name + ".conf"; string confPath = dataDir.getFiletypesConfPath(name); try { Diluculum::LuaState ls; Diluculum::LuaValueList ret = ls.doFile(confPath); int idx = 1; string langName; Diluculum::LuaValue mapEntry; while ((mapEntry = ls["FileMapping"][idx].value()) != Diluculum::Nil) { langName = mapEntry["Lang"].asString(); if (mapEntry["Extensions"] != Diluculum::Nil) { int extIdx = 1; while (mapEntry["Extensions"][extIdx] != Diluculum::Nil) { extMap->insert( make_pair(mapEntry["Extensions"][extIdx].asString(), langName)); extIdx++; } } else if (mapEntry["Shebang"] != Diluculum::Nil) { shebangMap->insert( make_pair(mapEntry["Shebang"].asString(), langName)); } idx++; } } catch (Diluculum::LuaError err) { cerr << err.what() << "\n"; return false; } return true; } ================================================ FILE: jni/highlight/android/app.h ================================================ /* Copyright (C) 2015 evilbinary. * rootdebug@163.com This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef HIGHLIGHT_APP #define HIGHLIGHT_APP #include #include #include #include #include #include #include #include #include "cmdlineoptions.h" #include "datadir.h" #include "codegenerator.h" #include "../include/codegenerator.h" using namespace std; using namespace highlight; #define EXIT_FAILURE 1 #define EXIT_SUCCESS 0 #define IO_ERROR_REPORT_LENGTH 5 #define SHEBANG_CNT 12 #if ANDROID #include #ifndef TAG_NAME #define TAG_NAME "highliter" #endif #define LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, TAG_NAME, __VA_ARGS__)) #define LOGW(...) ((void)__android_log_print(ANDROID_LOG_WARN, TAG_NAME, __VA_ARGS__)) #define LOGE(...) ((void)__android_log_print(ANDROID_LOG_ERROR, TAG_NAME, __VA_ARGS__)) #define LOGV(...) ((void)__android_log_print(ANDROID_LOG_VERBOSE, TAG_NAME, __VA_ARGS__)) #else #define LOGI(...) #define LOGW(...) #define LOGE(...) #endif /* DO NOT EDIT THIS FILE - it is machine generated */ #include /* Header for class org_evilbinary_highliter_parsers_SyntaxHighlight */ #ifdef __cplusplus extern "C" { #endif JNIEXPORT jint JNICALL Java_org_evilbinary_highliter_parsers_SyntaxHighlight_init (JNIEnv *, jobject,jstring); JNIEXPORT jstring JNICALL Java_org_evilbinary_highliter_parsers_SyntaxHighlight_pase( JNIEnv *env, jobject obj, jstring code); #ifdef __cplusplus } #endif typedef map StringMap; class HighliterAndroid { private: DataDir dataDir; StringMap extensions; StringMap scriptShebangs; stringstream cin_bufcopy; CmdLineOptions options; highlight::CodeGenerator* generator; vector inFileList; bool formattingEnabled; bool styleFileWanted; public: HighliterAndroid(); int init(string dataDirPath); void destroy(); int parse(string content, vector &out); /** print version info*/ void printVersionInfo(); /** print configuration info*/ void printConfigInfo(); /** print error message*/ void printBadInstallationInfo(); /** print input and output errors */ void printIOErrorReport(unsigned int numberErrorFiles, vector & fileList, const string &action); /** list installed files \return true if files were found */ int printInstalledFiles(const string& where, const string& wildcard, const string& what, const string&option); /** list installed language definition files \return true if lang files were found */ int printInstalledLanguages(); /** print debug information \param lang language definition \param langDefPath path to language definition */ void printDebugInfo(const highlight::SyntaxReader *lang, const string &langDefPath); string getFileSuffix(const string &fileName); string guessFileType(const string &suffix, const string &inputFile = "", bool useUserSuffix = false); int getNumDigits(int i); void printProgressBar(int total, int count); void printCurrentAction(const string&outfilePath, int total, int count, int countWidth); bool readInputFilePaths(vector &fileList, string wildcard, bool recursiveSearch); string analyzeFile(const string& file); bool loadFileTypeConfig(const string& name, StringMap* map, StringMap* shebangMap); void printInstalledFiles(); vector collectPluginPaths(const vector& plugins); }; #endif ================================================ FILE: jni/highlight/cli/arg_parser.cc ================================================ /* Arg_parser - A POSIX/GNU command line argument parser. Copyright (C) 2006, 2007, 2008 Antonio Diaz Diaz. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include "arg_parser.h" bool Arg_parser::parse_long_option( const char * const opt, const char * const arg, const Option options[], int & argind ) throw() { unsigned int len; int index = -1; bool exact = false, ambig = false; for( len = 0; opt[len+2] && opt[len+2] != '='; ++len ) ; // Test all long options for either exact match or abbreviated matches. for( int i = 0; options[i].code != 0; ++i ) if( options[i].name && !std::strncmp( options[i].name, &opt[2], len ) ) { if( std::strlen( options[i].name ) == len ) // Exact match found { index = i; exact = true; break; } else if( index < 0 ) index = i; // First nonexact match found else if( options[index].code != options[i].code || options[index].has_arg != options[i].has_arg ) ambig = true; // Second or later nonexact match found } if( ambig && !exact ) { _error = "option `"; _error += opt; _error += "' is ambiguous"; return false; } if( index < 0 ) // nothing found { _error = "unrecognized option `"; _error += opt; _error += '\''; return false; } ++argind; data.push_back( Record( options[index].code ) ); if( opt[len+2] ) // `--=' syntax { if( options[index].has_arg == no ) { _error = "option `--"; _error += options[index].name; _error += "' doesn't allow an argument"; return false; } if( options[index].has_arg == yes && !opt[len+3] ) { _error = "option `--"; _error += options[index].name; _error += "' requires an argument"; return false; } data.back().argument = &opt[len+3]; return true; } if( options[index].has_arg == yes ) { if( !arg ) { _error = "option `--"; _error += options[index].name; _error += "' requires an argument"; return false; } ++argind; data.back().argument = arg; return true; } return true; } bool Arg_parser::parse_short_option( const char * const opt, const char * const arg, const Option options[], int & argind ) throw() { int cind = 1; // character index in opt while( cind > 0 ) { int index = -1; const unsigned char code = opt[cind]; if( code != 0 ) for( int i = 0; options[i].code; ++i ) if( code == options[i].code ) { index = i; break; } if( index < 0 ) { _error = "invalid option -- "; _error += code; return false; } data.push_back( Record( code ) ); if( opt[++cind] == 0 ) { ++argind; cind = 0; } // opt finished if( options[index].has_arg != no && cind > 0 && opt[cind] ) { data.back().argument = &opt[cind]; ++argind; cind = 0; } else if( options[index].has_arg == yes ) { if( !arg || !arg[0] ) { _error = "option requires an argument -- "; _error += code; return false; } data.back().argument = arg; ++argind; cind = 0; } } return true; } Arg_parser::Arg_parser( const int argc, const char * const argv[], const Option options[], const bool in_order ) throw() { if( argc < 2 || !argv || !options ) return; std::vector< std::string > non_options; // skipped non-options int argind = 1; // index in argv while( argind < argc ) { const unsigned char ch1 = argv[argind][0]; const unsigned char ch2 = ( ch1 ? argv[argind][1] : 0 ); if( ch1 == '-' && ch2 ) // we found an option { const char * const opt = argv[argind]; const char * const arg = (argind + 1 < argc) ? argv[argind+1] : 0; if( ch2 == '-' ) { if( !argv[argind][2] ) { ++argind; break; } // we found "--" else if( !parse_long_option( opt, arg, options, argind ) ) break; } else if( !parse_short_option( opt, arg, options, argind ) ) break; } else { if( !in_order ) non_options.push_back( argv[argind++] ); else { data.push_back( Record() ); data.back().argument = argv[argind++]; } } } if( _error.size() ) data.clear(); else { for( unsigned int i = 0; i < non_options.size(); ++i ) { data.push_back( Record() ); data.back().argument.swap( non_options[i] ); } while( argind < argc ) { data.push_back( Record() ); data.back().argument = argv[argind++]; } } } Arg_parser::Arg_parser( const char * const opt, const char * const arg, const Option options[] ) throw() { if( !opt || !opt[0] || !options ) return; if( opt[0] == '-' && opt[1] ) // we found an option { int argind = 1; // dummy if( opt[1] == '-' ) { if( opt[2] ) parse_long_option( opt, arg, options, argind ); } else parse_short_option( opt, arg, options, argind ); if( _error.size() ) data.clear(); } else { data.push_back( Record() ); data.back().argument = opt; } } ================================================ FILE: jni/highlight/cli/arg_parser.h ================================================ /* Arg_parser - A POSIX/GNU command line argument parser. Copyright (C) 2006, 2007, 2008 Antonio Diaz Diaz. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Arg_parser reads the arguments in `argv' and creates a number of option codes, option arguments and non-option arguments. In case of error, `error' returns a non-empty error message. `options' is an array of `struct Option' terminated by an element containing a code which is zero. A null name means a short-only option. A code value outside the unsigned char range means a long-only option. Arg_parser normally makes it appear as if all the option arguments were specified before all the non-option arguments for the purposes of parsing, even if the user of your program intermixed option and non-option arguments. If you want the arguments in the exact order the user typed them, call `Arg_parser' with `in_order' = true. The argument `--' terminates all options; any following arguments are treated as non-option arguments, even if they begin with a hyphen. The syntax for optional option arguments is `-' (without whitespace), or `--='. */ class Arg_parser { public: enum Has_arg { no, yes, maybe }; struct Option { int code; // Short option letter or code ( code != 0 ) const char * name; // Long option name (maybe null) Has_arg has_arg; }; private: struct Record { int code; std::string argument; Record ( const int c = 0 ) : code ( c ) {} }; std::string _error; std::vector< Record > data; bool parse_long_option ( const char * const opt, const char * const arg, const Option options[], int & argind ) throw(); bool parse_short_option ( const char * const opt, const char * const arg, const Option options[], int & argind ) throw(); public: Arg_parser ( const int argc, const char * const argv[], const Option options[], const bool in_order = false ) throw(); // Restricted constructor. Parses a single token and argument (if any) Arg_parser ( const char * const opt, const char * const arg, const Option options[] ) throw(); const std::string & error() const throw() { return _error; } // The number of arguments parsed (may be different from argc) int arguments() const throw() { return data.size(); } // If code( i ) is 0, argument( i ) is a non-option. // Else argument( i ) is the option's argument (or empty). int code ( const int i ) const throw() { if ( i >= 0 && i < arguments() ) return data[i].code; else return 0; } const std::string & argument ( const int i ) const throw() { if ( i >= 0 && i < arguments() ) return data[i].argument; else return _error; } }; ================================================ FILE: jni/highlight/cli/cmdlineoptions.cpp ================================================ /*************************************************************************** cmdlineoptions.cpp - description ------------------- begin : Sun Nov 25 2001 copyright : (C) 2001-2010 by Andre Simon email : andre.simon1@gmx.de ***************************************************************************/ /* This file is part of Highlight. Highlight is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Highlight is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Highlight. If not, see . */ #include "cmdlineoptions.h" #include "platform_fs.h" #include "datadir.h" #include #include #include "arg_parser.h" using namespace std; CmdLineOptions::CmdLineOptions() : numberSpaces(0), lineNrWidth(5), lineLength(80), lineNrStart(1), wrappingStyle( highlight::WRAP_DISABLED), outputType(highlight::HTML), keywordCase( StringTools::CASE_UNCHANGED), baseFontSize("10"), className( "hl"), opt_syntax(false), opt_include_style(false), opt_help( false), opt_version(false), opt_verbose(false), opt_print_config( false), opt_linenumbers(false), opt_style(false), opt_batch_mode( false), opt_fragment(false), opt_attach_line_anchors(false), opt_show_themes( false), opt_show_langdefs(false), opt_show_plugins(false), opt_printindex( false), opt_quiet(false), opt_replacequotes(false), opt_babel( false), opt_print_progress(false), opt_fill_zeroes(false), opt_stylepath_explicit( false), opt_force_output(false), opt_ordered_list(false), opt_fnames_as_anchors( false), opt_validate(false), opt_number_wrapped_lines(true), //before the patch, this was always true, so by default it stays true. opt_inline_css(false), opt_enclose_pre(false), opt_char_styles(false), opt_pretty_symbols( false), opt_delim_CR(false), opt_print_style(false), opt_no_trailing_nl( false), anchorPrefix("l"), helpLang("en"), encodingName( "ISO-8859-1") { LOGI("CmdLineOptions construct"); } CmdLineOptions::CmdLineOptions(const int argc, const char *argv[]) : numberSpaces(0), lineNrWidth(5), lineLength(80), lineNrStart(1), wrappingStyle( highlight::WRAP_DISABLED), outputType(highlight::HTML), keywordCase( StringTools::CASE_UNCHANGED), baseFontSize("10"), className( "hl"), opt_syntax(false), opt_include_style(false), opt_help( false), opt_version(false), opt_verbose(false), opt_print_config( false), opt_linenumbers(false), opt_style(false), opt_batch_mode( false), opt_fragment(false), opt_attach_line_anchors(false), opt_show_themes( false), opt_show_langdefs(false), opt_show_plugins(false), opt_printindex( false), opt_quiet(false), opt_replacequotes(false), opt_babel( false), opt_print_progress(false), opt_fill_zeroes(false), opt_stylepath_explicit( false), opt_force_output(false), opt_ordered_list(false), opt_fnames_as_anchors( false), opt_validate(false), opt_number_wrapped_lines(true), //before the patch, this was always true, so by default it stays true. opt_inline_css(false), opt_enclose_pre(false), opt_char_styles(false), opt_pretty_symbols( false), opt_delim_CR(false), opt_print_style(false), opt_no_trailing_nl( false), anchorPrefix("l"), helpLang("en"), encodingName( "ISO-8859-1") { enum Optcode { S_OPT_ENCLOSE_PRE = 256, S_OPT_FORCE_OUTPUT, S_OPT_INLINE_CSS, S_OPT_KW_CASE, S_OPT_PRINT_CONFIG, S_OPT_TEST_INPUT, S_OPT_NO_NUMBER_WL, S_OPT_SVG_WIDTH, S_OPT_SVG_HEIGHT, S_OPT_CLASSNAME, S_OPT_RTF_CHAR_STYLES, S_OPT_SKIP_UNKNOWN, S_OPT_COMPAT_DOC, S_OPT_COMPAT_NODOC, S_OPT_COMPAT_TAB, S_OPT_COMPAT_CSS, S_OPT_COMPAT_OUTDIR, S_OPT_COMPAT_FAILSAFE, S_OPT_COMPAT_SRCLANG, S_OPT_COMPAT_LINENUM, S_OPT_COMPAT_LINEREF, S_OPT_PRETTY_SYMBOLS, S_OPT_EOL_DELIM_CR, S_OPT_START_NESTED, S_OPT_PRINT_STYLE, S_OPT_NO_TRAILING_NL, S_OPT_PLUGIN, S_OPT_ABS_CFG_PATH, S_OPT_PLUGIN_READFILE, S_LIST_SCRIPTS }; const Arg_parser::Option options[] = { { 'a', OPT_ANCHORS, Arg_parser::no }, { 'b', OPT_BABEL, Arg_parser::no }, { 'B', OPT_BATCHREC, Arg_parser::yes }, { 'c', OPT_STYLE_OUT, Arg_parser::yes }, { 'C', OPT_INDEXFILE, Arg_parser::no }, { 'd', OPT_OUTDIR, Arg_parser::yes }, { 'D', OPT_DATADIR, Arg_parser::yes }, { 'e', OPT_STYLE_IN, Arg_parser::yes }, { 'f', OPT_FRAGMENT, Arg_parser::no }, { 'F', OPT_FORMAT, Arg_parser::yes }, { 'h', OPT_HELP, Arg_parser::no }, { 'i', OPT_IN, Arg_parser::yes }, { 'I', OPT_INC_STYLE, Arg_parser::no }, { 'j', OPT_LNR_LEN, Arg_parser::yes }, { 'J', OPT_LINE_LEN, Arg_parser::yes }, { 'k', OPT_BASE_FONT, Arg_parser::yes }, { 'K', OPT_BASE_FONT_SIZE, Arg_parser::yes }, { 'l', OPT_LINENO, Arg_parser::no }, { 'm', OPT_LNR_START, Arg_parser::yes }, { 'n', OPT_ORDERED_LIST, Arg_parser::no }, { 'N', OPT_ANCHOR_FN, Arg_parser::no }, { 'o', OPT_OUT, Arg_parser::yes }, { 'O', OPT_OUTFORMAT, Arg_parser::yes }, { 'p', OPT_LISTLANGS, Arg_parser::no }, { 'P', OPT_PROGRESSBAR, Arg_parser::no }, { 'q', OPT_QUIET, Arg_parser::no }, { 'Q', OPT_VERSION, Arg_parser::no }, { 'r', OPT_REPLACE_QUOTES, Arg_parser::no }, { 's', OPT_STYLE, Arg_parser::yes }, { 'S', OPT_SYNTAX, Arg_parser::yes }, { 't', OPT_DELTABS, Arg_parser::yes }, { 'T', OPT_DOC_TITLE, Arg_parser::yes }, { 'u', OPT_ENCODING, Arg_parser::yes }, { 'v', OPT_VERBOSE, Arg_parser::no }, { 'V', OPT_WRAPSIMPLE, Arg_parser::no }, { 'w', OPT_LISTTHEMES, Arg_parser::no }, { 'W', OPT_WRAP, Arg_parser::no }, { 'x', OPT_RTF_PAGE_SIZE, Arg_parser::yes }, { 'y', OPT_ANCHOR_PFX, Arg_parser::yes }, { 'z', OPT_FILLZEROES, Arg_parser::no }, { S_OPT_CLASSNAME, OPT_CLASSNAME, Arg_parser::yes }, { S_OPT_SVG_WIDTH, OPT_SVG_WIDTH, Arg_parser::yes }, { S_OPT_SVG_HEIGHT, OPT_SVG_HEIGHT, Arg_parser::yes }, { S_OPT_ENCLOSE_PRE, OPT_ENCLOSE_PRE, Arg_parser::no }, { S_OPT_FORCE_OUTPUT, OPT_FORCE_OUTPUT, Arg_parser::no }, { S_OPT_INLINE_CSS, OPT_INLINE_CSS, Arg_parser::no }, { S_OPT_KW_CASE, OPT_KW_CASE, Arg_parser::yes }, { S_OPT_PRINT_CONFIG, OPT_PRINT_CONFIG, Arg_parser::no }, { S_OPT_TEST_INPUT, OPT_TEST_INPUT, Arg_parser::no }, { S_OPT_NO_NUMBER_WL, OPT_NO_NUMBER_WL, Arg_parser::no }, { S_OPT_RTF_CHAR_STYLES, OPT_RTF_CHAR_STYLES, Arg_parser::no }, { S_OPT_SKIP_UNKNOWN, OPT_SKIP_UNKNOWN, Arg_parser::yes }, { S_OPT_START_NESTED, OPT_START_NESTED, Arg_parser::yes }, { S_OPT_COMPAT_DOC, OPT_COMPAT_DOC, Arg_parser::no }, { S_OPT_COMPAT_NODOC, OPT_COMPAT_NODOC, Arg_parser::no }, { S_OPT_COMPAT_TAB, OPT_COMPAT_TAB, Arg_parser::yes }, { S_OPT_COMPAT_CSS, OPT_COMPAT_CSS, Arg_parser::yes }, { S_OPT_COMPAT_OUTDIR, OPT_COMPAT_OUTDIR, Arg_parser::yes }, { S_OPT_COMPAT_FAILSAFE, OPT_COMPAT_FAILSAFE, Arg_parser::no }, { S_OPT_COMPAT_SRCLANG, OPT_COMPAT_SRCLANG, Arg_parser::yes }, { S_OPT_COMPAT_LINENUM, OPT_COMPAT_LINENUM, Arg_parser::maybe }, { S_OPT_COMPAT_LINEREF, OPT_COMPAT_LINEREF, Arg_parser::maybe }, { S_OPT_PRETTY_SYMBOLS, OPT_PRETTY_SYMBOLS, Arg_parser::no }, { S_OPT_EOL_DELIM_CR, OPT_EOL_DELIM_CR, Arg_parser::no }, { S_OPT_PRINT_STYLE, OPT_PRINT_STYLE, Arg_parser::no }, { S_OPT_NO_TRAILING_NL, OPT_NO_TRAILING_NL, Arg_parser::no }, { S_OPT_PLUGIN, OPT_PLUGIN, Arg_parser::yes }, { S_OPT_PLUGIN_READFILE, OPT_PLUGIN_READFILE, Arg_parser::yes }, { S_OPT_ABS_CFG_PATH, OPT_ABS_CFG_PATH, Arg_parser::yes }, { S_LIST_SCRIPTS, OPT_LIST_SCRIPTS, Arg_parser::yes }, { 0, 0, Arg_parser::no } }; Arg_parser parser(argc, argv, options); if (parser.error().size()) // bad option { cerr << "highlight: " << parser.error() << "\n"; cerr << "Try `highlight --help' for more information.\n"; exit(1); } int argind = 0; for (; argind < parser.arguments(); ++argind) { const int code = parser.code(argind); const std::string & arg = parser.argument(argind); if (!code) break; // no more options switch (code) { case 'O': { const string tmp = StringTools::change_case(arg); if(tmp=="object") outputType=highlight::OBJECT; else if (tmp == "xhtml") outputType = highlight::XHTML; else if (tmp == "tex") outputType = highlight::TEX; else if (tmp == "latex") outputType = highlight::LATEX; else if (tmp == "rtf") outputType = highlight::RTF; else if (tmp == "ansi" || tmp == "esc") // gnu source-highlight esc parameter outputType = highlight::ANSI; else if (tmp == "xterm256") outputType = highlight::XTERM256; else if (tmp == "svg") outputType = highlight::SVG; else if (tmp == "bbcode") outputType = highlight::BBCODE; else if (tmp == "pango") outputType = highlight::PANGO; else if (tmp == "odt") outputType = highlight::ODTFLAT; else outputType = highlight::HTML; } break; case 'a': opt_attach_line_anchors = true; break; case 'b': opt_babel = true; break; case 'B': opt_batch_mode = true; readDirectory(arg); break; case 'c': case S_OPT_COMPAT_CSS: styleOutFilename = arg; opt_stylepath_explicit = true; break; case 'C': opt_printindex = true; break; case 'T': docTitle = arg; break; case 'D': dataDir = validateDirPath(arg); break; case 'e': styleInFilename = arg; break; case 'f': case S_OPT_COMPAT_NODOC: opt_fragment = true; break; case 'F': indentScheme = arg; break; case S_OPT_CLASSNAME: className = arg; break; case 'h': opt_help = true; break; case 'i': inputFileNames.push_back(arg); break; case 'I': opt_include_style = true; break; case 'j': StringTools::str2num(lineNrWidth, arg, std::dec); break; case 'J': StringTools::str2num(lineLength, arg, std::dec); break; case 'k': baseFont = arg; break; case 'K': baseFontSize = arg; break; case S_OPT_COMPAT_LINENUM: if (arg == "0") opt_fill_zeroes = true; case 'l': opt_linenumbers = true; break; case 'm': StringTools::str2num(lineNrStart, arg, std::dec); break; case 'M': outputType = highlight::XTERM256; break; case 'n': opt_ordered_list = opt_linenumbers = true; break; case 'N': opt_fnames_as_anchors = true; break; case 'o': outFilename = arg; break; case 'd': case S_OPT_COMPAT_OUTDIR: outDirectory = validateDirPath(arg); break; case 'p': opt_show_langdefs = true; break; case 'P': opt_print_progress = true; break; case 'q': opt_quiet = true; break; case 'Q': opt_version = true; break; case 'r': opt_replacequotes = true; break; case 's': styleName = arg; opt_style = true; break; case 'S': case S_OPT_COMPAT_SRCLANG: syntax = arg; opt_syntax = true; break; case 't': case S_OPT_COMPAT_TAB: StringTools::str2num(numberSpaces, arg, std::dec); break; case 'u': encodingName = arg; break; case 'v': opt_verbose = true; break; case 'V': wrappingStyle = highlight::WRAP_SIMPLE; break; case 'w': opt_show_themes = true; break; case 'W': wrappingStyle = highlight::WRAP_DEFAULT; break; case 'x': pageSize = arg; break; case 'y': anchorPrefix = arg; break; case 'z': opt_fill_zeroes = true; break; case S_OPT_SVG_WIDTH: svg_width = arg; break; case S_OPT_SVG_HEIGHT: svg_height = arg; break; case S_OPT_ENCLOSE_PRE: opt_enclose_pre = true; break; case S_OPT_FORCE_OUTPUT: case S_OPT_COMPAT_FAILSAFE: opt_force_output = true; break; case S_OPT_INLINE_CSS: opt_inline_css = true; break; case S_OPT_KW_CASE: { const string tmp = StringTools::change_case(arg); if (tmp == "upper") keywordCase = StringTools::CASE_UPPER; else if (tmp == "lower") keywordCase = StringTools::CASE_LOWER; else if (tmp == "capitalize") keywordCase = StringTools::CASE_CAPITALIZE; } break; case S_OPT_PRINT_CONFIG: opt_print_config = true; break; case S_OPT_TEST_INPUT: opt_validate = true; break; case S_OPT_NO_NUMBER_WL: opt_number_wrapped_lines = false; break; case S_OPT_RTF_CHAR_STYLES: opt_char_styles = true; break; case S_OPT_SKIP_UNKNOWN: skipArg = arg; break; case S_OPT_PLUGIN: userPlugins.push_back(arg); break; case S_OPT_PLUGIN_READFILE: pluginReadFilePath = arg; break; case S_OPT_PRETTY_SYMBOLS: opt_pretty_symbols = true; break; case S_OPT_COMPAT_DOC: opt_fragment = false; break; case S_OPT_COMPAT_LINEREF: opt_linenumbers = true; opt_attach_line_anchors = true; anchorPrefix = (arg.empty()) ? "line" : arg; break; case S_OPT_EOL_DELIM_CR: opt_delim_CR = true; break; case S_OPT_START_NESTED: startNestedLang = arg; break; case S_OPT_PRINT_STYLE: opt_print_style = true; break; case S_OPT_NO_TRAILING_NL: opt_no_trailing_nl = true; break; case S_OPT_ABS_CFG_PATH: if (arg.find(".lang") != string::npos) { absLangPath = arg; syntax = arg.substr(0, arg.find_last_of('.')); opt_syntax = true; } else if (arg.find(".theme") != string::npos) absThemePath = arg; else cerr << "highlight: unknown config file type" << endl; break; case S_LIST_SCRIPTS: opt_show_themes = (arg == "themes"); opt_show_plugins = (arg == "plugins"); opt_show_langdefs = !(opt_show_themes && opt_show_plugins); break; default: cerr << "highlight: option parsing failed" << endl; } } if (argind < parser.arguments()) //still args left { if (inputFileNames.empty()) { while (argind < parser.arguments()) { inputFileNames.push_back(parser.argument(argind++)); } } } else if (inputFileNames.empty()) { inputFileNames.push_back(""); } if (skipArg.size()) { istringstream valueStream; string elem; string wildcard; valueStream.str( StringTools::change_case(skipArg, StringTools::CASE_LOWER)); while (getline(valueStream, elem, ';')) { ignoredFileTypes.insert(elem); } for (vector::iterator file = inputFileNames.begin(); file != inputFileNames.end(); file++) { for (set::iterator ext = ignoredFileTypes.begin(); ext != ignoredFileTypes.end(); ext++) { wildcard = "*." + *ext; if (Platform::wildcmp(wildcard.c_str(), (*file).c_str())) { inputFileNames.erase(file); file--; break; } } } } } void CmdLineOptions::init(const int argc, const char *argv[]) { LOGI("cmdoptions init"); enum Optcode { S_OPT_ENCLOSE_PRE = 256, S_OPT_FORCE_OUTPUT, S_OPT_INLINE_CSS, S_OPT_KW_CASE, S_OPT_PRINT_CONFIG, S_OPT_TEST_INPUT, S_OPT_NO_NUMBER_WL, S_OPT_SVG_WIDTH, S_OPT_SVG_HEIGHT, S_OPT_CLASSNAME, S_OPT_RTF_CHAR_STYLES, S_OPT_SKIP_UNKNOWN, S_OPT_COMPAT_DOC, S_OPT_COMPAT_NODOC, S_OPT_COMPAT_TAB, S_OPT_COMPAT_CSS, S_OPT_COMPAT_OUTDIR, S_OPT_COMPAT_FAILSAFE, S_OPT_COMPAT_SRCLANG, S_OPT_COMPAT_LINENUM, S_OPT_COMPAT_LINEREF, S_OPT_PRETTY_SYMBOLS, S_OPT_EOL_DELIM_CR, S_OPT_START_NESTED, S_OPT_PRINT_STYLE, S_OPT_NO_TRAILING_NL, S_OPT_PLUGIN, S_OPT_ABS_CFG_PATH, S_OPT_PLUGIN_READFILE, S_LIST_SCRIPTS }; const Arg_parser::Option options[] = { { 'a', OPT_ANCHORS, Arg_parser::no }, { 'b', OPT_BABEL, Arg_parser::no }, { 'B', OPT_BATCHREC, Arg_parser::yes }, { 'c', OPT_STYLE_OUT, Arg_parser::yes }, { 'C', OPT_INDEXFILE, Arg_parser::no }, { 'd', OPT_OUTDIR, Arg_parser::yes }, { 'D', OPT_DATADIR, Arg_parser::yes }, { 'e', OPT_STYLE_IN, Arg_parser::yes }, { 'f', OPT_FRAGMENT, Arg_parser::no }, { 'F', OPT_FORMAT, Arg_parser::yes }, { 'h', OPT_HELP, Arg_parser::no }, { 'i', OPT_IN, Arg_parser::yes }, { 'I', OPT_INC_STYLE, Arg_parser::no }, { 'j', OPT_LNR_LEN, Arg_parser::yes }, { 'J', OPT_LINE_LEN, Arg_parser::yes }, { 'k', OPT_BASE_FONT, Arg_parser::yes }, { 'K', OPT_BASE_FONT_SIZE, Arg_parser::yes }, { 'l', OPT_LINENO, Arg_parser::no }, { 'm', OPT_LNR_START, Arg_parser::yes }, { 'n', OPT_ORDERED_LIST, Arg_parser::no }, { 'N', OPT_ANCHOR_FN, Arg_parser::no }, { 'o', OPT_OUT, Arg_parser::yes }, { 'O', OPT_OUTFORMAT, Arg_parser::yes }, { 'p', OPT_LISTLANGS, Arg_parser::no }, { 'P', OPT_PROGRESSBAR, Arg_parser::no }, { 'q', OPT_QUIET, Arg_parser::no }, { 'Q', OPT_VERSION, Arg_parser::no }, { 'r', OPT_REPLACE_QUOTES, Arg_parser::no }, { 's', OPT_STYLE, Arg_parser::yes }, { 'S', OPT_SYNTAX, Arg_parser::yes }, { 't', OPT_DELTABS, Arg_parser::yes }, { 'T', OPT_DOC_TITLE, Arg_parser::yes }, { 'u', OPT_ENCODING, Arg_parser::yes }, { 'v', OPT_VERBOSE, Arg_parser::no }, { 'V', OPT_WRAPSIMPLE, Arg_parser::no }, { 'w', OPT_LISTTHEMES, Arg_parser::no }, { 'W', OPT_WRAP, Arg_parser::no }, { 'x', OPT_RTF_PAGE_SIZE, Arg_parser::yes }, { 'y', OPT_ANCHOR_PFX, Arg_parser::yes }, { 'z', OPT_FILLZEROES, Arg_parser::no }, { S_OPT_CLASSNAME, OPT_CLASSNAME, Arg_parser::yes }, { S_OPT_SVG_WIDTH, OPT_SVG_WIDTH, Arg_parser::yes }, { S_OPT_SVG_HEIGHT, OPT_SVG_HEIGHT, Arg_parser::yes }, { S_OPT_ENCLOSE_PRE, OPT_ENCLOSE_PRE, Arg_parser::no }, { S_OPT_FORCE_OUTPUT, OPT_FORCE_OUTPUT, Arg_parser::no }, { S_OPT_INLINE_CSS, OPT_INLINE_CSS, Arg_parser::no }, { S_OPT_KW_CASE, OPT_KW_CASE, Arg_parser::yes }, { S_OPT_PRINT_CONFIG, OPT_PRINT_CONFIG, Arg_parser::no }, { S_OPT_TEST_INPUT, OPT_TEST_INPUT, Arg_parser::no }, { S_OPT_NO_NUMBER_WL, OPT_NO_NUMBER_WL, Arg_parser::no }, { S_OPT_RTF_CHAR_STYLES, OPT_RTF_CHAR_STYLES, Arg_parser::no }, { S_OPT_SKIP_UNKNOWN, OPT_SKIP_UNKNOWN, Arg_parser::yes }, { S_OPT_START_NESTED, OPT_START_NESTED, Arg_parser::yes }, { S_OPT_COMPAT_DOC, OPT_COMPAT_DOC, Arg_parser::no }, { S_OPT_COMPAT_NODOC, OPT_COMPAT_NODOC, Arg_parser::no }, { S_OPT_COMPAT_TAB, OPT_COMPAT_TAB, Arg_parser::yes }, { S_OPT_COMPAT_CSS, OPT_COMPAT_CSS, Arg_parser::yes }, { S_OPT_COMPAT_OUTDIR, OPT_COMPAT_OUTDIR, Arg_parser::yes }, { S_OPT_COMPAT_FAILSAFE, OPT_COMPAT_FAILSAFE, Arg_parser::no }, { S_OPT_COMPAT_SRCLANG, OPT_COMPAT_SRCLANG, Arg_parser::yes }, { S_OPT_COMPAT_LINENUM, OPT_COMPAT_LINENUM, Arg_parser::maybe }, { S_OPT_COMPAT_LINEREF, OPT_COMPAT_LINEREF, Arg_parser::maybe }, { S_OPT_PRETTY_SYMBOLS, OPT_PRETTY_SYMBOLS, Arg_parser::no }, { S_OPT_EOL_DELIM_CR, OPT_EOL_DELIM_CR, Arg_parser::no }, { S_OPT_PRINT_STYLE, OPT_PRINT_STYLE, Arg_parser::no }, { S_OPT_NO_TRAILING_NL, OPT_NO_TRAILING_NL, Arg_parser::no }, { S_OPT_PLUGIN, OPT_PLUGIN, Arg_parser::yes }, { S_OPT_PLUGIN_READFILE, OPT_PLUGIN_READFILE, Arg_parser::yes }, { S_OPT_ABS_CFG_PATH, OPT_ABS_CFG_PATH, Arg_parser::yes }, { S_LIST_SCRIPTS, OPT_LIST_SCRIPTS, Arg_parser::yes }, { 0, 0, Arg_parser::no } }; LOGI("cmdoptions"); Arg_parser parser(argc, argv, options); if (parser.error().size()) // bad option { cerr << "highlight: " << parser.error() << "\n"; cerr << "Try `highlight --help' for more information.\n"; exit(1); } int argind = 0; for (; argind < parser.arguments(); ++argind) { const int code = parser.code(argind); const std::string & arg = parser.argument(argind); if (!code) break; // no more options switch (code) { case 'O': { const string tmp = StringTools::change_case(arg); if (tmp == "xhtml") outputType = highlight::XHTML; else if (tmp == "tex") outputType = highlight::TEX; else if (tmp == "latex") outputType = highlight::LATEX; else if (tmp == "rtf") outputType = highlight::RTF; else if (tmp == "ansi" || tmp == "esc") // gnu source-highlight esc parameter outputType = highlight::ANSI; else if (tmp == "xterm256") outputType = highlight::XTERM256; else if (tmp == "svg") outputType = highlight::SVG; else if (tmp == "bbcode") outputType = highlight::BBCODE; else if (tmp == "pango") outputType = highlight::PANGO; else if (tmp == "odt") outputType = highlight::ODTFLAT; else if (tmp == "html") outputType = highlight::HTML; else if (tmp == "object") outputType=highlight::OBJECT; } break; case 'a': opt_attach_line_anchors = true; break; case 'b': opt_babel = true; break; case 'B': opt_batch_mode = true; readDirectory(arg); break; case 'c': case S_OPT_COMPAT_CSS: styleOutFilename = arg; opt_stylepath_explicit = true; break; case 'C': opt_printindex = true; break; case 'T': docTitle = arg; break; case 'D': dataDir = validateDirPath(arg); break; case 'e': styleInFilename = arg; break; case 'f': case S_OPT_COMPAT_NODOC: opt_fragment = true; break; case 'F': indentScheme = arg; break; case S_OPT_CLASSNAME: className = arg; break; case 'h': opt_help = true; break; case 'i': inputFileNames.push_back(arg); break; case 'I': opt_include_style = true; break; case 'j': StringTools::str2num(lineNrWidth, arg, std::dec); break; case 'J': StringTools::str2num(lineLength, arg, std::dec); break; case 'k': baseFont = arg; break; case 'K': baseFontSize = arg; break; case S_OPT_COMPAT_LINENUM: if (arg == "0") opt_fill_zeroes = true; case 'l': opt_linenumbers = true; break; case 'm': StringTools::str2num(lineNrStart, arg, std::dec); break; case 'M': outputType = highlight::XTERM256; break; case 'n': opt_ordered_list = opt_linenumbers = true; break; case 'N': opt_fnames_as_anchors = true; break; case 'o': outFilename = arg; break; case 'd': case S_OPT_COMPAT_OUTDIR: outDirectory = validateDirPath(arg); break; case 'p': opt_show_langdefs = true; break; case 'P': opt_print_progress = true; break; case 'q': opt_quiet = true; break; case 'Q': opt_version = true; break; case 'r': opt_replacequotes = true; break; case 's': styleName = arg; opt_style = true; break; case 'S': case S_OPT_COMPAT_SRCLANG: syntax = arg; opt_syntax = true; break; case 't': case S_OPT_COMPAT_TAB: StringTools::str2num(numberSpaces, arg, std::dec); break; case 'u': encodingName = arg; break; case 'v': opt_verbose = true; break; case 'V': wrappingStyle = highlight::WRAP_SIMPLE; break; case 'w': opt_show_themes = true; break; case 'W': wrappingStyle = highlight::WRAP_DEFAULT; break; case 'x': pageSize = arg; break; case 'y': anchorPrefix = arg; break; case 'z': opt_fill_zeroes = true; break; case S_OPT_SVG_WIDTH: svg_width = arg; break; case S_OPT_SVG_HEIGHT: svg_height = arg; break; case S_OPT_ENCLOSE_PRE: opt_enclose_pre = true; break; case S_OPT_FORCE_OUTPUT: case S_OPT_COMPAT_FAILSAFE: opt_force_output = true; break; case S_OPT_INLINE_CSS: opt_inline_css = true; break; case S_OPT_KW_CASE: { const string tmp = StringTools::change_case(arg); if (tmp == "upper") keywordCase = StringTools::CASE_UPPER; else if (tmp == "lower") keywordCase = StringTools::CASE_LOWER; else if (tmp == "capitalize") keywordCase = StringTools::CASE_CAPITALIZE; } break; case S_OPT_PRINT_CONFIG: opt_print_config = true; break; case S_OPT_TEST_INPUT: opt_validate = true; break; case S_OPT_NO_NUMBER_WL: opt_number_wrapped_lines = false; break; case S_OPT_RTF_CHAR_STYLES: opt_char_styles = true; break; case S_OPT_SKIP_UNKNOWN: skipArg = arg; break; case S_OPT_PLUGIN: userPlugins.push_back(arg); break; case S_OPT_PLUGIN_READFILE: pluginReadFilePath = arg; break; case S_OPT_PRETTY_SYMBOLS: opt_pretty_symbols = true; break; case S_OPT_COMPAT_DOC: opt_fragment = false; break; case S_OPT_COMPAT_LINEREF: opt_linenumbers = true; opt_attach_line_anchors = true; anchorPrefix = (arg.empty()) ? "line" : arg; break; case S_OPT_EOL_DELIM_CR: opt_delim_CR = true; break; case S_OPT_START_NESTED: startNestedLang = arg; break; case S_OPT_PRINT_STYLE: opt_print_style = true; break; case S_OPT_NO_TRAILING_NL: opt_no_trailing_nl = true; break; case S_OPT_ABS_CFG_PATH: if (arg.find(".lang") != string::npos) { absLangPath = arg; syntax = arg.substr(0, arg.find_last_of('.')); opt_syntax = true; } else if (arg.find(".theme") != string::npos) absThemePath = arg; else cerr << "highlight: unknown config file type" << endl; break; case S_LIST_SCRIPTS: opt_show_themes = (arg == "themes"); opt_show_plugins = (arg == "plugins"); opt_show_langdefs = !(opt_show_themes && opt_show_plugins); break; default: cerr << "highlight: option parsing failed" << endl; } } if (argind < parser.arguments()) //still args left { if (inputFileNames.empty()) { while (argind < parser.arguments()) { inputFileNames.push_back(parser.argument(argind++)); } } } else if (inputFileNames.empty()) { inputFileNames.push_back(""); } if (skipArg.size()) { istringstream valueStream; string elem; string wildcard; valueStream.str( StringTools::change_case(skipArg, StringTools::CASE_LOWER)); while (getline(valueStream, elem, ';')) { ignoredFileTypes.insert(elem); } for (vector::iterator file = inputFileNames.begin(); file != inputFileNames.end(); file++) { for (set::iterator ext = ignoredFileTypes.begin(); ext != ignoredFileTypes.end(); ext++) { wildcard = "*." + *ext; if (Platform::wildcmp(wildcard.c_str(), (*file).c_str())) { inputFileNames.erase(file); file--; break; } } } } LOGI("cmdlineoptions init finish"); LOGI("outFilename:%d",this->outFilename.empty()); } CmdLineOptions::~CmdLineOptions() { } const string &CmdLineOptions::getSingleOutFilename() { if (!inputFileNames.empty() && !outDirectory.empty()) { if (outFilename.empty()) { outFilename = outDirectory; int delim = getSingleInFilename().find_last_of( Platform::pathSeparator) + 1; outFilename += getSingleInFilename().substr( (delim > -1) ? delim : 0) + getOutFileSuffix(); } } return outFilename; } const string &CmdLineOptions::getSingleInFilename() const { return inputFileNames[0]; } const string &CmdLineOptions::getOutDirectory() { if (!outFilename.empty() && !enableBatchMode()) { outDirectory = getDirName(outFilename); } return outDirectory; } const string CmdLineOptions::getStyleOutFilename() const { if (!styleOutFilename.empty()) return styleOutFilename; if (outputType == highlight::TEX || outputType == highlight::LATEX) { return "highlight.sty"; } else { return "highlight.css"; } } const string &CmdLineOptions::getStyleInFilename() const { return styleInFilename; } const string& CmdLineOptions::getSVGWidth() const { return svg_width; } const string& CmdLineOptions::getSVGHeight() const { return svg_height; } int CmdLineOptions::getNumberSpaces() const { return numberSpaces; } bool CmdLineOptions::printVersion() const { return opt_version; } bool CmdLineOptions::printHelp() const { return opt_help; } bool CmdLineOptions::printDebugInfo() const { return opt_verbose; } bool CmdLineOptions::printConfigInfo() const { return opt_print_config; } bool CmdLineOptions::quietMode() const { return opt_quiet; } bool CmdLineOptions::includeStyleDef() const { return opt_include_style; } bool CmdLineOptions::useFNamesAsAnchors() const { return opt_fnames_as_anchors; } bool CmdLineOptions::formatSupportsExtStyle() { return outputType == highlight::OBJECT||outputType == highlight::HTML || outputType == highlight::XHTML || outputType == highlight::LATEX || outputType == highlight::TEX || outputType == highlight::SVG; } bool CmdLineOptions::printLineNumbers() const { return opt_linenumbers; } string CmdLineOptions::getThemeName() const { return ((opt_style) ? styleName + ".theme" : (outputType == highlight::XTERM256) ? "edit-vim-dark.theme" : "edit-kwrite.theme"); } bool CmdLineOptions::enableBatchMode() const { return inputFileNames.size() > 1 || opt_batch_mode; } bool CmdLineOptions::fragmentOutput() const { return opt_fragment; } string CmdLineOptions::getOutFileSuffix() const { switch (outputType) { case highlight::OBJECT: return ".obj"; case highlight::XHTML: return ".xhtml"; case highlight::RTF: return ".rtf"; case highlight::TEX: case highlight::LATEX: return ".tex"; case highlight::SVG: return ".svg"; case highlight::ANSI: return ".ansi"; case highlight::XTERM256: return ".xterm"; case highlight::BBCODE: return ".bbcode"; case highlight::ODTFLAT: return ".fodt"; default: return ".html"; } } string CmdLineOptions::getDirName(const string & path) { size_t dirNameLength = path.rfind(Platform::pathSeparator); return (dirNameLength == string::npos) ? string() : path.substr(0, dirNameLength + 1); } bool CmdLineOptions::attachLineAnchors() const { return opt_attach_line_anchors; } bool CmdLineOptions::showThemes() const { return opt_show_themes; } bool CmdLineOptions::showLangdefs() const { return opt_show_langdefs; } bool CmdLineOptions::showPlugins() const { return opt_show_plugins; } bool CmdLineOptions::outDirGiven() const { return !outFilename.empty(); } bool CmdLineOptions::replaceQuotes() const { return opt_replacequotes; } bool CmdLineOptions::disableBabelShorthands() const { return opt_babel; } bool CmdLineOptions::prettySymbols() const { return opt_pretty_symbols; } bool CmdLineOptions::getFlag(const string& paramVal) { return StringTools::change_case(paramVal) == "true"; } bool CmdLineOptions::orderedList() const { return opt_ordered_list; } bool CmdLineOptions::useCRDelimiter() const { return opt_delim_CR; } const string &CmdLineOptions::getDataDir() const { return dataDir; } const vector &CmdLineOptions::getPluginPaths() const { return userPlugins; } bool CmdLineOptions::printOnlyStyle() const { return opt_print_style; } string CmdLineOptions::getIndentScheme() const { return StringTools::change_case(indentScheme); } const string &CmdLineOptions::getSyntax() const { return syntax; } const string&CmdLineOptions::getEncoding() const { return encodingName; } const string& CmdLineOptions::getAnchorPrefix() const { return anchorPrefix; } const string &CmdLineOptions::getPageSize() const { return pageSize; } bool CmdLineOptions::printIndexFile() const { return opt_printindex && (outputType == highlight::HTML || outputType == highlight::XHTML); } bool CmdLineOptions::printProgress() const { return opt_print_progress; } bool CmdLineOptions::fillLineNrZeroes() const { return opt_fill_zeroes; } bool CmdLineOptions::syntaxGiven() const { return opt_syntax; } bool CmdLineOptions::omitEncoding() const { return StringTools::change_case(encodingName) == "none"; } bool CmdLineOptions::forceOutput() const { return opt_force_output; } bool CmdLineOptions::validateInput() const { return opt_validate; } bool CmdLineOptions::numberWrappedLines() const { return opt_number_wrapped_lines; } bool CmdLineOptions::inlineCSS() const { return opt_inline_css; } bool CmdLineOptions::enclosePreTag() const { return opt_enclose_pre; } bool CmdLineOptions::includeCharStyles() const { return opt_char_styles; } bool CmdLineOptions::disableTrailingNL() const { return opt_no_trailing_nl; } const string& CmdLineOptions::getDocumentTitle() const { return docTitle; } highlight::WrapMode CmdLineOptions::getWrappingStyle() const { return wrappingStyle; } const vector & CmdLineOptions::getInputFileNames() const { return inputFileNames; } void CmdLineOptions::readDirectory(const string & wildcard) { // get matching files, use recursive search bool directoryOK = Platform::getDirectoryEntries(inputFileNames, wildcard, true); if (!directoryOK) { cerr << "highlight: No files matched the pattern \"" << wildcard << "\"." << endl; } } string CmdLineOptions::validateDirPath(const string & path) { return (path[path.length() - 1] != Platform::pathSeparator) ? path + Platform::pathSeparator : path; } highlight::OutputType CmdLineOptions::getOutputType() const { return outputType; } StringTools::KeywordCase CmdLineOptions::getKeywordCase() const { return keywordCase; } bool CmdLineOptions::hasBaseFont() const { return (!baseFont.empty()); } const string& CmdLineOptions::getBaseFont() const { return baseFont; } const string& CmdLineOptions::getBaseFontSize() const { return baseFontSize; } const string& CmdLineOptions::getClassName() const { return className; } const string& CmdLineOptions::getStartNestedLang() const { return startNestedLang; } const string& CmdLineOptions::getAbsThemePath() const { return absThemePath; } const string& CmdLineOptions::getAbsLangPath() const { return absLangPath; } const string& CmdLineOptions::getPluginReadFilePath() const { return pluginReadFilePath; } int CmdLineOptions::getNumberWidth() { return lineNrWidth; } int CmdLineOptions::getLineLength() { return lineLength; } int CmdLineOptions::getNumberStart() { return lineNrStart; } ================================================ FILE: jni/highlight/cli/cmdlineoptions.h ================================================ /*************************************************************************** cmdlineoptions.h - description ------------------- begin : Sun Nov 25 2001 copyright : (C) 2001-2010 by Andre Simon email : andre.simon1@gmx.de ***************************************************************************/ /* This file is part of Highlight. Highlight is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Highlight is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Highlight. If not, see . */ #ifndef CMDLINEOPTIONS_H #define CMDLINEOPTIONS_H #ifdef _WIN32 #include #endif #include #include #include #include #include #include #include #include "stringtools.h" #include "enums.h" #if ANDROID #include #ifndef TAG_NAME #define TAG_NAME "highliter" #endif #define LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, TAG_NAME, __VA_ARGS__)) #define LOGW(...) ((void)__android_log_print(ANDROID_LOG_WARN, TAG_NAME, __VA_ARGS__)) #define LOGE(...) ((void)__android_log_print(ANDROID_LOG_ERROR, TAG_NAME, __VA_ARGS__)) #define LOGV(...) ((void)__android_log_print(ANDROID_LOG_VERBOSE, TAG_NAME, __VA_ARGS__)) #else #define LOGI(...) #define LOGW(...) #define LOGE(...) #endif #define OPT_OUTFORMAT "out-format" #define OPT_ANCHORS "anchors" #define OPT_ANCHOR_FN "anchor-filename" #define OPT_ANCHOR_PFX "anchor-prefix" #define OPT_BABEL "babel" #define OPT_BASE_FONT "font" #define OPT_BASE_FONT_SIZE "font-size" #define OPT_BATCHREC "batch-recursive" #define OPT_CLASSNAME "class-name" #define OPT_DATADIR "data-dir" #define OPT_DELTABS "replace-tabs" #define OPT_DOC_TITLE "doc-title" #define OPT_ENCLOSE_PRE "enclose-pre" #define OPT_ENCODING "encoding" #define OPT_FILLZEROES "zeroes" #define OPT_FORCE_OUTPUT "force" #define OPT_FORMAT "reformat" #define OPT_FRAGMENT "fragment" #define OPT_HELP "help" #define OPT_IN "input" #define OPT_INC_STYLE "include-style" #define OPT_INDEXFILE "print-index" #define OPT_INLINE_CSS "inline-css" #define OPT_KW_CASE "kw-case" #define OPT_LINENO "line-numbers" #define OPT_LINE_LEN "line-length" #define OPT_LISTLANGS "list-langs" #define OPT_LISTTHEMES "list-themes" #define OPT_LIST_SCRIPTS "list-scripts" #define OPT_LNR_LEN "line-number-length" #define OPT_LNR_START "line-number-start" #define OPT_ORDERED_LIST "ordered-list" #define OPT_OUT "output" #define OPT_OUTDIR "outdir" #define OPT_RTF_PAGE_SIZE "page-size" #define OPT_RTF_CHAR_STYLES "char-styles" #define OPT_PRINT_CONFIG "print-config" #define OPT_PROGRESSBAR "progress" #define OPT_QUIET "quiet" #define OPT_REPLACE_QUOTES "replace-quotes" #define OPT_STYLE "style" #define OPT_STYLE_IN "style-infile" #define OPT_STYLE_OUT "style-outfile" #define OPT_SYNTAX "syntax" #define OPT_TEST_INPUT "validate-input" #define OPT_VERBOSE "verbose" #define OPT_VERSION "version" #define OPT_WRAP "wrap" #define OPT_WRAPSIMPLE "wrap-simple" #define OPT_SVG_WIDTH "width" #define OPT_SVG_HEIGHT "height" #define OPT_SKIP_UNKNOWN "skip" #define OPT_PRETTY_SYMBOLS "pretty-symbols" #define OPT_EOL_DELIM_CR "delim-cr" #define OPT_START_NESTED "start-nested" #define OPT_PRINT_STYLE "print-style" #define OPT_NO_TRAILING_NL "no-trailing-nl" #define OPT_PLUGIN "plug-in" #define OPT_ABS_CFG_PATH "config-file" #define OPT_PLUGIN_READFILE "plug-in-read" #define OPT_NO_NUMBER_WL "wrap-no-numbers" #define OPT_USE_NBSP "nbsp" // Improve CLI option compatibility with GNU source-highlight #define OPT_COMPAT_DOC "doc" #define OPT_COMPAT_NODOC "no-doc" #define OPT_COMPAT_TAB "tab" #define OPT_COMPAT_CSS "css" #define OPT_COMPAT_OUTDIR "output-dir" #define OPT_COMPAT_FAILSAFE "failsafe" #define OPT_COMPAT_SRCLANG "src-lang" #define OPT_COMPAT_LINENUM "line-number" #define OPT_COMPAT_LINEREF "line-number-ref" using namespace std; /// handle command line options class CmdLineOptions { public: /**Constructor \param argc Argument count \param argv Argument strings */ void init (const int argc, const char *argv[] ) ; CmdLineOptions(); CmdLineOptions ( const int argc, const char *argv[] ); ~CmdLineOptions(); /** \return Single output file name*/ const string &getSingleOutFilename(); /** \return Single input file name*/ const string &getSingleInFilename() const; /** \return Output directory*/ const string& getOutDirectory() ; /** \return Style output file name*/ const string getStyleOutFilename() const; /** \return Style input file name*/ const string& getStyleInFilename() const; /** \return Char set*/ const string& getEncoding() const; /** \return SVG width*/ const string& getSVGWidth() const; /** \return SVG height*/ const string& getSVGHeight() const; /** \return Number of spaces to replace a tab*/ int getNumberSpaces() const; /** \return True if version information should be printed*/ bool printVersion() const; /** \return True if help information should be printed*/ bool printHelp() const; /** \return True if debug information should be printed*/ bool printDebugInfo() const; /** \return True if configuration information should be printed*/ bool printConfigInfo() const; /** \return True if Style definition should be included in output*/ bool includeStyleDef() const; /** \return True if line numbers should be printed*/ bool printLineNumbers() const; /** \return True if CR is eol delimiter */ bool useCRDelimiter() const; /** \return colour theme name */ string getThemeName() const ; /** gibt true zurck, falls deutsche Hilfe ausgegeben werden soll */ int helpLanguage() const; /** \return True if batch mode is active*/ bool enableBatchMode() const; /** \return True if output shluld be fragmented*/ bool fragmentOutput() const; /** \return output file suffix */ string getOutFileSuffix() const; /** \return True if anchors should be attached to line numbers*/ bool attachLineAnchors() const; /** \return True if list of installed themes should be printed*/ bool showThemes() const; /** \return True if list of installed language definitions should be printed*/ bool showLangdefs() const; /** \return True if list of installed language definitions should be printed*/ bool showPlugins() const; /** \return True if loutput directory is given*/ bool outDirGiven() const; /** \return True if a new data directory is given*/ bool dataDirGiven() const; /** \return True if index file should be printed*/ bool printIndexFile() const; /** \return True if quotes should be replaced by /dq in LaTeX*/ bool replaceQuotes() const; /** \return True if shorthands of LaTeX Babel package should be disabled*/ bool disableBabelShorthands() const; /** \return True if input file name should be used as anchor name */ bool useFNamesAsAnchors() const; /** \return Data directory*/ const string &getDataDir() const; /** \return True if language syntax is given*/ bool syntaxGiven() const; /** \return True if quiet mode is active*/ bool quietMode() const; /** \return True if progress bar should be printed in batch mode */ bool printProgress() const; /** \return True if line numbers are filled with leading zeroes */ bool fillLineNrZeroes() const; /** \return programming syntax */ const string &getSyntax() const ; /** \return Wrapping style*/ highlight::WrapMode getWrappingStyle() const; /** \return List of input file names*/ const vector & getInputFileNames() const; /** \return indentation and reformatting scheme*/ string getIndentScheme() const; /** \return RTF page size */ const string &getPageSize() const; /** \return Output file format */ highlight::OutputType getOutputType() const; /** \return True if chosen output format supports referenced style files */ bool formatSupportsExtStyle(); /** \return True if style output path was defined by user*/ bool styleOutPathDefined() const { return opt_stylepath_explicit; } /** \return True if encoding specification should be omitted in output*/ bool omitEncoding() const; /** \return True if output should be generated if languege type is unknown*/ bool forceOutput() const; /** \return True if line numbers should be replaced by ordered list (HTML) */ bool orderedList() const; /** \return True if spaces should be replaced by   (HTML) */ //bool useNonBreakingSpace() const; /** \return True if a base font has been given */ bool hasBaseFont() const ; /** \return True if input should be validated */ bool validateInput() const ; /** \return True if wrapped lines should get unique numbers */ bool numberWrappedLines() const ; /** \return True if CSS should be outputted within tag elements */ bool inlineCSS() const ; /** \return True if fragmented html output should be enclosed with pre tags */ bool enclosePreTag() const ; /** \return True if RTF output should include character styles */ bool includeCharStyles() const ; /** \return True if LaTeX output should includ fancier symbols */ bool prettySymbols() const; /** \return True if style should be printed */ bool printOnlyStyle() const; /** \return The given base font, empty string by default */ const string& getBaseFont() const ; /** \return Document title */ const string& getDocumentTitle() const ; /** \return anchor prefix */ const string& getAnchorPrefix() const ; /** \return class name */ const string& getClassName() const ; const vector &getPluginPaths() const; /** \return True if trailing nl should be omitted */ bool disableTrailingNL() const ; /** \return The given base font size, empty string by default */ const string& getBaseFontSize() const ; /** \return name of nested syntax which starts the input */ const string& getStartNestedLang() const ; /** \return absolute theme definition path name */ const string& getAbsThemePath() const ; /** \return absolute language definition path name */ const string& getAbsLangPath() const ; /** \return path of input file passed to plugin */ const string& getPluginReadFilePath() const ; /** \return line number width */ int getNumberWidth(); /** \return line length */ int getLineLength(); /** \return Line number start count */ int getNumberStart(); /** \return Keyword Case (upper, lower, unchanged) */ StringTools::KeywordCase getKeywordCase() const; bool isSkippedExt ( const string& ext ) { return ignoredFileTypes.count ( ext ); } private: int numberSpaces; // number of spaces which replace a tab int lineNrWidth; // width of line number (left padding) int lineLength; // length of line before wrapping int lineNrStart; // line number start count highlight::WrapMode wrappingStyle; // line wrapping mode highlight::OutputType outputType; StringTools::KeywordCase keywordCase; // name of single output file string outFilename, // output directory outDirectory, // programming syntax which will be loaded syntax, // name of colour theme styleName, // name of external style file styleOutFilename, // name of file to be included in external style file styleInFilename, // used to define data directories at runtime dataDir; // name of indenation scheme string indentScheme, pageSize, startNestedLang; string baseFont, baseFontSize; string docTitle, className; string skipArg; string svg_height, svg_width; string absThemePath, absLangPath; bool opt_syntax; bool opt_include_style; bool opt_help; bool opt_version ; bool opt_verbose; bool opt_print_config; bool opt_linenumbers; bool opt_style; bool opt_batch_mode; bool opt_fragment; bool opt_attach_line_anchors; bool opt_show_themes; bool opt_show_langdefs; bool opt_show_plugins; bool opt_asformat_output; bool opt_printindex; bool opt_quiet; bool opt_replacequotes; bool opt_babel; bool opt_print_progress; bool opt_fill_zeroes; bool opt_stylepath_explicit; bool opt_force_output; bool opt_ordered_list; bool opt_fnames_as_anchors; bool opt_validate; bool opt_number_wrapped_lines; bool opt_inline_css; bool opt_enclose_pre; bool opt_char_styles; bool opt_pretty_symbols; bool opt_delim_CR; bool opt_print_style; bool opt_no_trailing_nl; string anchorPrefix; string helpLang, encodingName; string pluginPath, pluginReadFilePath; /** list of all input file names */ vector inputFileNames; /** list of plugin file names */ vector userPlugins; /** list lines which should be marked and supplied with help string */ map markLines; /** list of file types which should be ignored */ set ignoredFileTypes; /** \return file suffix */ string getFileSuffix ( const string & fileName ) const; /** \return directory name of path */ string getDirName ( const string & path ); /** get all entries in the directory defined by wildcard */ void readDirectory ( const string & wildcard ); /** \return Boolean value of paramVal */ bool getFlag ( const string& paramVal ); /** \return Valid path name */ string validateDirPath ( const string & path ); }; #endif ================================================ FILE: jni/highlight/cli/help.cpp ================================================ /*************************************************************************** help.cpp - description ------------------- begin : Die Apr 23 2002 copyright : (C) 2002-2010 by Andre Simon email : andre.simon1@gmx.de ***************************************************************************/ /* This file is part of Highlight. Highlight is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Highlight is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Highlight. If not, see . */ #include #include "help.h" using namespace std; namespace Help { void printHelp() { cout<<"USAGE: highlight [OPTIONS]... [FILES]...\n"; cout<<"\n"; cout<<"General options:\n"; cout<<"\n"; cout<<" -B, --batch-recursive= convert all matching files, searches subdirs\n"; cout<<" (Example: -B '*.cpp')\n"; cout<<" -D, --data-dir= set path to data directory (deprecated)\n"; cout<<" --config-file= set path to a lang or theme file\n"; cout<<" -d, --outdir= name of output directory\n"; cout<<" -h, --help print this help\n"; cout<<" -i, --input= name of single input file\n"; cout<<" -o, --output= name of single output file\n"; cout<<" -p, --list-langs list installed language definitions (deprecated)\n"; cout<<" -P, --progress print progress bar in batch mode\n"; cout<<" -q, --quiet supress progress info in batch mode\n"; cout<<" -S, --syntax= specify type of source code\n"; cout<<" -v, --verbose print debug info\n"; cout<<" -w, --list-themes list installed colour themes (deprecated)\n"; cout<<" --force generate output if input syntax is unknown\n"; cout<<" --list-scripts= list installed scripts\n"; cout<<" =[langs, themes, plugins]\n"; cout<<" --plug-in=