public function __construct($id)
 {
     $this->dir = luminous::root() . '/cache/';
     $this->subdir = substr($id, 0, 2);
     $this->filename = substr($id, 2);
     $this->path = rtrim($this->dir, '/') . '/' . $this->subdir . '/' . $this->filename;
     parent::__construct($id);
 }
Beispiel #2
0
 private function register_default_scanners()
 {
     $this->settings = new LuminousOptions();
     // we should probably hide this in an include for neatness
     // when it starts growing.
     $language_dir = luminous::root() . '/languages/';
     // this is a dummy file which includes ECMAScript dependencies in a
     // non-circular way.
     $this->scanners->AddScanner('ecma-includes', null, null, "{$language_dir}/include/ecma.php");
     $this->scanners->AddScanner(array('ada', 'adb', 'ads'), 'LuminousAdaScanner', 'Ada', "{$language_dir}/ada.php");
     $this->scanners->AddScanner(array('as', 'actionscript'), 'LuminousActionScriptScanner', 'ActionScript', "{$language_dir}/as.php", 'ecma');
     $this->scanners->AddScanner(array('bnf'), 'LuminousBNFScanner', 'Backus Naur Form', "{$language_dir}/bnf.php");
     $this->scanners->AddScanner(array('bash', 'sh'), 'LuminousBashScanner', 'Bash', "{$language_dir}/bash.php");
     $this->scanners->AddScanner(array('c', 'cpp', 'h', 'hpp', 'cxx', 'hxx'), 'LuminousCppScanner', 'C/C++', "{$language_dir}/cpp.php");
     $this->scanners->AddScanner(array('cs', 'csharp', 'c#'), 'LuminousCSharpScanner', 'C#', "{$language_dir}/csharp.php");
     $this->scanners->AddScanner('css', 'LuminousCSSScanner', 'CSS', "{$language_dir}/css.php");
     $this->scanners->AddScanner(array('diff', 'patch'), 'LuminousDiffScanner', 'Diff', "{$language_dir}/diff.php");
     $this->scanners->AddScanner(array('prettydiff', 'prettypatch', 'diffpretty', 'patchpretty'), 'LuminousPrettyDiffScanner', 'Diff-Pretty', "{$language_dir}/diff.php");
     $this->scanners->AddScanner(array('html', 'htm'), 'LuminousHTMLScanner', 'HTML', "{$language_dir}/html.php", array('js', 'css'));
     $this->scanners->AddScanner(array('ecma', 'ecmascript'), 'LuminousECMAScriptScanner', 'ECMAScript', "{$language_dir}/ecmascript.php", 'ecma-includes');
     $this->scanners->AddScanner(array('erlang', 'erl', 'hrl'), 'LuminousErlangScanner', 'Erlang', "{$language_dir}/erlang.php");
     $this->scanners->AddScanner('go', 'LuminousGoScanner', 'Go', "{$language_dir}/go.php");
     $this->scanners->AddScanner(array('groovy'), 'LuminousGroovyScanner', 'Groovy', "{$language_dir}/groovy.php");
     $this->scanners->AddScanner(array('haskell', 'hs'), 'LuminousHaskellScanner', 'Haskell', "{$language_dir}/haskell.php");
     $this->scanners->AddScanner('java', 'LuminousJavaScanner', 'Java', "{$language_dir}/java.php");
     $this->scanners->AddScanner(array('js', 'javascript'), 'LuminousJavaScriptScanner', 'JavaScript', "{$language_dir}/javascript.php", array('ecma'));
     $this->scanners->AddScanner('json', 'LuminousJSONScanner', 'JSON', "{$language_dir}/json.php");
     $this->scanners->AddScanner(array('latex', 'tex'), 'LuminousLatexScanner', 'LaTeX', "{$language_dir}/latex.php");
     $this->scanners->AddScanner(array('lolcode', 'lolc', 'lol'), 'LuminousLOLCODEScanner', 'LOLCODE', "{$language_dir}/lolcode.php");
     $this->scanners->AddScanner(array('m', 'matlab'), 'LuminousMATLABScanner', 'MATLAB', "{$language_dir}/matlab.php");
     $this->scanners->AddScanner(array('perl', 'pl', 'pm'), 'LuminousPerlScanner', 'Perl', "{$language_dir}/perl.php");
     $this->scanners->AddScanner(array('rails', 'rhtml', 'ror'), 'LuminousRailsScanner', 'Ruby on Rails', "{$language_dir}/rails.php", array('ruby', 'html'));
     $this->scanners->AddScanner(array('ruby', 'rb'), 'LuminousRubyScanner', 'Ruby', "{$language_dir}/ruby.php");
     $this->scanners->AddScanner(array('plain', 'text', 'txt'), 'LuminousIdentityScanner', 'Plain', "{$language_dir}/identity.php");
     // PHP Snippet does not require an initial <?php tag to begin highlighting
     $this->scanners->AddScanner('php_snippet', 'LuminousPHPSnippetScanner', 'PHP Snippet', "{$language_dir}/php.php", array('html'));
     $this->scanners->AddScanner('php', 'LuminousPHPScanner', 'PHP', "{$language_dir}/php.php", array('html'));
     $this->scanners->AddScanner(array('python', 'py'), 'LuminousPythonScanner', 'Python', "{$language_dir}/python.php");
     $this->scanners->AddScanner(array('django', 'djt'), 'LuminousDjangoScanner', 'Django', "{$language_dir}/python.php", array('html'));
     $this->scanners->AddScanner(array('scala', 'scl'), 'LuminousScalaScanner', 'Scala', "{$language_dir}/scala.php", 'xml');
     $this->scanners->AddScanner(array('sql', 'mysql'), 'LuminousSQLScanner', 'SQL', "{$language_dir}/sql.php");
     $this->scanners->AddScanner(array('vim', 'vimscript'), 'LuminousVimScriptScanner', 'Vim Script', "{$language_dir}/vim.php");
     $this->scanners->AddScanner(array('vb', 'bas'), 'LuminousVBScanner', 'Visual Basic', "{$language_dir}/vb.php", 'xml');
     $this->scanners->AddScanner('xml', 'LuminousXMLScanner', 'XML', "{$language_dir}/xml.php", 'html');
     $this->scanners->SetDefaultScanner('plain');
 }
 private function set_theme($value)
 {
     if (self::check_type($value, 'string')) {
         if (!preg_match('/\\.css$/', $value)) {
             $value .= '.css';
         }
         if (!luminous::theme_exists($value)) {
             throw new Exception('No such theme: ' . luminous::root() . '/style/' . $value);
         } else {
             $this->theme = $value;
         }
     }
 }
<?php

/*
 * This is a horrible routine to register all the default
 * scanners. The code is distracting at best so it's been factored into this one
 * file.
 * 
 * We include it into the main program with a require statement, which 
 * due to the literal way PHP includes work, when done within a function gives 
 * us access to that function's scope.
 * We are in the scope of a method inside the Luminous_ object, so we refer to
 * $this as being the $luminous_ singleton object.
 */
$language_dir = luminous::root() . '/languages/';
// this is a dummy file which includes ECMAScript dependencies in a
// non-circular way.
$this->scanners->AddScanner('ecma-includes', null, null, "{$language_dir}/include/ecma.php");
$this->scanners->AddScanner(array('ada', 'adb', 'ads'), 'LuminousAdaScanner', 'Ada', "{$language_dir}/ada.php");
$this->scanners->AddScanner(array('as', 'actionscript'), 'LuminousActionScriptScanner', 'ActionScript', "{$language_dir}/as.php", 'ecma');
$this->scanners->AddScanner(array('bnf'), 'LuminousBNFScanner', 'Backus Naur Form', "{$language_dir}/bnf.php");
$this->scanners->AddScanner(array('bash', 'sh'), 'LuminousBashScanner', 'Bash', "{$language_dir}/bash.php");
$this->scanners->AddScanner(array('c', 'cpp', 'h', 'hpp', 'cxx', 'hxx'), 'LuminousCppScanner', 'C/C++', "{$language_dir}/cpp.php");
$this->scanners->AddScanner(array('cs', 'csharp', 'c#'), 'LuminousCSharpScanner', 'C#', "{$language_dir}/csharp.php");
$this->scanners->AddScanner('css', 'LuminousCSSScanner', 'CSS', "{$language_dir}/css.php");
$this->scanners->AddScanner(array('diff', 'patch'), 'LuminousDiffScanner', 'Diff', "{$language_dir}/diff.php");
$this->scanners->AddScanner(array('prettydiff', 'prettypatch', 'diffpretty', 'patchpretty'), 'LuminousPrettyDiffScanner', 'Diff-Pretty', "{$language_dir}/diff.php");
$this->scanners->AddScanner(array('html', 'htm'), 'LuminousHTMLScanner', 'HTML', "{$language_dir}/html.php", array('js', 'css'));
$this->scanners->AddScanner(array('ecma', 'ecmascript'), 'LuminousECMAScriptScanner', 'ECMAScript', "{$language_dir}/ecmascript.php", 'ecma-includes');
$this->scanners->AddScanner(array('erlang', 'erl', 'hrl'), 'LuminousErlangScanner', 'Erlang', "{$language_dir}/erlang.php");
$this->scanners->AddScanner('go', 'LuminousGoScanner', 'Go', "{$language_dir}/go.php");
$this->scanners->AddScanner(array('groovy'), 'LuminousGroovyScanner', 'Groovy', "{$language_dir}/groovy.php");
 public function __construct($id)
 {
     $this->dir = luminous::root() . '/cache/';
     $this->path = $this->dir . '/' . $id;
     parent::__construct($id);
 }
 protected function get_layout()
 {
     // this path info shouldn't really be here
     $path = luminous::root() . '/style/luminous.css';
     $this->css = file_get_contents($path);
 }