Showing preview only (711K chars total). Download the full file or copy to clipboard to get everything.
Repository: codefoxes/firebase-admin
Branch: master
Commit: 6b3e8c71cb88
Files: 88
Total size: 678.0 KB
Directory structure:
gitextract_obo_is7i/
├── .gitignore
├── .travis.yml
├── about.html
├── build/
│ └── icon.icns
├── build.js
├── create.html
├── css/
│ ├── angular-resizable.css
│ ├── codemirror/
│ │ ├── 3024-day.css
│ │ ├── 3024-night.css
│ │ ├── abcdef.css
│ │ ├── ambiance-mobile.css
│ │ ├── ambiance.css
│ │ ├── base16-dark.css
│ │ ├── base16-light.css
│ │ ├── bespin.css
│ │ ├── blackboard.css
│ │ ├── cobalt.css
│ │ ├── codemirror.css
│ │ ├── colorforth.css
│ │ ├── dracula.css
│ │ ├── eclipse.css
│ │ ├── elegant.css
│ │ ├── erlang-dark.css
│ │ ├── hopscotch.css
│ │ ├── icecoder.css
│ │ ├── isotope.css
│ │ ├── lesser-dark.css
│ │ ├── liquibyte.css
│ │ ├── material.css
│ │ ├── mbo.css
│ │ ├── mdn-like.css
│ │ ├── midnight.css
│ │ ├── monokai.css
│ │ ├── neat.css
│ │ ├── neo.css
│ │ ├── night.css
│ │ ├── panda-syntax.css
│ │ ├── paraiso-dark.css
│ │ ├── paraiso-light.css
│ │ ├── pastel-on-dark.css
│ │ ├── railscasts.css
│ │ ├── rubyblue.css
│ │ ├── seti.css
│ │ ├── solarized.css
│ │ ├── the-matrix.css
│ │ ├── tomorrow-night-bright.css
│ │ ├── tomorrow-night-eighties.css
│ │ ├── ttcn.css
│ │ ├── twilight.css
│ │ ├── vibrant-ink.css
│ │ ├── xq-dark.css
│ │ ├── xq-light.css
│ │ ├── yeti.css
│ │ └── zenburn.css
│ ├── default.css
│ ├── json-formatter.css
│ └── style.css
├── index.html
├── js/
│ ├── app.js
│ ├── codemirror/
│ │ ├── brace-fold.js
│ │ ├── codemirror.js
│ │ ├── foldcode.js
│ │ ├── foldgutter.js
│ │ ├── javascript.js
│ │ ├── matchbrackets.js
│ │ ├── searchcursor.js
│ │ └── ui-codemirror.js
│ ├── connection.js
│ ├── context-menu.js
│ ├── default-settings.json
│ ├── json-formatter.js
│ ├── menu.js
│ ├── routes.js
│ ├── settings.js
│ └── update.js
├── license.md
├── main.js
├── package.json
├── readme.md
├── renderer.js
├── settings.html
├── squirrel.js
├── templates/
│ ├── jsonTree.html
│ ├── main.html
│ ├── menuTree.html
│ └── notice.html
├── tests/
│ └── index.js
└── windows/
└── update.html
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
node_modules
img/icons/firebase-admin.*
dist
================================================
FILE: .travis.yml
================================================
language: node_js
node_js: "4"
before_script:
- export DISPLAY=:99.0
- sh -e /etc/init.d/xvfb start
- sleep 3
script:
- npm test
branches:
only:
- master
cache:
directories:
- node_modules
notifications:
email:
on_success: never
on_failure: change
================================================
FILE: about.html
================================================
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>About Firebase Admin</title>
<style>
html, body{
height: 100%;
margin: 0;
padding: 0;
}
body{
font-family: system,-apple-system,".SFNSDisplay-Regular","Helvetica Neue",Helvetica,"Segoe UI",sans-serif;
-webkit-user-select: none;
user-select: none;
text-align: center;
background: #6ea75d;
color: #fff;
box-sizing: border-box;
animation: color-anim 30s ease infinite;
}
.no-drag{
height: 30px;
}
.about-wrap{
-webkit-app-region: drag;
padding-top: 20px;
}
.logo{
width: 50px;
}
.detail{
font-size: 12px;
padding-top: 8px;
line-height: 2;
}
.footer {
position: fixed;
bottom: 0;
font-size: 12px;
width: 100%;
padding-bottom: 10px;
color: rgba(0, 0, 0, 0.6);
}
@-webkit-keyframes color-anim {
0% { background: #3a8cc0; }
20% { background: #c5a853; }
40% { background: #3dad6c; }
60% { background: #6b4ebc; }
80% { background: #d85c5c; }
100% { background: #3a8cc0; }
}
.close{
background-color: #ff6159;
border-radius: 100%;
padding: 0;
height: 12px;
width: 12px;
border: 1px solid rgba(0, 0, 0, 0.06);
box-sizing: border-box;
margin-right: 3.5px;
position: fixed;
outline: none;
top: 5px;
left: 5px;
}
.close:before, .close:after{
content: '';
position: absolute;
border-radius: 1px;
left: 0;
top: 0;
right: 0;
bottom: 0;
margin: auto;
background-color: rgba(0,0,0,.5);
width: 8px;
height: 2px;
transform: rotate(-45deg);
}
.close:before{
transform: rotate(45deg);
}
.win32 .close{
top: 0;
left: inherit;
right: 0;
margin-right: 0;
width: 40px;
height: 28px;
border-radius: 0;
background-color: transparent;
border-color: transparent;
}
.win32 .close:before, .win32 .close:after{
height: 1px;
width: 14px;
}
.win32 .close:hover{
background: #e51400;
}
.win32 .close:hover:before, .win32 .close:hover:after{
background-color: #fff;
}
</style>
</head>
<body class="about">
<div class="no-drag"></div>
<div class="about-wrap">
<img class="logo" src="img/logo.svg">
<div style="padding-top: 20px;">Firebase Admin</div>
<div class="detail">
Version: <span id="version-number"></span><br>
Credits: Karthik Bhat, Koushik Bhushan
</div>
<div class="footer">Made with love in India</div>
</div>
<div class="close" onclick="closeWindow()"></div>
<script>
document.getElementsByTagName('body')[0].classList.add(process.platform)
function closeWindow() {
window.close()
}
require('electron').webFrame.setZoomLevelLimits(1, 1)
document.getElementById('version-number').innerHTML = require('electron').remote.app.getVersion()
</script>
</body>
</html>
================================================
FILE: build.js
================================================
'use strict'
let packager = require('electron-packager')
let options = {
dir: '.',
name: 'Firebase Admin',
version: '1.3.5',
arch: process.arch,
platform: process.platform,
asar: true,
icon: 'img/icons/firebase-admin',
ignore: [
'/img/icons($|/)',
'/node_modules/spectron($|/)',
'/node-modules/mocha($|/)',
'/node-modules/chai($|/)'
]
}
packager(options, (err, appPaths) => {
if (err) {
console.log(err)
}
if (appPaths) {
console.log(appPaths)
}
})
================================================
FILE: create.html
================================================
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<base href="local">
<title>Create Connection</title>
<link rel="stylesheet" type="text/css" href="css/angular-resizable.css">
<link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body ng-app="fba-c" ng-controller="connectionController" class="{{os}} create">
<form class="form" ng-submit="save()" name="add">
<div class="form-group helpers">
<div class="columns-10 offset-2-columns">
<span class="importer">
<button class="button button-light">Import</button>
<input type="file" id="file" name="file" onchange="angular.element(this).scope().import(this)" />
</span>
<button class="button button-plain pull-right" ng-click="goDocs()">Help</button>
</div>
</div>
<div class="form-group">
<label for="projectID" class="columns-2 control-label">Project ID:</label>
<div class="columns-10">
<input type="text" class="form-control" id="projectID" placeholder="Eg: myproject-123" ng-model="projectID" required>
</div>
</div>
<div class="form-group">
<label for="privateKey" class="columns-2 control-label">Private Key:</label>
<div class="columns-10">
<textarea class="form-control" id="privateKey" placeholder="Eg: -----BEGIN PRIVATE KEY----- your key -----END PRIVATE KEY-----\n" ng-model="privateKey" required></textarea>
</div>
</div>
<div class="form-group">
<label for="clientEmail" class="columns-2 control-label">Client Email:</label>
<div class="columns-10">
<input type="text" class="form-control" id="clientEmail" placeholder="Eg: myname@myproject-123.iam.gserviceaccount.com" ng-model="clientEmail" required>
</div>
</div>
<div class="form-group">
<label for="db" class="columns-2 control-label">Database URL:</label>
<div class="columns-10">
<input type="text" class="form-control" id="db" placeholder="Eg: https://myproject-123.firebaseio.com" ng-model="databaseURL" required>
</div>
</div>
<footer class="toolbar toolbar-footer">
<div class="toolbar-actions">
<button class="button button-primary pull-right" ng-disabled="add.$invalid">Create</button>
<a class="button button-light pull-right test" ng-click="test()">Test</a>
<div class="loader-wrap pull-right" ng-show="testing"><div class="loader"></div></div>
<span class="pull-right message" ng-show="message" ng-class="{'error': error}">{{message}}</span>
<a class="button button-light" ng-click="close()">Cancel</a>
</div>
</footer>
</form>
</body>
<style type="text/css">
body{
border-top: 1px solid var(--color-border);
}
textarea{
min-height: 50px;
resize: none;
}
.importer button{
position: absolute;
}
#file{
min-height: 30px;
opacity: 0;
}
.form-group.helpers {
margin: -5px 0 5px;
}
.button-plain{
background: none;
box-shadow: none;
border: 1px solid #ddd;
}
.button.test, .message{
margin-right: 10px;
}
.message{
color: #359c22;
font-size: 13px;
}
.error{
color: red;
}
.loader-wrap{
position: relative;
margin-right: 50px;
margin-top: 20px;
zoom: .6;
}
</style>
<script>
const electron = require('electron').remote
const ipc = require('electron').ipcRenderer
const firebase = require("firebase")
const writeFile = require('write-file-atomic')
require('electron').webFrame.setZoomLevelLimits(1, 1)
</script>
<script type="text/javascript" src="js/angular.min.js"></script>
<script type="text/javascript" src="js/connection.js"></script>
<script>
// You can also require other files to run in this process
require('./renderer.js')
</script>
</html>
================================================
FILE: css/angular-resizable.css
================================================
.resizable {
position: relative;
}
.resizable.no-transition {
transition: none !important;
}
.rg-right, .rg-left, .rg-top, .rg-bottom {
display: block;
width: 14px;
height: 14px;
line-height: 14px;
position: absolute;
z-index: 1;
-moz-user-select: -moz-none;
-ms-user-select: none;
-webkit-user-select: none;
user-select: none;
background: transparent;
}
.rg-right span, .rg-left span, .rg-top span, .rg-bottom span {
position: absolute;
box-sizing: border-box;
display: block;
border: 1px solid #adadad;
}
.rg-right span, .rg-left span {
border-width: 0 1px;
top: 50%;
margin: -10px 0 0 5px;
height: 20px;
width: 4px;
opacity: 0;
}
.rg-top span, .rg-bottom span {
border-width: 1px 0;
left: 50%;
margin: 4.5px 0 0 -10px;
width: 20px;
height: 5px;
border-color: rgba(173,173,173,0.5);
}
.rg-top {
cursor: row-resize;
width: 100%;
top: 0;
left: 0;
margin-top: -14px;
}
.rg-right {
cursor: col-resize;
height: 100%;
right: 0;
top: 0;
margin-right: -7px;
}
.rg-bottom {
cursor: row-resize;
width: 100%;
bottom: 0;
left: 0;
margin-bottom: -7px;
}
.rg-left {
cursor: col-resize;
height: 100%;
left: 0;
top: 0;
margin-left: -14px;
}
================================================
FILE: css/codemirror/3024-day.css
================================================
/*
Name: 3024 day
Author: Jan T. Sott (http://github.com/idleberg)
CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror)
Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16)
*/
.cm-s-3024-day.CodeMirror { background: #f7f7f7; color: #3a3432; }
.cm-s-3024-day div.CodeMirror-selected { background: #d6d5d4; }
.cm-s-3024-day .CodeMirror-line::selection, .cm-s-3024-day .CodeMirror-line > span::selection, .cm-s-3024-day .CodeMirror-line > span > span::selection { background: #d6d5d4; }
.cm-s-3024-day .CodeMirror-line::-moz-selection, .cm-s-3024-day .CodeMirror-line > span::-moz-selection, .cm-s-3024-day .CodeMirror-line > span > span::selection { background: #d9d9d9; }
.cm-s-3024-day .CodeMirror-gutters { background: #f7f7f7; border-right: 0px; }
.cm-s-3024-day .CodeMirror-guttermarker { color: #db2d20; }
.cm-s-3024-day .CodeMirror-guttermarker-subtle { color: #807d7c; }
.cm-s-3024-day .CodeMirror-linenumber { color: #807d7c; }
.cm-s-3024-day .CodeMirror-cursor { border-left: 1px solid #5c5855; }
.cm-s-3024-day span.cm-comment { color: #cdab53; }
.cm-s-3024-day span.cm-atom { color: #a16a94; }
.cm-s-3024-day span.cm-number { color: #a16a94; }
.cm-s-3024-day span.cm-property, .cm-s-3024-day span.cm-attribute { color: #01a252; }
.cm-s-3024-day span.cm-keyword { color: #db2d20; }
.cm-s-3024-day span.cm-string { color: #fded02; }
.cm-s-3024-day span.cm-variable { color: #01a252; }
.cm-s-3024-day span.cm-variable-2 { color: #01a0e4; }
.cm-s-3024-day span.cm-def { color: #e8bbd0; }
.cm-s-3024-day span.cm-bracket { color: #3a3432; }
.cm-s-3024-day span.cm-tag { color: #db2d20; }
.cm-s-3024-day span.cm-link { color: #a16a94; }
.cm-s-3024-day span.cm-error { background: #db2d20; color: #5c5855; }
.cm-s-3024-day .CodeMirror-activeline-background { background: #e8f2ff; }
.cm-s-3024-day .CodeMirror-matchingbracket { text-decoration: underline; color: #a16a94 !important; }
================================================
FILE: css/codemirror/3024-night.css
================================================
/*
Name: 3024 night
Author: Jan T. Sott (http://github.com/idleberg)
CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror)
Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16)
*/
.cm-s-3024-night.CodeMirror { background: #090300; color: #d6d5d4; }
.cm-s-3024-night div.CodeMirror-selected { background: #3a3432; }
.cm-s-3024-night .CodeMirror-line::selection, .cm-s-3024-night .CodeMirror-line > span::selection, .cm-s-3024-night .CodeMirror-line > span > span::selection { background: rgba(58, 52, 50, .99); }
.cm-s-3024-night .CodeMirror-line::-moz-selection, .cm-s-3024-night .CodeMirror-line > span::-moz-selection, .cm-s-3024-night .CodeMirror-line > span > span::-moz-selection { background: rgba(58, 52, 50, .99); }
.cm-s-3024-night .CodeMirror-gutters { background: #090300; border-right: 0px; }
.cm-s-3024-night .CodeMirror-guttermarker { color: #db2d20; }
.cm-s-3024-night .CodeMirror-guttermarker-subtle { color: #5c5855; }
.cm-s-3024-night .CodeMirror-linenumber { color: #5c5855; }
.cm-s-3024-night .CodeMirror-cursor { border-left: 1px solid #807d7c; }
.cm-s-3024-night span.cm-comment { color: #cdab53; }
.cm-s-3024-night span.cm-atom { color: #a16a94; }
.cm-s-3024-night span.cm-number { color: #a16a94; }
.cm-s-3024-night span.cm-property, .cm-s-3024-night span.cm-attribute { color: #01a252; }
.cm-s-3024-night span.cm-keyword { color: #db2d20; }
.cm-s-3024-night span.cm-string { color: #fded02; }
.cm-s-3024-night span.cm-variable { color: #01a252; }
.cm-s-3024-night span.cm-variable-2 { color: #01a0e4; }
.cm-s-3024-night span.cm-def { color: #e8bbd0; }
.cm-s-3024-night span.cm-bracket { color: #d6d5d4; }
.cm-s-3024-night span.cm-tag { color: #db2d20; }
.cm-s-3024-night span.cm-link { color: #a16a94; }
.cm-s-3024-night span.cm-error { background: #db2d20; color: #807d7c; }
.cm-s-3024-night .CodeMirror-activeline-background { background: #2F2F2F; }
.cm-s-3024-night .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }
================================================
FILE: css/codemirror/abcdef.css
================================================
.cm-s-abcdef.CodeMirror { background: #0f0f0f; color: #defdef; }
.cm-s-abcdef div.CodeMirror-selected { background: #515151; }
.cm-s-abcdef .CodeMirror-line::selection, .cm-s-abcdef .CodeMirror-line > span::selection, .cm-s-abcdef .CodeMirror-line > span > span::selection { background: rgba(56, 56, 56, 0.99); }
.cm-s-abcdef .CodeMirror-line::-moz-selection, .cm-s-abcdef .CodeMirror-line > span::-moz-selection, .cm-s-abcdef .CodeMirror-line > span > span::-moz-selection { background: rgba(56, 56, 56, 0.99); }
.cm-s-abcdef .CodeMirror-gutters { background: #555; border-right: 2px solid #314151; }
.cm-s-abcdef .CodeMirror-guttermarker { color: #222; }
.cm-s-abcdef .CodeMirror-guttermarker-subtle { color: azure; }
.cm-s-abcdef .CodeMirror-linenumber { color: #FFFFFF; }
.cm-s-abcdef .CodeMirror-cursor { border-left: 1px solid #00FF00; }
.cm-s-abcdef span.cm-keyword { color: darkgoldenrod; font-weight: bold; }
.cm-s-abcdef span.cm-atom { color: #77F; }
.cm-s-abcdef span.cm-number { color: violet; }
.cm-s-abcdef span.cm-def { color: #fffabc; }
.cm-s-abcdef span.cm-variable { color: #abcdef; }
.cm-s-abcdef span.cm-variable-2 { color: #cacbcc; }
.cm-s-abcdef span.cm-variable-3 { color: #def; }
.cm-s-abcdef span.cm-property { color: #fedcba; }
.cm-s-abcdef span.cm-operator { color: #ff0; }
.cm-s-abcdef span.cm-comment { color: #7a7b7c; font-style: italic;}
.cm-s-abcdef span.cm-string { color: #2b4; }
.cm-s-abcdef span.cm-meta { color: #C9F; }
.cm-s-abcdef span.cm-qualifier { color: #FFF700; }
.cm-s-abcdef span.cm-builtin { color: #30aabc; }
.cm-s-abcdef span.cm-bracket { color: #8a8a8a; }
.cm-s-abcdef span.cm-tag { color: #FFDD44; }
.cm-s-abcdef span.cm-attribute { color: #DDFF00; }
.cm-s-abcdef span.cm-error { color: #FF0000; }
.cm-s-abcdef span.cm-header { color: aquamarine; font-weight: bold; }
.cm-s-abcdef span.cm-link { color: blueviolet; }
.cm-s-abcdef .CodeMirror-activeline-background { background: #314151; }
================================================
FILE: css/codemirror/ambiance-mobile.css
================================================
.cm-s-ambiance.CodeMirror {
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
}
================================================
FILE: css/codemirror/ambiance.css
================================================
/* ambiance theme for codemirror */
/* Color scheme */
.cm-s-ambiance .cm-header { color: blue; }
.cm-s-ambiance .cm-quote { color: #24C2C7; }
.cm-s-ambiance .cm-keyword { color: #cda869; }
.cm-s-ambiance .cm-atom { color: #CF7EA9; }
.cm-s-ambiance .cm-number { color: #78CF8A; }
.cm-s-ambiance .cm-def { color: #aac6e3; }
.cm-s-ambiance .cm-variable { color: #ffb795; }
.cm-s-ambiance .cm-variable-2 { color: #eed1b3; }
.cm-s-ambiance .cm-variable-3 { color: #faded3; }
.cm-s-ambiance .cm-property { color: #eed1b3; }
.cm-s-ambiance .cm-operator { color: #fa8d6a; }
.cm-s-ambiance .cm-comment { color: #555; font-style:italic; }
.cm-s-ambiance .cm-string { color: #8f9d6a; }
.cm-s-ambiance .cm-string-2 { color: #9d937c; }
.cm-s-ambiance .cm-meta { color: #D2A8A1; }
.cm-s-ambiance .cm-qualifier { color: yellow; }
.cm-s-ambiance .cm-builtin { color: #9999cc; }
.cm-s-ambiance .cm-bracket { color: #24C2C7; }
.cm-s-ambiance .cm-tag { color: #fee4ff; }
.cm-s-ambiance .cm-attribute { color: #9B859D; }
.cm-s-ambiance .cm-hr { color: pink; }
.cm-s-ambiance .cm-link { color: #F4C20B; }
.cm-s-ambiance .cm-special { color: #FF9D00; }
.cm-s-ambiance .cm-error { color: #AF2018; }
.cm-s-ambiance .CodeMirror-matchingbracket { color: #0f0; }
.cm-s-ambiance .CodeMirror-nonmatchingbracket { color: #f22; }
.cm-s-ambiance div.CodeMirror-selected { background: rgba(255, 255, 255, 0.15); }
.cm-s-ambiance.CodeMirror-focused div.CodeMirror-selected { background: rgba(255, 255, 255, 0.10); }
.cm-s-ambiance .CodeMirror-line::selection, .cm-s-ambiance .CodeMirror-line > span::selection, .cm-s-ambiance .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); }
.cm-s-ambiance .CodeMirror-line::-moz-selection, .cm-s-ambiance .CodeMirror-line > span::-moz-selection, .cm-s-ambiance .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); }
/* Editor styling */
.cm-s-ambiance.CodeMirror {
line-height: 1.40em;
color: #E6E1DC;
background-color: #202020;
-webkit-box-shadow: inset 0 0 10px black;
-moz-box-shadow: inset 0 0 10px black;
box-shadow: inset 0 0 10px black;
}
.cm-s-ambiance .CodeMirror-gutters {
background: #3D3D3D;
border-right: 1px solid #4D4D4D;
box-shadow: 0 10px 20px black;
}
.cm-s-ambiance .CodeMirror-linenumber {
text-shadow: 0px 1px 1px #4d4d4d;
color: #111;
padding: 0 5px;
}
.cm-s-ambiance .CodeMirror-guttermarker { color: #aaa; }
.cm-s-ambiance .CodeMirror-guttermarker-subtle { color: #111; }
.cm-s-ambiance .CodeMirror-cursor { border-left: 1px solid #7991E8; }
.cm-s-ambiance .CodeMirror-activeline-background {
background: none repeat scroll 0% 0% rgba(255, 255, 255, 0.031);
}
.cm-s-ambiance.CodeMirror,
.cm-s-ambiance .CodeMirror-gutters {
background-image: url("data:image/png;base64,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");
}
================================================
FILE: css/codemirror/base16-dark.css
================================================
/*
Name: Base16 Default Dark
Author: Chris Kempson (http://chriskempson.com)
CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror)
Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16)
*/
.cm-s-base16-dark.CodeMirror { background: #151515; color: #e0e0e0; }
.cm-s-base16-dark div.CodeMirror-selected { background: #303030; }
.cm-s-base16-dark .CodeMirror-line::selection, .cm-s-base16-dark .CodeMirror-line > span::selection, .cm-s-base16-dark .CodeMirror-line > span > span::selection { background: rgba(48, 48, 48, .99); }
.cm-s-base16-dark .CodeMirror-line::-moz-selection, .cm-s-base16-dark .CodeMirror-line > span::-moz-selection, .cm-s-base16-dark .CodeMirror-line > span > span::-moz-selection { background: rgba(48, 48, 48, .99); }
.cm-s-base16-dark .CodeMirror-gutters { background: #151515; border-right: 0px; }
.cm-s-base16-dark .CodeMirror-guttermarker { color: #ac4142; }
.cm-s-base16-dark .CodeMirror-guttermarker-subtle { color: #505050; }
.cm-s-base16-dark .CodeMirror-linenumber { color: #505050; }
.cm-s-base16-dark .CodeMirror-cursor { border-left: 1px solid #b0b0b0; }
.cm-s-base16-dark span.cm-comment { color: #8f5536; }
.cm-s-base16-dark span.cm-atom { color: #aa759f; }
.cm-s-base16-dark span.cm-number { color: #aa759f; }
.cm-s-base16-dark span.cm-property, .cm-s-base16-dark span.cm-attribute { color: #90a959; }
.cm-s-base16-dark span.cm-keyword { color: #ac4142; }
.cm-s-base16-dark span.cm-string { color: #f4bf75; }
.cm-s-base16-dark span.cm-variable { color: #90a959; }
.cm-s-base16-dark span.cm-variable-2 { color: #6a9fb5; }
.cm-s-base16-dark span.cm-def { color: #d28445; }
.cm-s-base16-dark span.cm-bracket { color: #e0e0e0; }
.cm-s-base16-dark span.cm-tag { color: #ac4142; }
.cm-s-base16-dark span.cm-link { color: #aa759f; }
.cm-s-base16-dark span.cm-error { background: #ac4142; color: #b0b0b0; }
.cm-s-base16-dark .CodeMirror-activeline-background { background: #202020; }
.cm-s-base16-dark .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }
================================================
FILE: css/codemirror/base16-light.css
================================================
/*
Name: Base16 Default Light
Author: Chris Kempson (http://chriskempson.com)
CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror)
Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16)
*/
.cm-s-base16-light.CodeMirror { background: #f5f5f5; color: #202020; }
.cm-s-base16-light div.CodeMirror-selected { background: #e0e0e0; }
.cm-s-base16-light .CodeMirror-line::selection, .cm-s-base16-light .CodeMirror-line > span::selection, .cm-s-base16-light .CodeMirror-line > span > span::selection { background: #e0e0e0; }
.cm-s-base16-light .CodeMirror-line::-moz-selection, .cm-s-base16-light .CodeMirror-line > span::-moz-selection, .cm-s-base16-light .CodeMirror-line > span > span::-moz-selection { background: #e0e0e0; }
.cm-s-base16-light .CodeMirror-gutters { background: #f5f5f5; border-right: 0px; }
.cm-s-base16-light .CodeMirror-guttermarker { color: #ac4142; }
.cm-s-base16-light .CodeMirror-guttermarker-subtle { color: #b0b0b0; }
.cm-s-base16-light .CodeMirror-linenumber { color: #b0b0b0; }
.cm-s-base16-light .CodeMirror-cursor { border-left: 1px solid #505050; }
.cm-s-base16-light span.cm-comment { color: #8f5536; }
.cm-s-base16-light span.cm-atom { color: #aa759f; }
.cm-s-base16-light span.cm-number { color: #aa759f; }
.cm-s-base16-light span.cm-property, .cm-s-base16-light span.cm-attribute { color: #90a959; }
.cm-s-base16-light span.cm-keyword { color: #ac4142; }
.cm-s-base16-light span.cm-string { color: #f4bf75; }
.cm-s-base16-light span.cm-variable { color: #90a959; }
.cm-s-base16-light span.cm-variable-2 { color: #6a9fb5; }
.cm-s-base16-light span.cm-def { color: #d28445; }
.cm-s-base16-light span.cm-bracket { color: #202020; }
.cm-s-base16-light span.cm-tag { color: #ac4142; }
.cm-s-base16-light span.cm-link { color: #aa759f; }
.cm-s-base16-light span.cm-error { background: #ac4142; color: #505050; }
.cm-s-base16-light .CodeMirror-activeline-background { background: #DDDCDC; }
.cm-s-base16-light .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }
================================================
FILE: css/codemirror/bespin.css
================================================
/*
Name: Bespin
Author: Mozilla / Jan T. Sott
CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror)
Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16)
*/
.cm-s-bespin.CodeMirror {background: #28211c; color: #9d9b97;}
.cm-s-bespin div.CodeMirror-selected {background: #36312e !important;}
.cm-s-bespin .CodeMirror-gutters {background: #28211c; border-right: 0px;}
.cm-s-bespin .CodeMirror-linenumber {color: #666666;}
.cm-s-bespin .CodeMirror-cursor {border-left: 1px solid #797977 !important;}
.cm-s-bespin span.cm-comment {color: #937121;}
.cm-s-bespin span.cm-atom {color: #9b859d;}
.cm-s-bespin span.cm-number {color: #9b859d;}
.cm-s-bespin span.cm-property, .cm-s-bespin span.cm-attribute {color: #54be0d;}
.cm-s-bespin span.cm-keyword {color: #cf6a4c;}
.cm-s-bespin span.cm-string {color: #f9ee98;}
.cm-s-bespin span.cm-variable {color: #54be0d;}
.cm-s-bespin span.cm-variable-2 {color: #5ea6ea;}
.cm-s-bespin span.cm-def {color: #cf7d34;}
.cm-s-bespin span.cm-error {background: #cf6a4c; color: #797977;}
.cm-s-bespin span.cm-bracket {color: #9d9b97;}
.cm-s-bespin span.cm-tag {color: #cf6a4c;}
.cm-s-bespin span.cm-link {color: #9b859d;}
.cm-s-bespin .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;}
.cm-s-bespin .CodeMirror-activeline-background { background: #404040; }
================================================
FILE: css/codemirror/blackboard.css
================================================
/* Port of TextMate's Blackboard theme */
.cm-s-blackboard.CodeMirror { background: #0C1021; color: #F8F8F8; }
.cm-s-blackboard div.CodeMirror-selected { background: #253B76; }
.cm-s-blackboard .CodeMirror-line::selection, .cm-s-blackboard .CodeMirror-line > span::selection, .cm-s-blackboard .CodeMirror-line > span > span::selection { background: rgba(37, 59, 118, .99); }
.cm-s-blackboard .CodeMirror-line::-moz-selection, .cm-s-blackboard .CodeMirror-line > span::-moz-selection, .cm-s-blackboard .CodeMirror-line > span > span::-moz-selection { background: rgba(37, 59, 118, .99); }
.cm-s-blackboard .CodeMirror-gutters { background: #0C1021; border-right: 0; }
.cm-s-blackboard .CodeMirror-guttermarker { color: #FBDE2D; }
.cm-s-blackboard .CodeMirror-guttermarker-subtle { color: #888; }
.cm-s-blackboard .CodeMirror-linenumber { color: #888; }
.cm-s-blackboard .CodeMirror-cursor { border-left: 1px solid #A7A7A7; }
.cm-s-blackboard .cm-keyword { color: #FBDE2D; }
.cm-s-blackboard .cm-atom { color: #D8FA3C; }
.cm-s-blackboard .cm-number { color: #D8FA3C; }
.cm-s-blackboard .cm-def { color: #8DA6CE; }
.cm-s-blackboard .cm-variable { color: #FF6400; }
.cm-s-blackboard .cm-operator { color: #FBDE2D; }
.cm-s-blackboard .cm-comment { color: #AEAEAE; }
.cm-s-blackboard .cm-string { color: #61CE3C; }
.cm-s-blackboard .cm-string-2 { color: #61CE3C; }
.cm-s-blackboard .cm-meta { color: #D8FA3C; }
.cm-s-blackboard .cm-builtin { color: #8DA6CE; }
.cm-s-blackboard .cm-tag { color: #8DA6CE; }
.cm-s-blackboard .cm-attribute { color: #8DA6CE; }
.cm-s-blackboard .cm-header { color: #FF6400; }
.cm-s-blackboard .cm-hr { color: #AEAEAE; }
.cm-s-blackboard .cm-link { color: #8DA6CE; }
.cm-s-blackboard .cm-error { background: #9D1E15; color: #F8F8F8; }
.cm-s-blackboard .CodeMirror-activeline-background { background: #3C3636; }
.cm-s-blackboard .CodeMirror-matchingbracket { outline:1px solid grey;color:white !important; }
================================================
FILE: css/codemirror/cobalt.css
================================================
.cm-s-cobalt.CodeMirror { background: #002240; color: white; }
.cm-s-cobalt div.CodeMirror-selected { background: #b36539; }
.cm-s-cobalt .CodeMirror-line::selection, .cm-s-cobalt .CodeMirror-line > span::selection, .cm-s-cobalt .CodeMirror-line > span > span::selection { background: rgba(179, 101, 57, .99); }
.cm-s-cobalt .CodeMirror-line::-moz-selection, .cm-s-cobalt .CodeMirror-line > span::-moz-selection, .cm-s-cobalt .CodeMirror-line > span > span::-moz-selection { background: rgba(179, 101, 57, .99); }
.cm-s-cobalt .CodeMirror-gutters { background: #002240; border-right: 1px solid #aaa; }
.cm-s-cobalt .CodeMirror-guttermarker { color: #ffee80; }
.cm-s-cobalt .CodeMirror-guttermarker-subtle { color: #d0d0d0; }
.cm-s-cobalt .CodeMirror-linenumber { color: #d0d0d0; }
.cm-s-cobalt .CodeMirror-cursor { border-left: 1px solid white; }
.cm-s-cobalt span.cm-comment { color: #08f; }
.cm-s-cobalt span.cm-atom { color: #845dc4; }
.cm-s-cobalt span.cm-number, .cm-s-cobalt span.cm-attribute { color: #ff80e1; }
.cm-s-cobalt span.cm-keyword { color: #ffee80; }
.cm-s-cobalt span.cm-string { color: #3ad900; }
.cm-s-cobalt span.cm-meta { color: #ff9d00; }
.cm-s-cobalt span.cm-variable-2, .cm-s-cobalt span.cm-tag { color: #9effff; }
.cm-s-cobalt span.cm-variable-3, .cm-s-cobalt span.cm-def { color: white; }
.cm-s-cobalt span.cm-bracket { color: #d8d8d8; }
.cm-s-cobalt span.cm-builtin, .cm-s-cobalt span.cm-special { color: #ff9e59; }
.cm-s-cobalt span.cm-link { color: #845dc4; }
.cm-s-cobalt span.cm-error { color: #9d1e15; }
.cm-s-cobalt .CodeMirror-activeline-background { background: #002D57; }
.cm-s-cobalt .CodeMirror-matchingbracket { outline:1px solid grey;color:white !important; }
================================================
FILE: css/codemirror/codemirror.css
================================================
/* BASICS */
.CodeMirror {
/* Set height, width, borders, and global font properties here */
font-family: monospace;
height: 300px;
color: black;
}
/* PADDING */
.CodeMirror-lines {
padding: 4px 0; /* Vertical padding around content */
}
.CodeMirror pre {
padding: 0 4px; /* Horizontal padding of content */
}
.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
background-color: white; /* The little square between H and V scrollbars */
}
/* GUTTER */
.CodeMirror-gutters {
border-right: 1px solid #ddd;
background-color: #f7f7f7;
white-space: nowrap;
}
.CodeMirror-linenumbers {}
.CodeMirror-linenumber {
padding: 0 3px 0 5px;
min-width: 20px;
text-align: right;
color: #999;
white-space: nowrap;
}
.CodeMirror-guttermarker { color: black; }
.CodeMirror-guttermarker-subtle { color: #999; }
/* CURSOR */
.CodeMirror-cursor {
border-left: 1px solid black;
border-right: none;
width: 0;
}
/* Shown when moving in bi-directional text */
.CodeMirror div.CodeMirror-secondarycursor {
border-left: 1px solid silver;
}
.cm-fat-cursor .CodeMirror-cursor {
width: auto;
border: 0 !important;
background: #7e7;
}
.cm-fat-cursor div.CodeMirror-cursors {
z-index: 1;
}
.cm-animate-fat-cursor {
width: auto;
border: 0;
-webkit-animation: blink 1.06s steps(1) infinite;
-moz-animation: blink 1.06s steps(1) infinite;
animation: blink 1.06s steps(1) infinite;
background-color: #7e7;
}
@-moz-keyframes blink {
0% {}
50% { background-color: transparent; }
100% {}
}
@-webkit-keyframes blink {
0% {}
50% { background-color: transparent; }
100% {}
}
@keyframes blink {
0% {}
50% { background-color: transparent; }
100% {}
}
/* Can style cursor different in overwrite (non-insert) mode */
.CodeMirror-overwrite .CodeMirror-cursor {}
.cm-tab { display: inline-block; text-decoration: inherit; }
.CodeMirror-rulers {
position: absolute;
left: 0; right: 0; top: -50px; bottom: -20px;
overflow: hidden;
}
.CodeMirror-ruler {
border-left: 1px solid #ccc;
top: 0; bottom: 0;
position: absolute;
}
/* DEFAULT THEME */
.cm-s-default .cm-header {color: blue;}
.cm-s-default .cm-quote {color: #090;}
.cm-negative {color: #d44;}
.cm-positive {color: #292;}
.cm-header, .cm-strong {font-weight: bold;}
.cm-em {font-style: italic;}
.cm-link {text-decoration: underline;}
.cm-strikethrough {text-decoration: line-through;}
.cm-s-default .cm-keyword {color: #708;}
.cm-s-default .cm-atom {color: #219;}
.cm-s-default .cm-number {color: #164;}
.cm-s-default .cm-def {color: #00f;}
.cm-s-default .cm-variable,
.cm-s-default .cm-punctuation,
.cm-s-default .cm-property,
.cm-s-default .cm-operator {}
.cm-s-default .cm-variable-2 {color: #05a;}
.cm-s-default .cm-variable-3 {color: #085;}
.cm-s-default .cm-comment {color: #a50;}
.cm-s-default .cm-string {color: #a11;}
.cm-s-default .cm-string-2 {color: #f50;}
.cm-s-default .cm-meta {color: #555;}
.cm-s-default .cm-qualifier {color: #555;}
.cm-s-default .cm-builtin {color: #30a;}
.cm-s-default .cm-bracket {color: #997;}
.cm-s-default .cm-tag {color: #170;}
.cm-s-default .cm-attribute {color: #00c;}
.cm-s-default .cm-hr {color: #999;}
.cm-s-default .cm-link {color: #00c;}
.cm-s-default .cm-error {color: #f00;}
.cm-invalidchar {color: #f00;}
.CodeMirror-composing { border-bottom: 2px solid; }
/* Default styles for common addons */
div.CodeMirror span.CodeMirror-matchingbracket {color: #0f0;}
div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); }
.CodeMirror-activeline-background {background: #e8f2ff;}
/* STOP */
/* The rest of this file contains styles related to the mechanics of
the editor. You probably shouldn't touch them. */
.CodeMirror {
position: relative;
overflow: hidden;
background: white;
}
.CodeMirror-scroll {
overflow: scroll !important; /* Things will break if this is overridden */
/* 30px is the magic margin used to hide the element's real scrollbars */
/* See overflow: hidden in .CodeMirror */
margin-bottom: -30px; margin-right: -30px;
padding-bottom: 30px;
height: 100%;
outline: none; /* Prevent dragging from highlighting the element */
position: relative;
}
.CodeMirror-sizer {
position: relative;
border-right: 30px solid transparent;
}
/* The fake, visible scrollbars. Used to force redraw during scrolling
before actual scrolling happens, thus preventing shaking and
flickering artifacts. */
.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
position: absolute;
z-index: 6;
display: none;
}
.CodeMirror-vscrollbar {
right: 0; top: 0;
overflow-x: hidden;
overflow-y: scroll;
}
.CodeMirror-hscrollbar {
bottom: 0; left: 0;
overflow-y: hidden;
overflow-x: scroll;
}
.CodeMirror-scrollbar-filler {
right: 0; bottom: 0;
}
.CodeMirror-gutter-filler {
left: 0; bottom: 0;
}
.CodeMirror-gutters {
position: absolute; left: 0; top: 0;
min-height: 100%;
z-index: 3;
}
.CodeMirror-gutter {
white-space: normal;
height: 100%;
display: inline-block;
vertical-align: top;
margin-bottom: -30px;
/* Hack to make IE7 behave */
*zoom:1;
*display:inline;
}
.CodeMirror-gutter-wrapper {
position: absolute;
z-index: 4;
background: none !important;
border: none !important;
}
.CodeMirror-gutter-background {
position: absolute;
top: 0; bottom: 0;
z-index: 4;
}
.CodeMirror-gutter-elt {
position: absolute;
cursor: default;
z-index: 4;
}
.CodeMirror-gutter-wrapper {
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
}
.CodeMirror-lines {
cursor: text;
min-height: 1px; /* prevents collapsing before first draw */
}
.CodeMirror pre {
/* Reset some styles that the rest of the page might have set */
-moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;
border-width: 0;
background: transparent;
font-family: inherit;
font-size: inherit;
margin: 0;
white-space: pre;
word-wrap: normal;
line-height: inherit;
color: inherit;
z-index: 2;
position: relative;
overflow: visible;
-webkit-tap-highlight-color: transparent;
-webkit-font-variant-ligatures: none;
font-variant-ligatures: none;
}
.CodeMirror-wrap pre {
word-wrap: break-word;
white-space: pre-wrap;
word-break: normal;
}
.CodeMirror-linebackground {
position: absolute;
left: 0; right: 0; top: 0; bottom: 0;
z-index: 0;
}
.CodeMirror-linewidget {
position: relative;
z-index: 2;
overflow: auto;
}
.CodeMirror-widget {}
.CodeMirror-code {
outline: none;
}
/* Force content-box sizing for the elements where we expect it */
.CodeMirror-scroll,
.CodeMirror-sizer,
.CodeMirror-gutter,
.CodeMirror-gutters,
.CodeMirror-linenumber {
-moz-box-sizing: content-box;
box-sizing: content-box;
}
.CodeMirror-measure {
position: absolute;
width: 100%;
height: 0;
overflow: hidden;
visibility: hidden;
}
.CodeMirror-cursor {
position: absolute;
pointer-events: none;
}
.CodeMirror-measure pre { position: static; }
div.CodeMirror-cursors {
visibility: hidden;
position: relative;
z-index: 3;
}
div.CodeMirror-dragcursors {
visibility: visible;
}
.CodeMirror-focused div.CodeMirror-cursors {
visibility: visible;
}
.CodeMirror-selected { background: #d9d9d9; }
.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }
.CodeMirror-crosshair { cursor: crosshair; }
.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }
.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; }
.cm-searching {
background: #ffa;
background: rgba(255, 255, 0, .4);
}
/* IE7 hack to prevent it from returning funny offsetTops on the spans */
.CodeMirror span { *vertical-align: text-bottom; }
/* Used to force a border model for a node */
.cm-force-border { padding-right: .1px; }
@media print {
/* Hide the cursor when printing */
.CodeMirror div.CodeMirror-cursors {
visibility: hidden;
}
}
/* See issue #2901 */
.cm-tab-wrap-hack:after { content: ''; }
/* Help users use markselection to safely style text background */
span.CodeMirror-selectedtext { background: none; }
================================================
FILE: css/codemirror/colorforth.css
================================================
.cm-s-colorforth.CodeMirror { background: #000000; color: #f8f8f8; }
.cm-s-colorforth .CodeMirror-gutters { background: #0a001f; border-right: 1px solid #aaa; }
.cm-s-colorforth .CodeMirror-guttermarker { color: #FFBD40; }
.cm-s-colorforth .CodeMirror-guttermarker-subtle { color: #78846f; }
.cm-s-colorforth .CodeMirror-linenumber { color: #bababa; }
.cm-s-colorforth .CodeMirror-cursor { border-left: 1px solid white; }
.cm-s-colorforth span.cm-comment { color: #ededed; }
.cm-s-colorforth span.cm-def { color: #ff1c1c; font-weight:bold; }
.cm-s-colorforth span.cm-keyword { color: #ffd900; }
.cm-s-colorforth span.cm-builtin { color: #00d95a; }
.cm-s-colorforth span.cm-variable { color: #73ff00; }
.cm-s-colorforth span.cm-string { color: #007bff; }
.cm-s-colorforth span.cm-number { color: #00c4ff; }
.cm-s-colorforth span.cm-atom { color: #606060; }
.cm-s-colorforth span.cm-variable-2 { color: #EEE; }
.cm-s-colorforth span.cm-variable-3 { color: #DDD; }
.cm-s-colorforth span.cm-property {}
.cm-s-colorforth span.cm-operator {}
.cm-s-colorforth span.cm-meta { color: yellow; }
.cm-s-colorforth span.cm-qualifier { color: #FFF700; }
.cm-s-colorforth span.cm-bracket { color: #cc7; }
.cm-s-colorforth span.cm-tag { color: #FFBD40; }
.cm-s-colorforth span.cm-attribute { color: #FFF700; }
.cm-s-colorforth span.cm-error { color: #f00; }
.cm-s-colorforth div.CodeMirror-selected { background: #333d53; }
.cm-s-colorforth span.cm-compilation { background: rgba(255, 255, 255, 0.12); }
.cm-s-colorforth .CodeMirror-activeline-background { background: #253540; }
================================================
FILE: css/codemirror/dracula.css
================================================
/*
Name: dracula
Author: Michael Kaminsky (http://github.com/mkaminsky11)
Original dracula color scheme by Zeno Rocha (https://github.com/zenorocha/dracula-theme)
*/
.cm-s-dracula.CodeMirror, .cm-s-dracula .CodeMirror-gutters {
background-color: #282a36 !important;
color: #f8f8f2 !important;
border: none;
}
.cm-s-dracula .CodeMirror-gutters { color: #282a36; }
.cm-s-dracula .CodeMirror-cursor { border-left: solid thin #f8f8f0; }
.cm-s-dracula .CodeMirror-linenumber { color: #6D8A88; }
.cm-s-dracula.CodeMirror-focused div.CodeMirror-selected { background: rgba(255, 255, 255, 0.10); }
.cm-s-dracula .CodeMirror-line::selection, .cm-s-dracula .CodeMirror-line > span::selection, .cm-s-dracula .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); }
.cm-s-dracula .CodeMirror-line::-moz-selection, .cm-s-dracula .CodeMirror-line > span::-moz-selection, .cm-s-dracula .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); }
.cm-s-dracula span.cm-comment { color: #6272a4; }
.cm-s-dracula span.cm-string, .cm-s-dracula span.cm-string-2 { color: #f1fa8c; }
.cm-s-dracula span.cm-number { color: #bd93f9; }
.cm-s-dracula span.cm-variable { color: #50fa7b; }
.cm-s-dracula span.cm-variable-2 { color: white; }
.cm-s-dracula span.cm-def { color: #ffb86c; }
.cm-s-dracula span.cm-keyword { color: #ff79c6; }
.cm-s-dracula span.cm-operator { color: #ff79c6; }
.cm-s-dracula span.cm-keyword { color: #ff79c6; }
.cm-s-dracula span.cm-atom { color: #bd93f9; }
.cm-s-dracula span.cm-meta { color: #f8f8f2; }
.cm-s-dracula span.cm-tag { color: #ff79c6; }
.cm-s-dracula span.cm-attribute { color: #50fa7b; }
.cm-s-dracula span.cm-qualifier { color: #50fa7b; }
.cm-s-dracula span.cm-property { color: #66d9ef; }
.cm-s-dracula span.cm-builtin { color: #50fa7b; }
.cm-s-dracula span.cm-variable-3 { color: #50fa7b; }
.cm-s-dracula .CodeMirror-activeline-background { background: rgba(255,255,255,0.1); }
.cm-s-dracula .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }
================================================
FILE: css/codemirror/eclipse.css
================================================
.cm-s-eclipse span.cm-meta { color: #FF1717; }
.cm-s-eclipse span.cm-keyword { line-height: 1em; font-weight: bold; color: #7F0055; }
.cm-s-eclipse span.cm-atom { color: #219; }
.cm-s-eclipse span.cm-number { color: #164; }
.cm-s-eclipse span.cm-def { color: #00f; }
.cm-s-eclipse span.cm-variable { color: black; }
.cm-s-eclipse span.cm-variable-2 { color: #0000C0; }
.cm-s-eclipse span.cm-variable-3 { color: #0000C0; }
.cm-s-eclipse span.cm-property { color: black; }
.cm-s-eclipse span.cm-operator { color: black; }
.cm-s-eclipse span.cm-comment { color: #3F7F5F; }
.cm-s-eclipse span.cm-string { color: #2A00FF; }
.cm-s-eclipse span.cm-string-2 { color: #f50; }
.cm-s-eclipse span.cm-qualifier { color: #555; }
.cm-s-eclipse span.cm-builtin { color: #30a; }
.cm-s-eclipse span.cm-bracket { color: #cc7; }
.cm-s-eclipse span.cm-tag { color: #170; }
.cm-s-eclipse span.cm-attribute { color: #00c; }
.cm-s-eclipse span.cm-link { color: #219; }
.cm-s-eclipse span.cm-error { color: #f00; }
.cm-s-eclipse .CodeMirror-activeline-background { background: #e8f2ff; }
.cm-s-eclipse .CodeMirror-matchingbracket { outline:1px solid grey; color:black !important; }
================================================
FILE: css/codemirror/elegant.css
================================================
.cm-s-elegant span.cm-number, .cm-s-elegant span.cm-string, .cm-s-elegant span.cm-atom { color: #762; }
.cm-s-elegant span.cm-comment { color: #262; font-style: italic; line-height: 1em; }
.cm-s-elegant span.cm-meta { color: #555; font-style: italic; line-height: 1em; }
.cm-s-elegant span.cm-variable { color: black; }
.cm-s-elegant span.cm-variable-2 { color: #b11; }
.cm-s-elegant span.cm-qualifier { color: #555; }
.cm-s-elegant span.cm-keyword { color: #730; }
.cm-s-elegant span.cm-builtin { color: #30a; }
.cm-s-elegant span.cm-link { color: #762; }
.cm-s-elegant span.cm-error { background-color: #fdd; }
.cm-s-elegant .CodeMirror-activeline-background { background: #e8f2ff; }
.cm-s-elegant .CodeMirror-matchingbracket { outline:1px solid grey; color:black !important; }
================================================
FILE: css/codemirror/erlang-dark.css
================================================
.cm-s-erlang-dark.CodeMirror { background: #002240; color: white; }
.cm-s-erlang-dark div.CodeMirror-selected { background: #b36539; }
.cm-s-erlang-dark .CodeMirror-line::selection, .cm-s-erlang-dark .CodeMirror-line > span::selection, .cm-s-erlang-dark .CodeMirror-line > span > span::selection { background: rgba(179, 101, 57, .99); }
.cm-s-erlang-dark .CodeMirror-line::-moz-selection, .cm-s-erlang-dark .CodeMirror-line > span::-moz-selection, .cm-s-erlang-dark .CodeMirror-line > span > span::-moz-selection { background: rgba(179, 101, 57, .99); }
.cm-s-erlang-dark .CodeMirror-gutters { background: #002240; border-right: 1px solid #aaa; }
.cm-s-erlang-dark .CodeMirror-guttermarker { color: white; }
.cm-s-erlang-dark .CodeMirror-guttermarker-subtle { color: #d0d0d0; }
.cm-s-erlang-dark .CodeMirror-linenumber { color: #d0d0d0; }
.cm-s-erlang-dark .CodeMirror-cursor { border-left: 1px solid white; }
.cm-s-erlang-dark span.cm-quote { color: #ccc; }
.cm-s-erlang-dark span.cm-atom { color: #f133f1; }
.cm-s-erlang-dark span.cm-attribute { color: #ff80e1; }
.cm-s-erlang-dark span.cm-bracket { color: #ff9d00; }
.cm-s-erlang-dark span.cm-builtin { color: #eaa; }
.cm-s-erlang-dark span.cm-comment { color: #77f; }
.cm-s-erlang-dark span.cm-def { color: #e7a; }
.cm-s-erlang-dark span.cm-keyword { color: #ffee80; }
.cm-s-erlang-dark span.cm-meta { color: #50fefe; }
.cm-s-erlang-dark span.cm-number { color: #ffd0d0; }
.cm-s-erlang-dark span.cm-operator { color: #d55; }
.cm-s-erlang-dark span.cm-property { color: #ccc; }
.cm-s-erlang-dark span.cm-qualifier { color: #ccc; }
.cm-s-erlang-dark span.cm-special { color: #ffbbbb; }
.cm-s-erlang-dark span.cm-string { color: #3ad900; }
.cm-s-erlang-dark span.cm-string-2 { color: #ccc; }
.cm-s-erlang-dark span.cm-tag { color: #9effff; }
.cm-s-erlang-dark span.cm-variable { color: #50fe50; }
.cm-s-erlang-dark span.cm-variable-2 { color: #e0e; }
.cm-s-erlang-dark span.cm-variable-3 { color: #ccc; }
.cm-s-erlang-dark span.cm-error { color: #9d1e15; }
.cm-s-erlang-dark .CodeMirror-activeline-background { background: #013461; }
.cm-s-erlang-dark .CodeMirror-matchingbracket { outline:1px solid grey; color:white !important; }
================================================
FILE: css/codemirror/hopscotch.css
================================================
/*
Name: Hopscotch
Author: Jan T. Sott
CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror)
Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16)
*/
.cm-s-hopscotch.CodeMirror {background: #322931; color: #d5d3d5;}
.cm-s-hopscotch div.CodeMirror-selected {background: #433b42 !important;}
.cm-s-hopscotch .CodeMirror-gutters {background: #322931; border-right: 0px;}
.cm-s-hopscotch .CodeMirror-linenumber {color: #797379;}
.cm-s-hopscotch .CodeMirror-cursor {border-left: 1px solid #989498 !important;}
.cm-s-hopscotch span.cm-comment {color: #b33508;}
.cm-s-hopscotch span.cm-atom {color: #c85e7c;}
.cm-s-hopscotch span.cm-number {color: #c85e7c;}
.cm-s-hopscotch span.cm-property, .cm-s-hopscotch span.cm-attribute {color: #8fc13e;}
.cm-s-hopscotch span.cm-keyword {color: #dd464c;}
.cm-s-hopscotch span.cm-string {color: #fdcc59;}
.cm-s-hopscotch span.cm-variable {color: #8fc13e;}
.cm-s-hopscotch span.cm-variable-2 {color: #1290bf;}
.cm-s-hopscotch span.cm-def {color: #fd8b19;}
.cm-s-hopscotch span.cm-error {background: #dd464c; color: #989498;}
.cm-s-hopscotch span.cm-bracket {color: #d5d3d5;}
.cm-s-hopscotch span.cm-tag {color: #dd464c;}
.cm-s-hopscotch span.cm-link {color: #c85e7c;}
.cm-s-hopscotch .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;}
.cm-s-hopscotch .CodeMirror-activeline-background { background: #302020; }
================================================
FILE: css/codemirror/icecoder.css
================================================
/*
ICEcoder default theme by Matt Pass, used in code editor available at https://icecoder.net
*/
.cm-s-icecoder { color: #666; background: #1d1d1b; }
.cm-s-icecoder span.cm-keyword { color: #eee; font-weight:bold; } /* off-white 1 */
.cm-s-icecoder span.cm-atom { color: #e1c76e; } /* yellow */
.cm-s-icecoder span.cm-number { color: #6cb5d9; } /* blue */
.cm-s-icecoder span.cm-def { color: #b9ca4a; } /* green */
.cm-s-icecoder span.cm-variable { color: #6cb5d9; } /* blue */
.cm-s-icecoder span.cm-variable-2 { color: #cc1e5c; } /* pink */
.cm-s-icecoder span.cm-variable-3 { color: #f9602c; } /* orange */
.cm-s-icecoder span.cm-property { color: #eee; } /* off-white 1 */
.cm-s-icecoder span.cm-operator { color: #9179bb; } /* purple */
.cm-s-icecoder span.cm-comment { color: #97a3aa; } /* grey-blue */
.cm-s-icecoder span.cm-string { color: #b9ca4a; } /* green */
.cm-s-icecoder span.cm-string-2 { color: #6cb5d9; } /* blue */
.cm-s-icecoder span.cm-meta { color: #555; } /* grey */
.cm-s-icecoder span.cm-qualifier { color: #555; } /* grey */
.cm-s-icecoder span.cm-builtin { color: #214e7b; } /* bright blue */
.cm-s-icecoder span.cm-bracket { color: #cc7; } /* grey-yellow */
.cm-s-icecoder span.cm-tag { color: #e8e8e8; } /* off-white 2 */
.cm-s-icecoder span.cm-attribute { color: #099; } /* teal */
.cm-s-icecoder span.cm-header { color: #6a0d6a; } /* purple-pink */
.cm-s-icecoder span.cm-quote { color: #186718; } /* dark green */
.cm-s-icecoder span.cm-hr { color: #888; } /* mid-grey */
.cm-s-icecoder span.cm-link { color: #e1c76e; } /* yellow */
.cm-s-icecoder span.cm-error { color: #d00; } /* red */
.cm-s-icecoder .CodeMirror-cursor { border-left: 1px solid white; }
.cm-s-icecoder div.CodeMirror-selected { color: #fff; background: #037; }
.cm-s-icecoder .CodeMirror-gutters { background: #1d1d1b; min-width: 41px; border-right: 0; }
.cm-s-icecoder .CodeMirror-linenumber { color: #555; cursor: default; }
.cm-s-icecoder .CodeMirror-matchingbracket { color: #fff !important; background: #555 !important; }
.cm-s-icecoder .CodeMirror-activeline-background { background: #000; }
================================================
FILE: css/codemirror/isotope.css
================================================
/*
Name: Isotope
Author: David Desandro / Jan T. Sott
CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror)
Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16)
*/
.cm-s-isotope.CodeMirror {background: #000000; color: #e0e0e0;}
.cm-s-isotope div.CodeMirror-selected {background: #404040 !important;}
.cm-s-isotope .CodeMirror-gutters {background: #000000; border-right: 0px;}
.cm-s-isotope .CodeMirror-linenumber {color: #808080;}
.cm-s-isotope .CodeMirror-cursor {border-left: 1px solid #c0c0c0 !important;}
.cm-s-isotope span.cm-comment {color: #3300ff;}
.cm-s-isotope span.cm-atom {color: #cc00ff;}
.cm-s-isotope span.cm-number {color: #cc00ff;}
.cm-s-isotope span.cm-property, .cm-s-isotope span.cm-attribute {color: #33ff00;}
.cm-s-isotope span.cm-keyword {color: #ff0000;}
.cm-s-isotope span.cm-string {color: #ff0099;}
.cm-s-isotope span.cm-variable {color: #33ff00;}
.cm-s-isotope span.cm-variable-2 {color: #0066ff;}
.cm-s-isotope span.cm-def {color: #ff9900;}
.cm-s-isotope span.cm-error {background: #ff0000; color: #c0c0c0;}
.cm-s-isotope span.cm-bracket {color: #e0e0e0;}
.cm-s-isotope span.cm-tag {color: #ff0000;}
.cm-s-isotope span.cm-link {color: #cc00ff;}
.cm-s-isotope .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;}
.cm-s-isotope .CodeMirror-activeline-background { background: #202020; }
================================================
FILE: css/codemirror/lesser-dark.css
================================================
/*
http://lesscss.org/ dark theme
Ported to CodeMirror by Peter Kroon
*/
.cm-s-lesser-dark {
line-height: 1.3em;
}
.cm-s-lesser-dark.CodeMirror { background: #262626; color: #EBEFE7; text-shadow: 0 -1px 1px #262626; }
.cm-s-lesser-dark div.CodeMirror-selected { background: #45443B; } /* 33322B*/
.cm-s-lesser-dark .CodeMirror-line::selection, .cm-s-lesser-dark .CodeMirror-line > span::selection, .cm-s-lesser-dark .CodeMirror-line > span > span::selection { background: rgba(69, 68, 59, .99); }
.cm-s-lesser-dark .CodeMirror-line::-moz-selection, .cm-s-lesser-dark .CodeMirror-line > span::-moz-selection, .cm-s-lesser-dark .CodeMirror-line > span > span::-moz-selection { background: rgba(69, 68, 59, .99); }
.cm-s-lesser-dark .CodeMirror-cursor { border-left: 1px solid white; }
.cm-s-lesser-dark pre { padding: 0 8px; }/*editable code holder*/
.cm-s-lesser-dark.CodeMirror span.CodeMirror-matchingbracket { color: #7EFC7E; }/*65FC65*/
.cm-s-lesser-dark .CodeMirror-gutters { background: #262626; border-right:1px solid #aaa; }
.cm-s-lesser-dark .CodeMirror-guttermarker { color: #599eff; }
.cm-s-lesser-dark .CodeMirror-guttermarker-subtle { color: #777; }
.cm-s-lesser-dark .CodeMirror-linenumber { color: #777; }
.cm-s-lesser-dark span.cm-header { color: #a0a; }
.cm-s-lesser-dark span.cm-quote { color: #090; }
.cm-s-lesser-dark span.cm-keyword { color: #599eff; }
.cm-s-lesser-dark span.cm-atom { color: #C2B470; }
.cm-s-lesser-dark span.cm-number { color: #B35E4D; }
.cm-s-lesser-dark span.cm-def { color: white; }
.cm-s-lesser-dark span.cm-variable { color:#D9BF8C; }
.cm-s-lesser-dark span.cm-variable-2 { color: #669199; }
.cm-s-lesser-dark span.cm-variable-3 { color: white; }
.cm-s-lesser-dark span.cm-property { color: #92A75C; }
.cm-s-lesser-dark span.cm-operator { color: #92A75C; }
.cm-s-lesser-dark span.cm-comment { color: #666; }
.cm-s-lesser-dark span.cm-string { color: #BCD279; }
.cm-s-lesser-dark span.cm-string-2 { color: #f50; }
.cm-s-lesser-dark span.cm-meta { color: #738C73; }
.cm-s-lesser-dark span.cm-qualifier { color: #555; }
.cm-s-lesser-dark span.cm-builtin { color: #ff9e59; }
.cm-s-lesser-dark span.cm-bracket { color: #EBEFE7; }
.cm-s-lesser-dark span.cm-tag { color: #669199; }
.cm-s-lesser-dark span.cm-attribute { color: #00c; }
.cm-s-lesser-dark span.cm-hr { color: #999; }
.cm-s-lesser-dark span.cm-link { color: #00c; }
.cm-s-lesser-dark span.cm-error { color: #9d1e15; }
.cm-s-lesser-dark .CodeMirror-activeline-background { background: #3C3A3A; }
.cm-s-lesser-dark .CodeMirror-matchingbracket { outline:1px solid grey; color:white !important; }
================================================
FILE: css/codemirror/liquibyte.css
================================================
.cm-s-liquibyte.CodeMirror {
background-color: #000;
color: #fff;
line-height: 1.2em;
font-size: 1em;
}
.cm-s-liquibyte .CodeMirror-focused .cm-matchhighlight {
text-decoration: underline;
text-decoration-color: #0f0;
text-decoration-style: wavy;
}
.cm-s-liquibyte .cm-trailingspace {
text-decoration: line-through;
text-decoration-color: #f00;
text-decoration-style: dotted;
}
.cm-s-liquibyte .cm-tab {
text-decoration: line-through;
text-decoration-color: #404040;
text-decoration-style: dotted;
}
.cm-s-liquibyte .CodeMirror-gutters { background-color: #262626; border-right: 1px solid #505050; padding-right: 0.8em; }
.cm-s-liquibyte .CodeMirror-gutter-elt div { font-size: 1.2em; }
.cm-s-liquibyte .CodeMirror-guttermarker { }
.cm-s-liquibyte .CodeMirror-guttermarker-subtle { }
.cm-s-liquibyte .CodeMirror-linenumber { color: #606060; padding-left: 0; }
.cm-s-liquibyte .CodeMirror-cursor { border-left: 1px solid #eee; }
.cm-s-liquibyte span.cm-comment { color: #008000; }
.cm-s-liquibyte span.cm-def { color: #ffaf40; font-weight: bold; }
.cm-s-liquibyte span.cm-keyword { color: #c080ff; font-weight: bold; }
.cm-s-liquibyte span.cm-builtin { color: #ffaf40; font-weight: bold; }
.cm-s-liquibyte span.cm-variable { color: #5967ff; font-weight: bold; }
.cm-s-liquibyte span.cm-string { color: #ff8000; }
.cm-s-liquibyte span.cm-number { color: #0f0; font-weight: bold; }
.cm-s-liquibyte span.cm-atom { color: #bf3030; font-weight: bold; }
.cm-s-liquibyte span.cm-variable-2 { color: #007f7f; font-weight: bold; }
.cm-s-liquibyte span.cm-variable-3 { color: #c080ff; font-weight: bold; }
.cm-s-liquibyte span.cm-property { color: #999; font-weight: bold; }
.cm-s-liquibyte span.cm-operator { color: #fff; }
.cm-s-liquibyte span.cm-meta { color: #0f0; }
.cm-s-liquibyte span.cm-qualifier { color: #fff700; font-weight: bold; }
.cm-s-liquibyte span.cm-bracket { color: #cc7; }
.cm-s-liquibyte span.cm-tag { color: #ff0; font-weight: bold; }
.cm-s-liquibyte span.cm-attribute { color: #c080ff; font-weight: bold; }
.cm-s-liquibyte span.cm-error { color: #f00; }
.cm-s-liquibyte div.CodeMirror-selected { background-color: rgba(255, 0, 0, 0.25); }
.cm-s-liquibyte span.cm-compilation { background-color: rgba(255, 255, 255, 0.12); }
.cm-s-liquibyte .CodeMirror-activeline-background { background-color: rgba(0, 255, 0, 0.15); }
/* Default styles for common addons */
.cm-s-liquibyte .CodeMirror span.CodeMirror-matchingbracket { color: #0f0; font-weight: bold; }
.cm-s-liquibyte .CodeMirror span.CodeMirror-nonmatchingbracket { color: #f00; font-weight: bold; }
.CodeMirror-matchingtag { background-color: rgba(150, 255, 0, .3); }
/* Scrollbars */
/* Simple */
.cm-s-liquibyte div.CodeMirror-simplescroll-horizontal div:hover, div.CodeMirror-simplescroll-vertical div:hover {
background-color: rgba(80, 80, 80, .7);
}
.cm-s-liquibyte div.CodeMirror-simplescroll-horizontal div, div.CodeMirror-simplescroll-vertical div {
background-color: rgba(80, 80, 80, .3);
border: 1px solid #404040;
border-radius: 5px;
}
.cm-s-liquibyte div.CodeMirror-simplescroll-vertical div {
border-top: 1px solid #404040;
border-bottom: 1px solid #404040;
}
.cm-s-liquibyte div.CodeMirror-simplescroll-horizontal div {
border-left: 1px solid #404040;
border-right: 1px solid #404040;
}
.cm-s-liquibyte div.CodeMirror-simplescroll-vertical {
background-color: #262626;
}
.cm-s-liquibyte div.CodeMirror-simplescroll-horizontal {
background-color: #262626;
border-top: 1px solid #404040;
}
/* Overlay */
.cm-s-liquibyte div.CodeMirror-overlayscroll-horizontal div, div.CodeMirror-overlayscroll-vertical div {
background-color: #404040;
border-radius: 5px;
}
.cm-s-liquibyte div.CodeMirror-overlayscroll-vertical div {
border: 1px solid #404040;
}
.cm-s-liquibyte div.CodeMirror-overlayscroll-horizontal div {
border: 1px solid #404040;
}
================================================
FILE: css/codemirror/material.css
================================================
/*
Name: material
Author: Michael Kaminsky (http://github.com/mkaminsky11)
Original material color scheme by Mattia Astorino (https://github.com/equinusocio/material-theme)
*/
.cm-s-material {
background-color: #263238;
color: rgba(233, 237, 237, 1);
}
.cm-s-material .CodeMirror-gutters {
background: #263238;
color: rgb(83,127,126);
border: none;
}
.cm-s-material .CodeMirror-guttermarker, .cm-s-material .CodeMirror-guttermarker-subtle, .cm-s-material .CodeMirror-linenumber { color: rgb(83,127,126); }
.cm-s-material .CodeMirror-cursor { border-left: 1px solid #f8f8f0; }
.cm-s-material div.CodeMirror-selected { background: rgba(255, 255, 255, 0.15); }
.cm-s-material.CodeMirror-focused div.CodeMirror-selected { background: rgba(255, 255, 255, 0.10); }
.cm-s-material .CodeMirror-line::selection, .cm-s-material .CodeMirror-line > span::selection, .cm-s-material .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); }
.cm-s-material .CodeMirror-line::-moz-selection, .cm-s-material .CodeMirror-line > span::-moz-selection, .cm-s-material .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); }
.cm-s-material .CodeMirror-activeline-background { background: rgba(0, 0, 0, 0); }
.cm-s-material .cm-keyword { color: rgba(199, 146, 234, 1); }
.cm-s-material .cm-operator { color: rgba(233, 237, 237, 1); }
.cm-s-material .cm-variable-2 { color: #80CBC4; }
.cm-s-material .cm-variable-3 { color: #82B1FF; }
.cm-s-material .cm-builtin { color: #DECB6B; }
.cm-s-material .cm-atom { color: #F77669; }
.cm-s-material .cm-number { color: #F77669; }
.cm-s-material .cm-def { color: rgba(233, 237, 237, 1); }
.cm-s-material .cm-string { color: #C3E88D; }
.cm-s-material .cm-string-2 { color: #80CBC4; }
.cm-s-material .cm-comment { color: #546E7A; }
.cm-s-material .cm-variable { color: #82B1FF; }
.cm-s-material .cm-tag { color: #80CBC4; }
.cm-s-material .cm-meta { color: #80CBC4; }
.cm-s-material .cm-attribute { color: #FFCB6B; }
.cm-s-material .cm-property { color: #80CBAE; }
.cm-s-material .cm-qualifier { color: #DECB6B; }
.cm-s-material .cm-variable-3 { color: #DECB6B; }
.cm-s-material .cm-tag { color: rgba(255, 83, 112, 1); }
.cm-s-material .cm-error {
color: rgba(255, 255, 255, 1.0);
background-color: #EC5F67;
}
.cm-s-material .CodeMirror-matchingbracket {
text-decoration: underline;
color: white !important;
}
================================================
FILE: css/codemirror/mbo.css
================================================
/****************************************************************/
/* Based on mbonaci's Brackets mbo theme */
/* https://github.com/mbonaci/global/blob/master/Mbo.tmTheme */
/* Create your own: http://tmtheme-editor.herokuapp.com */
/****************************************************************/
.cm-s-mbo.CodeMirror { background: #2c2c2c; color: #ffffec; }
.cm-s-mbo div.CodeMirror-selected { background: #716C62; }
.cm-s-mbo .CodeMirror-line::selection, .cm-s-mbo .CodeMirror-line > span::selection, .cm-s-mbo .CodeMirror-line > span > span::selection { background: rgba(113, 108, 98, .99); }
.cm-s-mbo .CodeMirror-line::-moz-selection, .cm-s-mbo .CodeMirror-line > span::-moz-selection, .cm-s-mbo .CodeMirror-line > span > span::-moz-selection { background: rgba(113, 108, 98, .99); }
.cm-s-mbo .CodeMirror-gutters { background: #4e4e4e; border-right: 0px; }
.cm-s-mbo .CodeMirror-guttermarker { color: white; }
.cm-s-mbo .CodeMirror-guttermarker-subtle { color: grey; }
.cm-s-mbo .CodeMirror-linenumber { color: #dadada; }
.cm-s-mbo .CodeMirror-cursor { border-left: 1px solid #ffffec; }
.cm-s-mbo span.cm-comment { color: #95958a; }
.cm-s-mbo span.cm-atom { color: #00a8c6; }
.cm-s-mbo span.cm-number { color: #00a8c6; }
.cm-s-mbo span.cm-property, .cm-s-mbo span.cm-attribute { color: #9ddfe9; }
.cm-s-mbo span.cm-keyword { color: #ffb928; }
.cm-s-mbo span.cm-string { color: #ffcf6c; }
.cm-s-mbo span.cm-string.cm-property { color: #ffffec; }
.cm-s-mbo span.cm-variable { color: #ffffec; }
.cm-s-mbo span.cm-variable-2 { color: #00a8c6; }
.cm-s-mbo span.cm-def { color: #ffffec; }
.cm-s-mbo span.cm-bracket { color: #fffffc; font-weight: bold; }
.cm-s-mbo span.cm-tag { color: #9ddfe9; }
.cm-s-mbo span.cm-link { color: #f54b07; }
.cm-s-mbo span.cm-error { border-bottom: #636363; color: #ffffec; }
.cm-s-mbo span.cm-qualifier { color: #ffffec; }
.cm-s-mbo .CodeMirror-activeline-background { background: #494b41; }
.cm-s-mbo .CodeMirror-matchingbracket { color: #ffb928 !important; }
.cm-s-mbo .CodeMirror-matchingtag { background: rgba(255, 255, 255, .37); }
================================================
FILE: css/codemirror/mdn-like.css
================================================
/*
MDN-LIKE Theme - Mozilla
Ported to CodeMirror by Peter Kroon <plakroon@gmail.com>
Report bugs/issues here: https://github.com/codemirror/CodeMirror/issues
GitHub: @peterkroon
The mdn-like theme is inspired on the displayed code examples at: https://developer.mozilla.org/en-US/docs/Web/CSS/animation
*/
.cm-s-mdn-like.CodeMirror { color: #999; background-color: #fff; }
.cm-s-mdn-like div.CodeMirror-selected { background: #cfc; }
.cm-s-mdn-like .CodeMirror-line::selection, .cm-s-mdn-like .CodeMirror-line > span::selection, .cm-s-mdn-like .CodeMirror-line > span > span::selection { background: #cfc; }
.cm-s-mdn-like .CodeMirror-line::-moz-selection, .cm-s-mdn-like .CodeMirror-line > span::-moz-selection, .cm-s-mdn-like .CodeMirror-line > span > span::-moz-selection { background: #cfc; }
.cm-s-mdn-like .CodeMirror-gutters { background: #f8f8f8; border-left: 6px solid rgba(0,83,159,0.65); color: #333; }
.cm-s-mdn-like .CodeMirror-linenumber { color: #aaa; padding-left: 8px; }
.cm-s-mdn-like .CodeMirror-cursor { border-left: 2px solid #222; }
.cm-s-mdn-like .cm-keyword { color: #6262FF; }
.cm-s-mdn-like .cm-atom { color: #F90; }
.cm-s-mdn-like .cm-number { color: #ca7841; }
.cm-s-mdn-like .cm-def { color: #8DA6CE; }
.cm-s-mdn-like span.cm-variable-2, .cm-s-mdn-like span.cm-tag { color: #690; }
.cm-s-mdn-like span.cm-variable-3, .cm-s-mdn-like span.cm-def { color: #07a; }
.cm-s-mdn-like .cm-variable { color: #07a; }
.cm-s-mdn-like .cm-property { color: #905; }
.cm-s-mdn-like .cm-qualifier { color: #690; }
.cm-s-mdn-like .cm-operator { color: #cda869; }
.cm-s-mdn-like .cm-comment { color:#777; font-weight:normal; }
.cm-s-mdn-like .cm-string { color:#07a; font-style:italic; }
.cm-s-mdn-like .cm-string-2 { color:#bd6b18; } /*?*/
.cm-s-mdn-like .cm-meta { color: #000; } /*?*/
.cm-s-mdn-like .cm-builtin { color: #9B7536; } /*?*/
.cm-s-mdn-like .cm-tag { color: #997643; }
.cm-s-mdn-like .cm-attribute { color: #d6bb6d; } /*?*/
.cm-s-mdn-like .cm-header { color: #FF6400; }
.cm-s-mdn-like .cm-hr { color: #AEAEAE; }
.cm-s-mdn-like .cm-link { color:#ad9361; font-style:italic; text-decoration:none; }
.cm-s-mdn-like .cm-error { border-bottom: 1px solid red; }
div.cm-s-mdn-like .CodeMirror-activeline-background { background: #efefff; }
div.cm-s-mdn-like span.CodeMirror-matchingbracket { outline:1px solid grey; color: inherit; }
.cm-s-mdn-like.CodeMirror { background-image: url(data:image/png;base64,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); }
================================================
FILE: css/codemirror/midnight.css
================================================
/* Based on the theme at http://bonsaiden.github.com/JavaScript-Garden */
/*<!--match-->*/
.cm-s-midnight span.CodeMirror-matchhighlight { background: #494949; }
.cm-s-midnight.CodeMirror-focused span.CodeMirror-matchhighlight { background: #314D67 !important; }
/*<!--activeline-->*/
.cm-s-midnight .CodeMirror-activeline-background { background: #253540; }
.cm-s-midnight.CodeMirror {
background: #0F192A;
color: #D1EDFF;
}
.cm-s-midnight.CodeMirror { border-top: 1px solid black; border-bottom: 1px solid black; }
.cm-s-midnight div.CodeMirror-selected { background: #314D67; }
.cm-s-midnight .CodeMirror-line::selection, .cm-s-midnight .CodeMirror-line > span::selection, .cm-s-midnight .CodeMirror-line > span > span::selection { background: rgba(49, 77, 103, .99); }
.cm-s-midnight .CodeMirror-line::-moz-selection, .cm-s-midnight .CodeMirror-line > span::-moz-selection, .cm-s-midnight .CodeMirror-line > span > span::-moz-selection { background: rgba(49, 77, 103, .99); }
.cm-s-midnight .CodeMirror-gutters { background: #0F192A; border-right: 1px solid; }
.cm-s-midnight .CodeMirror-guttermarker { color: white; }
.cm-s-midnight .CodeMirror-guttermarker-subtle { color: #d0d0d0; }
.cm-s-midnight .CodeMirror-linenumber { color: #D0D0D0; }
.cm-s-midnight .CodeMirror-cursor { border-left: 1px solid #F8F8F0; }
.cm-s-midnight span.cm-comment { color: #428BDD; }
.cm-s-midnight span.cm-atom { color: #AE81FF; }
.cm-s-midnight span.cm-number { color: #D1EDFF; }
.cm-s-midnight span.cm-property, .cm-s-midnight span.cm-attribute { color: #A6E22E; }
.cm-s-midnight span.cm-keyword { color: #E83737; }
.cm-s-midnight span.cm-string { color: #1DC116; }
.cm-s-midnight span.cm-variable { color: #FFAA3E; }
.cm-s-midnight span.cm-variable-2 { color: #FFAA3E; }
.cm-s-midnight span.cm-def { color: #4DD; }
.cm-s-midnight span.cm-bracket { color: #D1EDFF; }
.cm-s-midnight span.cm-tag { color: #449; }
.cm-s-midnight span.cm-link { color: #AE81FF; }
.cm-s-midnight span.cm-error { background: #F92672; color: #F8F8F0; }
.cm-s-midnight .CodeMirror-matchingbracket {
text-decoration: underline;
color: white !important;
}
================================================
FILE: css/codemirror/monokai.css
================================================
/* Based on Sublime Text's Monokai theme */
.cm-s-monokai.CodeMirror { background: #272822; color: #f8f8f2; }
.cm-s-monokai div.CodeMirror-selected { background: #49483E; }
.cm-s-monokai .CodeMirror-line::selection, .cm-s-monokai .CodeMirror-line > span::selection, .cm-s-monokai .CodeMirror-line > span > span::selection { background: rgba(73, 72, 62, .99); }
.cm-s-monokai .CodeMirror-line::-moz-selection, .cm-s-monokai .CodeMirror-line > span::-moz-selection, .cm-s-monokai .CodeMirror-line > span > span::-moz-selection { background: rgba(73, 72, 62, .99); }
.cm-s-monokai .CodeMirror-gutters { background: #272822; border-right: 0px; }
.cm-s-monokai .CodeMirror-guttermarker { color: white; }
.cm-s-monokai .CodeMirror-guttermarker-subtle { color: #d0d0d0; }
.cm-s-monokai .CodeMirror-linenumber { color: #d0d0d0; }
.cm-s-monokai .CodeMirror-cursor { border-left: 1px solid #f8f8f0; }
.cm-s-monokai span.cm-comment { color: #75715e; }
.cm-s-monokai span.cm-atom { color: #ae81ff; }
.cm-s-monokai span.cm-number { color: #ae81ff; }
.cm-s-monokai span.cm-property, .cm-s-monokai span.cm-attribute { color: #a6e22e; }
.cm-s-monokai span.cm-keyword { color: #f92672; }
.cm-s-monokai span.cm-builtin { color: #66d9ef; }
.cm-s-monokai span.cm-string { color: #e6db74; }
.cm-s-monokai span.cm-variable { color: #f8f8f2; }
.cm-s-monokai span.cm-variable-2 { color: #9effff; }
.cm-s-monokai span.cm-variable-3 { color: #66d9ef; }
.cm-s-monokai span.cm-def { color: #fd971f; }
.cm-s-monokai span.cm-bracket { color: #f8f8f2; }
.cm-s-monokai span.cm-tag { color: #f92672; }
.cm-s-monokai span.cm-header { color: #ae81ff; }
.cm-s-monokai span.cm-link { color: #ae81ff; }
.cm-s-monokai span.cm-error { background: #f92672; color: #f8f8f0; }
.cm-s-monokai .CodeMirror-activeline-background { background: #373831; }
.cm-s-monokai .CodeMirror-matchingbracket {
text-decoration: underline;
color: white !important;
}
================================================
FILE: css/codemirror/neat.css
================================================
.cm-s-neat span.cm-comment { color: #a86; }
.cm-s-neat span.cm-keyword { line-height: 1em; font-weight: bold; color: blue; }
.cm-s-neat span.cm-string { color: #a22; }
.cm-s-neat span.cm-builtin { line-height: 1em; font-weight: bold; color: #077; }
.cm-s-neat span.cm-special { line-height: 1em; font-weight: bold; color: #0aa; }
.cm-s-neat span.cm-variable { color: black; }
.cm-s-neat span.cm-number, .cm-s-neat span.cm-atom { color: #3a3; }
.cm-s-neat span.cm-meta { color: #555; }
.cm-s-neat span.cm-link { color: #3a3; }
.cm-s-neat .CodeMirror-activeline-background { background: #e8f2ff; }
.cm-s-neat .CodeMirror-matchingbracket { outline:1px solid grey; color:black !important; }
================================================
FILE: css/codemirror/neo.css
================================================
/* neo theme for codemirror */
/* Color scheme */
.cm-s-neo.CodeMirror {
background-color:#ffffff;
color:#2e383c;
line-height:1.4375;
}
.cm-s-neo .cm-comment { color:#75787b; }
.cm-s-neo .cm-keyword, .cm-s-neo .cm-property { color:#1d75b3; }
.cm-s-neo .cm-atom,.cm-s-neo .cm-number { color:#75438a; }
.cm-s-neo .cm-node,.cm-s-neo .cm-tag { color:#9c3328; }
.cm-s-neo .cm-string { color:#b35e14; }
.cm-s-neo .cm-variable,.cm-s-neo .cm-qualifier { color:#047d65; }
/* Editor styling */
.cm-s-neo pre {
padding:0;
}
.cm-s-neo .CodeMirror-gutters {
border:none;
border-right:10px solid transparent;
background-color:transparent;
}
.cm-s-neo .CodeMirror-linenumber {
padding:0;
color:#e0e2e5;
}
.cm-s-neo .CodeMirror-guttermarker { color: #1d75b3; }
.cm-s-neo .CodeMirror-guttermarker-subtle { color: #e0e2e5; }
.cm-s-neo .CodeMirror-cursor {
width: auto;
border: 0;
background: rgba(155,157,162,0.37);
z-index: 1;
}
================================================
FILE: css/codemirror/night.css
================================================
/* Loosely based on the Midnight Textmate theme */
.cm-s-night.CodeMirror { background: #0a001f; color: #f8f8f8; }
.cm-s-night div.CodeMirror-selected { background: #447; }
.cm-s-night .CodeMirror-line::selection, .cm-s-night .CodeMirror-line > span::selection, .cm-s-night .CodeMirror-line > span > span::selection { background: rgba(68, 68, 119, .99); }
.cm-s-night .CodeMirror-line::-moz-selection, .cm-s-night .CodeMirror-line > span::-moz-selection, .cm-s-night .CodeMirror-line > span > span::-moz-selection { background: rgba(68, 68, 119, .99); }
.cm-s-night .CodeMirror-gutters { background: #0a001f; border-right: 1px solid #aaa; }
.cm-s-night .CodeMirror-guttermarker { color: white; }
.cm-s-night .CodeMirror-guttermarker-subtle { color: #bbb; }
.cm-s-night .CodeMirror-linenumber { color: #f8f8f8; }
.cm-s-night .CodeMirror-cursor { border-left: 1px solid white; }
.cm-s-night span.cm-comment { color: #8900d1; }
.cm-s-night span.cm-atom { color: #845dc4; }
.cm-s-night span.cm-number, .cm-s-night span.cm-attribute { color: #ffd500; }
.cm-s-night span.cm-keyword { color: #599eff; }
.cm-s-night span.cm-string { color: #37f14a; }
.cm-s-night span.cm-meta { color: #7678e2; }
.cm-s-night span.cm-variable-2, .cm-s-night span.cm-tag { color: #99b2ff; }
.cm-s-night span.cm-variable-3, .cm-s-night span.cm-def { color: white; }
.cm-s-night span.cm-bracket { color: #8da6ce; }
.cm-s-night span.cm-builtin, .cm-s-night span.cm-special { color: #ff9e59; }
.cm-s-night span.cm-link { color: #845dc4; }
.cm-s-night span.cm-error { color: #9d1e15; }
.cm-s-night .CodeMirror-activeline-background { background: #1C005A; }
.cm-s-night .CodeMirror-matchingbracket { outline:1px solid grey; color:white !important; }
================================================
FILE: css/codemirror/panda-syntax.css
================================================
/*
Name: Panda Syntax
Author: Siamak Mokhtari (http://github.com/siamak/)
CodeMirror template by Siamak Mokhtari (https://github.com/siamak/atom-panda-syntax)
*/
.cm-s-panda-syntax {
/*font-family: 'Operator Mono', 'Source Sans Pro', Helvetica, Arial, sans-serif;*/
font-family: 'Operator Mono', 'Source Sans Pro', Menlo, Monaco, Consolas, Courier New, monospace;
background: #292A2B;
color: #E6E6E6;
}
.cm-s-panda-syntax .CodeMirror-activeline-background {
background: #404954;
}
.cm-s-panda-syntax .cm-comment {
font-style: italic;
color: #676B79;
}
.cm-s-panda-syntax .cm-string,
.cm-s-panda-syntax .cm-string-2 {
color: #19F9D8;
}
.cm-s-panda-syntax .cm-number {
color: #FFB86C;
}
.cm-s-panda-syntax .cm-atom {
color: #FFB86C;
}
.cm-s-panda-syntax .cm-keyword {
color: #FF75B5;
}
.cm-s-panda-syntax .cm-keyword-2 {
color: #FF75B5;
}
.cm-s-panda-syntax .cm-keyword-3 {
color: #B084EB;
}
.cm-s-panda-syntax .cm-variable {
color: #FF9AC1;
}
.cm-s-panda-syntax .cm-variable-2 {
color: #e6e6e6;
}
.cm-s-panda-syntax .cm-variable-3 {
color: #82B1FF;
}
.cm-s-panda-syntax .cm-def {
/*font-style: italic;*/
color: #e6e6e6;
}
.cm-s-panda-syntax .cm-def-2 {
font-style: italic;
color: #ffcc95;
}
.cm-s-panda-syntax .cm-property {
color: #6FC1FF;
}
.cm-s-panda-syntax .cm-matchingbracket,
.CodeMirror .CodeMirror-matchingbracket {
color: #E6E6E6 !important;
border-bottom: 1px dotted #19f9d8;
padding-bottom: 2px;
}
.cm-s-panda-syntax .CodeMirror-gutters {
background: #292A2B;
color: #757575;
border: none;
}
.cm-s-panda-syntax .CodeMirror-guttermarker, .cm-s-panda-syntax .CodeMirror-guttermarker-subtle, .cm-s-panda-syntax .CodeMirror-linenumber {
color: #757575;
}
.cm-s-panda-syntax .CodeMirror-linenumber {
padding-right: 10px;
}
.cm-s-panda-syntax .CodeMirror-cursor {
border-left: 1px solid #757575;
}
/*.cm-s-panda-syntax div.CodeMirror-selected { background: rgba(255, 255, 255, 0.5); }*/
.cm-s-panda-syntax.CodeMirror-focused div.CodeMirror-selected { background: rgba(255, 255, 255, 0.25); }
.cm-s-panda-syntax .CodeMirror-line::selection, .cm-s-panda-syntax .CodeMirror-line > span::selection, .cm-s-panda-syntax .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); }
.cm-s-panda-syntax .CodeMirror-line::-moz-selection, .cm-s-panda-syntax .CodeMirror-line > span::-moz-selection, .cm-s-panda-syntax .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); }
.cm-s-panda-syntax .CodeMirror-activeline-background { background: rgba(99, 123, 156, 0.125); }
================================================
FILE: css/codemirror/paraiso-dark.css
================================================
/*
Name: Paraíso (Dark)
Author: Jan T. Sott
Color scheme by Jan T. Sott (https://github.com/idleberg/Paraiso-CodeMirror)
Inspired by the art of Rubens LP (http://www.rubenslp.com.br)
*/
.cm-s-paraiso-dark.CodeMirror { background: #2f1e2e; color: #b9b6b0; }
.cm-s-paraiso-dark div.CodeMirror-selected { background: #41323f; }
.cm-s-paraiso-dark .CodeMirror-line::selection, .cm-s-paraiso-dark .CodeMirror-line > span::selection, .cm-s-paraiso-dark .CodeMirror-line > span > span::selection { background: rgba(65, 50, 63, .99); }
.cm-s-paraiso-dark .CodeMirror-line::-moz-selection, .cm-s-paraiso-dark .CodeMirror-line > span::-moz-selection, .cm-s-paraiso-dark .CodeMirror-line > span > span::-moz-selection { background: rgba(65, 50, 63, .99); }
.cm-s-paraiso-dark .CodeMirror-gutters { background: #2f1e2e; border-right: 0px; }
.cm-s-paraiso-dark .CodeMirror-guttermarker { color: #ef6155; }
.cm-s-paraiso-dark .CodeMirror-guttermarker-subtle { color: #776e71; }
.cm-s-paraiso-dark .CodeMirror-linenumber { color: #776e71; }
.cm-s-paraiso-dark .CodeMirror-cursor { border-left: 1px solid #8d8687; }
.cm-s-paraiso-dark span.cm-comment { color: #e96ba8; }
.cm-s-paraiso-dark span.cm-atom { color: #815ba4; }
.cm-s-paraiso-dark span.cm-number { color: #815ba4; }
.cm-s-paraiso-dark span.cm-property, .cm-s-paraiso-dark span.cm-attribute { color: #48b685; }
.cm-s-paraiso-dark span.cm-keyword { color: #ef6155; }
.cm-s-paraiso-dark span.cm-string { color: #fec418; }
.cm-s-paraiso-dark span.cm-variable { color: #48b685; }
.cm-s-paraiso-dark span.cm-variable-2 { color: #06b6ef; }
.cm-s-paraiso-dark span.cm-def { color: #f99b15; }
.cm-s-paraiso-dark span.cm-bracket { color: #b9b6b0; }
.cm-s-paraiso-dark span.cm-tag { color: #ef6155; }
.cm-s-paraiso-dark span.cm-link { color: #815ba4; }
.cm-s-paraiso-dark span.cm-error { background: #ef6155; color: #8d8687; }
.cm-s-paraiso-dark .CodeMirror-activeline-background { background: #4D344A; }
.cm-s-paraiso-dark .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }
================================================
FILE: css/codemirror/paraiso-light.css
================================================
/*
Name: Paraíso (Light)
Author: Jan T. Sott
Color scheme by Jan T. Sott (https://github.com/idleberg/Paraiso-CodeMirror)
Inspired by the art of Rubens LP (http://www.rubenslp.com.br)
*/
.cm-s-paraiso-light.CodeMirror { background: #e7e9db; color: #41323f; }
.cm-s-paraiso-light div.CodeMirror-selected { background: #b9b6b0; }
.cm-s-paraiso-light .CodeMirror-line::selection, .cm-s-paraiso-light .CodeMirror-line > span::selection, .cm-s-paraiso-light .CodeMirror-line > span > span::selection { background: #b9b6b0; }
.cm-s-paraiso-light .CodeMirror-line::-moz-selection, .cm-s-paraiso-light .CodeMirror-line > span::-moz-selection, .cm-s-paraiso-light .CodeMirror-line > span > span::-moz-selection { background: #b9b6b0; }
.cm-s-paraiso-light .CodeMirror-gutters { background: #e7e9db; border-right: 0px; }
.cm-s-paraiso-light .CodeMirror-guttermarker { color: black; }
.cm-s-paraiso-light .CodeMirror-guttermarker-subtle { color: #8d8687; }
.cm-s-paraiso-light .CodeMirror-linenumber { color: #8d8687; }
.cm-s-paraiso-light .CodeMirror-cursor { border-left: 1px solid #776e71; }
.cm-s-paraiso-light span.cm-comment { color: #e96ba8; }
.cm-s-paraiso-light span.cm-atom { color: #815ba4; }
.cm-s-paraiso-light span.cm-number { color: #815ba4; }
.cm-s-paraiso-light span.cm-property, .cm-s-paraiso-light span.cm-attribute { color: #48b685; }
.cm-s-paraiso-light span.cm-keyword { color: #ef6155; }
.cm-s-paraiso-light span.cm-string { color: #fec418; }
.cm-s-paraiso-light span.cm-variable { color: #48b685; }
.cm-s-paraiso-light span.cm-variable-2 { color: #06b6ef; }
.cm-s-paraiso-light span.cm-def { color: #f99b15; }
.cm-s-paraiso-light span.cm-bracket { color: #41323f; }
.cm-s-paraiso-light span.cm-tag { color: #ef6155; }
.cm-s-paraiso-light span.cm-link { color: #815ba4; }
.cm-s-paraiso-light span.cm-error { background: #ef6155; color: #776e71; }
.cm-s-paraiso-light .CodeMirror-activeline-background { background: #CFD1C4; }
.cm-s-paraiso-light .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }
================================================
FILE: css/codemirror/pastel-on-dark.css
================================================
/**
* Pastel On Dark theme ported from ACE editor
* @license MIT
* @copyright AtomicPages LLC 2014
* @author Dennis Thompson, AtomicPages LLC
* @version 1.1
* @source https://github.com/atomicpages/codemirror-pastel-on-dark-theme
*/
.cm-s-pastel-on-dark.CodeMirror {
background: #2c2827;
color: #8F938F;
line-height: 1.5;
font-size: 14px;
}
.cm-s-pastel-on-dark div.CodeMirror-selected { background: rgba(221,240,255,0.2); }
.cm-s-pastel-on-dark .CodeMirror-line::selection, .cm-s-pastel-on-dark .CodeMirror-line > span::selection, .cm-s-pastel-on-dark .CodeMirror-line > span > span::selection { background: rgba(221,240,255,0.2); }
.cm-s-pastel-on-dark .CodeMirror-line::-moz-selection, .cm-s-pastel-on-dark .CodeMirror-line > span::-moz-selection, .cm-s-pastel-on-dark .CodeMirror-line > span > span::-moz-selection { background: rgba(221,240,255,0.2); }
.cm-s-pastel-on-dark .CodeMirror-gutters {
background: #34302f;
border-right: 0px;
padding: 0 3px;
}
.cm-s-pastel-on-dark .CodeMirror-guttermarker { color: white; }
.cm-s-pastel-on-dark .CodeMirror-guttermarker-subtle { color: #8F938F; }
.cm-s-pastel-on-dark .CodeMirror-linenumber { color: #8F938F; }
.cm-s-pastel-on-dark .CodeMirror-cursor { border-left: 1px solid #A7A7A7; }
.cm-s-pastel-on-dark span.cm-comment { color: #A6C6FF; }
.cm-s-pastel-on-dark span.cm-atom { color: #DE8E30; }
.cm-s-pastel-on-dark span.cm-number { color: #CCCCCC; }
.cm-s-pastel-on-dark span.cm-property { color: #8F938F; }
.cm-s-pastel-on-dark span.cm-attribute { color: #a6e22e; }
.cm-s-pastel-on-dark span.cm-keyword { color: #AEB2F8; }
.cm-s-pastel-on-dark span.cm-string { color: #66A968; }
.cm-s-pastel-on-dark span.cm-variable { color: #AEB2F8; }
.cm-s-pastel-on-dark span.cm-variable-2 { color: #BEBF55; }
.cm-s-pastel-on-dark span.cm-variable-3 { color: #DE8E30; }
.cm-s-pastel-on-dark span.cm-def { color: #757aD8; }
.cm-s-pastel-on-dark span.cm-bracket { color: #f8f8f2; }
.cm-s-pastel-on-dark span.cm-tag { color: #C1C144; }
.cm-s-pastel-on-dark span.cm-link { color: #ae81ff; }
.cm-s-pastel-on-dark span.cm-qualifier,.cm-s-pastel-on-dark span.cm-builtin { color: #C1C144; }
.cm-s-pastel-on-dark span.cm-error {
background: #757aD8;
color: #f8f8f0;
}
.cm-s-pastel-on-dark .CodeMirror-activeline-background { background: rgba(255, 255, 255, 0.031); }
.cm-s-pastel-on-dark .CodeMirror-matchingbracket {
border: 1px solid rgba(255,255,255,0.25);
color: #8F938F !important;
margin: -1px -1px 0 -1px;
}
================================================
FILE: css/codemirror/railscasts.css
================================================
/*
Name: Railscasts
Author: Ryan Bates (http://railscasts.com)
CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror)
Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16)
*/
.cm-s-railscasts.CodeMirror {background: #2b2b2b; color: #f4f1ed;}
.cm-s-railscasts div.CodeMirror-selected {background: #272935 !important;}
.cm-s-railscasts .CodeMirror-gutters {background: #2b2b2b; border-right: 0px;}
.cm-s-railscasts .CodeMirror-linenumber {color: #5a647e;}
.cm-s-railscasts .CodeMirror-cursor {border-left: 1px solid #d4cfc9 !important;}
.cm-s-railscasts span.cm-comment {color: #bc9458;}
.cm-s-railscasts span.cm-atom {color: #b6b3eb;}
.cm-s-railscasts span.cm-number {color: #b6b3eb;}
.cm-s-railscasts span.cm-property, .cm-s-railscasts span.cm-attribute {color: #a5c261;}
.cm-s-railscasts span.cm-keyword {color: #da4939;}
.cm-s-railscasts span.cm-string {color: #ffc66d;}
.cm-s-railscasts span.cm-variable {color: #a5c261;}
.cm-s-railscasts span.cm-variable-2 {color: #6d9cbe;}
.cm-s-railscasts span.cm-def {color: #cc7833;}
.cm-s-railscasts span.cm-error {background: #da4939; color: #d4cfc9;}
.cm-s-railscasts span.cm-bracket {color: #f4f1ed;}
.cm-s-railscasts span.cm-tag {color: #da4939;}
.cm-s-railscasts span.cm-link {color: #b6b3eb;}
.cm-s-railscasts .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;}
.cm-s-railscasts .CodeMirror-activeline-background { background: #303040; }
================================================
FILE: css/codemirror/rubyblue.css
================================================
.cm-s-rubyblue.CodeMirror { background: #112435; color: white; }
.cm-s-rubyblue div.CodeMirror-selected { background: #38566F; }
.cm-s-rubyblue .CodeMirror-line::selection, .cm-s-rubyblue .CodeMirror-line > span::selection, .cm-s-rubyblue .CodeMirror-line > span > span::selection { background: rgba(56, 86, 111, 0.99); }
.cm-s-rubyblue .CodeMirror-line::-moz-selection, .cm-s-rubyblue .CodeMirror-line > span::-moz-selection, .cm-s-rubyblue .CodeMirror-line > span > span::-moz-selection { background: rgba(56, 86, 111, 0.99); }
.cm-s-rubyblue .CodeMirror-gutters { background: #1F4661; border-right: 7px solid #3E7087; }
.cm-s-rubyblue .CodeMirror-guttermarker { color: white; }
.cm-s-rubyblue .CodeMirror-guttermarker-subtle { color: #3E7087; }
.cm-s-rubyblue .CodeMirror-linenumber { color: white; }
.cm-s-rubyblue .CodeMirror-cursor { border-left: 1px solid white; }
.cm-s-rubyblue span.cm-comment { color: #999; font-style:italic; line-height: 1em; }
.cm-s-rubyblue span.cm-atom { color: #F4C20B; }
.cm-s-rubyblue span.cm-number, .cm-s-rubyblue span.cm-attribute { color: #82C6E0; }
.cm-s-rubyblue span.cm-keyword { color: #F0F; }
.cm-s-rubyblue span.cm-string { color: #F08047; }
.cm-s-rubyblue span.cm-meta { color: #F0F; }
.cm-s-rubyblue span.cm-variable-2, .cm-s-rubyblue span.cm-tag { color: #7BD827; }
.cm-s-rubyblue span.cm-variable-3, .cm-s-rubyblue span.cm-def { color: white; }
.cm-s-rubyblue span.cm-bracket { color: #F0F; }
.cm-s-rubyblue span.cm-link { color: #F4C20B; }
.cm-s-rubyblue span.CodeMirror-matchingbracket { color:#F0F !important; }
.cm-s-rubyblue span.cm-builtin, .cm-s-rubyblue span.cm-special { color: #FF9D00; }
.cm-s-rubyblue span.cm-error { color: #AF2018; }
.cm-s-rubyblue .CodeMirror-activeline-background { background: #173047; }
================================================
FILE: css/codemirror/seti.css
================================================
/*
Name: seti
Author: Michael Kaminsky (http://github.com/mkaminsky11)
Original seti color scheme by Jesse Weed (https://github.com/jesseweed/seti-syntax)
*/
.cm-s-seti.CodeMirror {
background-color: #151718 !important;
color: #CFD2D1 !important;
border: none;
}
.cm-s-seti .CodeMirror-gutters {
color: #404b53;
background-color: #0E1112;
border: none;
}
.cm-s-seti .CodeMirror-cursor { border-left: solid thin #f8f8f0; }
.cm-s-seti .CodeMirror-linenumber { color: #6D8A88; }
.cm-s-seti.CodeMirror-focused div.CodeMirror-selected { background: rgba(255, 255, 255, 0.10); }
.cm-s-seti .CodeMirror-line::selection, .cm-s-seti .CodeMirror-line > span::selection, .cm-s-seti .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); }
.cm-s-seti .CodeMirror-line::-moz-selection, .cm-s-seti .CodeMirror-line > span::-moz-selection, .cm-s-seti .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); }
.cm-s-seti span.cm-comment { color: #41535b; }
.cm-s-seti span.cm-string, .cm-s-seti span.cm-string-2 { color: #55b5db; }
.cm-s-seti span.cm-number { color: #cd3f45; }
.cm-s-seti span.cm-variable { color: #55b5db; }
.cm-s-seti span.cm-variable-2 { color: #a074c4; }
.cm-s-seti span.cm-def { color: #55b5db; }
.cm-s-seti span.cm-keyword { color: #ff79c6; }
.cm-s-seti span.cm-operator { color: #9fca56; }
.cm-s-seti span.cm-keyword { color: #e6cd69; }
.cm-s-seti span.cm-atom { color: #cd3f45; }
.cm-s-seti span.cm-meta { color: #55b5db; }
.cm-s-seti span.cm-tag { color: #55b5db; }
.cm-s-seti span.cm-attribute { color: #9fca56; }
.cm-s-seti span.cm-qualifier { color: #9fca56; }
.cm-s-seti span.cm-property { color: #a074c4; }
.cm-s-seti span.cm-variable-3 { color: #9fca56; }
.cm-s-seti span.cm-builtin { color: #9fca56; }
.cm-s-seti .CodeMirror-activeline-background { background: #101213; }
.cm-s-seti .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }
================================================
FILE: css/codemirror/solarized.css
================================================
/*
Solarized theme for code-mirror
http://ethanschoonover.com/solarized
*/
/*
Solarized color palette
http://ethanschoonover.com/solarized/img/solarized-palette.png
*/
.solarized.base03 { color: #002b36; }
.solarized.base02 { color: #073642; }
.solarized.base01 { color: #586e75; }
.solarized.base00 { color: #657b83; }
.solarized.base0 { color: #839496; }
.solarized.base1 { color: #93a1a1; }
.solarized.base2 { color: #eee8d5; }
.solarized.base3 { color: #fdf6e3; }
.solarized.solar-yellow { color: #b58900; }
.solarized.solar-orange { color: #cb4b16; }
.solarized.solar-red { color: #dc322f; }
.solarized.solar-magenta { color: #d33682; }
.solarized.solar-violet { color: #6c71c4; }
.solarized.solar-blue { color: #268bd2; }
.solarized.solar-cyan { color: #2aa198; }
.solarized.solar-green { color: #859900; }
/* Color scheme for code-mirror */
.cm-s-solarized {
line-height: 1.45em;
color-profile: sRGB;
rendering-intent: auto;
}
.cm-s-solarized.cm-s-dark {
color: #839496;
background-color: #002b36;
text-shadow: #002b36 0 1px;
}
.cm-s-solarized.cm-s-light {
background-color: #fdf6e3;
color: #657b83;
text-shadow: #eee8d5 0 1px;
}
.cm-s-solarized .CodeMirror-widget {
text-shadow: none;
}
.cm-s-solarized .cm-header { color: #586e75; }
.cm-s-solarized .cm-quote { color: #93a1a1; }
.cm-s-solarized .cm-keyword { color: #cb4b16; }
.cm-s-solarized .cm-atom { color: #d33682; }
.cm-s-solarized .cm-number { color: #d33682; }
.cm-s-solarized .cm-def { color: #2aa198; }
.cm-s-solarized .cm-variable { color: #839496; }
.cm-s-solarized .cm-variable-2 { color: #b58900; }
.cm-s-solarized .cm-variable-3 { color: #6c71c4; }
.cm-s-solarized .cm-property { color: #2aa198; }
.cm-s-solarized .cm-operator { color: #6c71c4; }
.cm-s-solarized .cm-comment { color: #586e75; font-style:italic; }
.cm-s-solarized .cm-string { color: #859900; }
.cm-s-solarized .cm-string-2 { color: #b58900; }
.cm-s-solarized .cm-meta { color: #859900; }
.cm-s-solarized .cm-qualifier { color: #b58900; }
.cm-s-solarized .cm-builtin { color: #d33682; }
.cm-s-solarized .cm-bracket { color: #cb4b16; }
.cm-s-solarized .CodeMirror-matchingbracket { color: #859900; }
.cm-s-solarized .CodeMirror-nonmatchingbracket { color: #dc322f; }
.cm-s-solarized .cm-tag { color: #93a1a1; }
.cm-s-solarized .cm-attribute { color: #2aa198; }
.cm-s-solarized .cm-hr {
color: transparent;
border-top: 1px solid #586e75;
display: block;
}
.cm-s-solarized .cm-link { color: #93a1a1; cursor: pointer; }
.cm-s-solarized .cm-special { color: #6c71c4; }
.cm-s-solarized .cm-em {
color: #999;
text-decoration: underline;
text-decoration-style: dotted;
}
.cm-s-solarized .cm-strong { color: #eee; }
.cm-s-solarized .cm-error,
.cm-s-solarized .cm-invalidchar {
color: #586e75;
border-bottom: 1px dotted #dc322f;
}
.cm-s-solarized.cm-s-dark div.CodeMirror-selected { background: #073642; }
.cm-s-solarized.cm-s-dark.CodeMirror ::selection { background: rgba(7, 54, 66, 0.99); }
.cm-s-solarized.cm-s-dark .CodeMirror-line::-moz-selection, .cm-s-dark .CodeMirror-line > span::-moz-selection, .cm-s-dark .CodeMirror-line > span > span::-moz-selection { background: rgba(7, 54, 66, 0.99); }
.cm-s-solarized.cm-s-light div.CodeMirror-selected { background: #eee8d5; }
.cm-s-solarized.cm-s-light .CodeMirror-line::selection, .cm-s-light .CodeMirror-line > span::selection, .cm-s-light .CodeMirror-line > span > span::selection { background: #eee8d5; }
.cm-s-solarized.cm-s-light .CodeMirror-line::-moz-selection, .cm-s-ligh .CodeMirror-line > span::-moz-selection, .cm-s-ligh .CodeMirror-line > span > span::-moz-selection { background: #eee8d5; }
/* Editor styling */
/* Little shadow on the view-port of the buffer view */
.cm-s-solarized.CodeMirror {
-moz-box-shadow: inset 7px 0 12px -6px #000;
-webkit-box-shadow: inset 7px 0 12px -6px #000;
box-shadow: inset 7px 0 12px -6px #000;
}
/* Remove gutter border */
.cm-s-solarized .CodeMirror-gutters {
border-right: 0;
}
/* Gutter colors and line number styling based of color scheme (dark / light) */
/* Dark */
.cm-s-solarized.cm-s-dark .CodeMirror-gutters {
background-color: #073642;
}
.cm-s-solarized.cm-s-dark .CodeMirror-linenumber {
color: #586e75;
text-shadow: #021014 0 -1px;
}
/* Light */
.cm-s-solarized.cm-s-light .CodeMirror-gutters {
background-color: #eee8d5;
}
.cm-s-solarized.cm-s-light .CodeMirror-linenumber {
color: #839496;
}
/* Common */
.cm-s-solarized .CodeMirror-linenumber {
padding: 0 5px;
}
.cm-s-solarized .CodeMirror-guttermarker-subtle { color: #586e75; }
.cm-s-solarized.cm-s-dark .CodeMirror-guttermarker { color: #ddd; }
.cm-s-solarized.cm-s-light .CodeMirror-guttermarker { color: #cb4b16; }
.cm-s-solarized .CodeMirror-gutter .CodeMirror-gutter-text {
color: #586e75;
}
/* Cursor */
.cm-s-solarized .CodeMirror-cursor { border-left: 1px solid #819090; }
/* Fat cursor */
.cm-s-solarized.cm-s-light.cm-fat-cursor .CodeMirror-cursor { background: #77ee77; }
.cm-s-solarized.cm-s-light .cm-animate-fat-cursor { background-color: #77ee77; }
.cm-s-solarized.cm-s-dark.cm-fat-cursor .CodeMirror-cursor { background: #586e75; }
.cm-s-solarized.cm-s-dark .cm-animate-fat-cursor { background-color: #586e75; }
/* Active line */
.cm-s-solarized.cm-s-dark .CodeMirror-activeline-background {
background: rgba(255, 255, 255, 0.06);
}
.cm-s-solarized.cm-s-light .CodeMirror-activeline-background {
background: rgba(0, 0, 0, 0.06);
}
================================================
FILE: css/codemirror/the-matrix.css
================================================
.cm-s-the-matrix.CodeMirror { background: #000000; color: #00FF00; }
.cm-s-the-matrix div.CodeMirror-selected { background: #2D2D2D; }
.cm-s-the-matrix .CodeMirror-line::selection, .cm-s-the-matrix .CodeMirror-line > span::selection, .cm-s-the-matrix .CodeMirror-line > span > span::selection { background: rgba(45, 45, 45, 0.99); }
.cm-s-the-matrix .CodeMirror-line::-moz-selection, .cm-s-the-matrix .CodeMirror-line > span::-moz-selection, .cm-s-the-matrix .CodeMirror-line > span > span::-moz-selection { background: rgba(45, 45, 45, 0.99); }
.cm-s-the-matrix .CodeMirror-gutters { background: #060; border-right: 2px solid #00FF00; }
.cm-s-the-matrix .CodeMirror-guttermarker { color: #0f0; }
.cm-s-the-matrix .CodeMirror-guttermarker-subtle { color: white; }
.cm-s-the-matrix .CodeMirror-linenumber { color: #FFFFFF; }
.cm-s-the-matrix .CodeMirror-cursor { border-left: 1px solid #00FF00; }
.cm-s-the-matrix span.cm-keyword { color: #008803; font-weight: bold; }
.cm-s-the-matrix span.cm-atom { color: #3FF; }
.cm-s-the-matrix span.cm-number { color: #FFB94F; }
.cm-s-the-matrix span.cm-def { color: #99C; }
.cm-s-the-matrix span.cm-variable { color: #F6C; }
.cm-s-the-matrix span.cm-variable-2 { color: #C6F; }
.cm-s-the-matrix span.cm-variable-3 { color: #96F; }
.cm-s-the-matrix span.cm-property { color: #62FFA0; }
.cm-s-the-matrix span.cm-operator { color: #999; }
.cm-s-the-matrix span.cm-comment { color: #CCCCCC; }
.cm-s-the-matrix span.cm-string { color: #39C; }
.cm-s-the-matrix span.cm-meta { color: #C9F; }
.cm-s-the-matrix span.cm-qualifier { color: #FFF700; }
.cm-s-the-matrix span.cm-builtin { color: #30a; }
.cm-s-the-matrix span.cm-bracket { color: #cc7; }
.cm-s-the-matrix span.cm-tag { color: #FFBD40; }
.cm-s-the-matrix span.cm-attribute { color: #FFF700; }
.cm-s-the-matrix span.cm-error { color: #FF0000; }
.cm-s-the-matrix .CodeMirror-activeline-background { background: #040; }
================================================
FILE: css/codemirror/tomorrow-night-bright.css
================================================
/*
Name: Tomorrow Night - Bright
Author: Chris Kempson
Port done by Gerard Braad <me@gbraad.nl>
*/
.cm-s-tomorrow-night-bright.CodeMirror { background: #000000; color: #eaeaea; }
.cm-s-tomorrow-night-bright div.CodeMirror-selected { background: #424242; }
.cm-s-tomorrow-night-bright .CodeMirror-gutters { background: #000000; border-right: 0px; }
.cm-s-tomorrow-night-bright .CodeMirror-guttermarker { color: #e78c45; }
.cm-s-tomorrow-night-bright .CodeMirror-guttermarker-subtle { color: #777; }
.cm-s-tomorrow-night-bright .CodeMirror-linenumber { color: #424242; }
.cm-s-tomorrow-night-bright .CodeMirror-cursor { border-left: 1px solid #6A6A6A; }
.cm-s-tomorrow-night-bright span.cm-comment { color: #d27b53; }
.cm-s-tomorrow-night-bright span.cm-atom { color: #a16a94; }
.cm-s-tomorrow-night-bright span.cm-number { color: #a16a94; }
.cm-s-tomorrow-night-bright span.cm-property, .cm-s-tomorrow-night-bright span.cm-attribute { color: #99cc99; }
.cm-s-tomorrow-night-bright span.cm-keyword { color: #d54e53; }
.cm-s-tomorrow-night-bright span.cm-string { color: #e7c547; }
.cm-s-tomorrow-night-bright span.cm-variable { color: #b9ca4a; }
.cm-s-tomorrow-night-bright span.cm-variable-2 { color: #7aa6da; }
.cm-s-tomorrow-night-bright span.cm-def { color: #e78c45; }
.cm-s-tomorrow-night-bright span.cm-bracket { color: #eaeaea; }
.cm-s-tomorrow-night-bright span.cm-tag { color: #d54e53; }
.cm-s-tomorrow-night-bright span.cm-link { color: #a16a94; }
.cm-s-tomorrow-night-bright span.cm-error { background: #d54e53; color: #6A6A6A; }
.cm-s-tomorrow-night-bright .CodeMirror-activeline-background { background: #2a2a2a; }
.cm-s-tomorrow-night-bright .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }
================================================
FILE: css/codemirror/tomorrow-night-eighties.css
================================================
/*
Name: Tomorrow Night - Eighties
Author: Chris Kempson
CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror)
Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16)
*/
.cm-s-tomorrow-night-eighties.CodeMirror { background: #000000; color: #CCCCCC; }
.cm-s-tomorrow-night-eighties div.CodeMirror-selected { background: #2D2D2D; }
.cm-s-tomorrow-night-eighties .CodeMirror-line::selection, .cm-s-tomorrow-night-eighties .CodeMirror-line > span::selection, .cm-s-tomorrow-night-eighties .CodeMirror-line > span > span::selection { background: rgba(45, 45, 45, 0.99); }
.cm-s-tomorrow-night-eighties .CodeMirror-line::-moz-selection, .cm-s-tomorrow-night-eighties .CodeMirror-line > span::-moz-selection, .cm-s-tomorrow-night-eighties .CodeMirror-line > span > span::-moz-selection { background: rgba(45, 45, 45, 0.99); }
.cm-s-tomorrow-night-eighties .CodeMirror-gutters { background: #000000; border-right: 0px; }
.cm-s-tomorrow-night-eighties .CodeMirror-guttermarker { color: #f2777a; }
.cm-s-tomorrow-night-eighties .CodeMirror-guttermarker-subtle { color: #777; }
.cm-s-tomorrow-night-eighties .CodeMirror-linenumber { color: #515151; }
.cm-s-tomorrow-night-eighties .CodeMirror-cursor { border-left: 1px solid #6A6A6A; }
.cm-s-tomorrow-night-eighties span.cm-comment { color: #d27b53; }
.cm-s-tomorrow-night-eighties span.cm-atom { color: #a16a94; }
.cm-s-tomorrow-night-eighties span.cm-number { color: #a16a94; }
.cm-s-tomorrow-night-eighties span.cm-property, .cm-s-tomorrow-night-eighties span.cm-attribute { color: #99cc99; }
.cm-s-tomorrow-night-eighties span.cm-keyword { color: #f2777a; }
.cm-s-tomorrow-night-eighties span.cm-string { color: #ffcc66; }
.cm-s-tomorrow-night-eighties span.cm-variable { color: #99cc99; }
.cm-s-tomorrow-night-eighties span.cm-variable-2 { color: #6699cc; }
.cm-s-tomorrow-night-eighties span.cm-def { color: #f99157; }
.cm-s-tomorrow-night-eighties span.cm-bracket { color: #CCCCCC; }
.cm-s-tomorrow-night-eighties span.cm-tag { color: #f2777a; }
.cm-s-tomorrow-night-eighties span.cm-link { color: #a16a94; }
.cm-s-tomorrow-night-eighties span.cm-error { background: #f2777a; color: #6A6A6A; }
.cm-s-tomorrow-night-eighties .CodeMirror-activeline-background { background: #343600; }
.cm-s-tomorrow-night-eighties .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }
================================================
FILE: css/codemirror/ttcn.css
================================================
.cm-s-ttcn .cm-quote { color: #090; }
.cm-s-ttcn .cm-negative { color: #d44; }
.cm-s-ttcn .cm-positive { color: #292; }
.cm-s-ttcn .cm-header, .cm-strong { font-weight: bold; }
.cm-s-ttcn .cm-em { font-style: italic; }
.cm-s-ttcn .cm-link { text-decoration: underline; }
.cm-s-ttcn .cm-strikethrough { text-decoration: line-through; }
.cm-s-ttcn .cm-header { color: #00f; font-weight: bold; }
.cm-s-ttcn .cm-atom { color: #219; }
.cm-s-ttcn .cm-attribute { color: #00c; }
.cm-s-ttcn .cm-bracket { color: #997; }
.cm-s-ttcn .cm-comment { color: #333333; }
.cm-s-ttcn .cm-def { color: #00f; }
.cm-s-ttcn .cm-em { font-style: italic; }
.cm-s-ttcn .cm-error { color: #f00; }
.cm-s-ttcn .cm-hr { color: #999; }
.cm-s-ttcn .cm-invalidchar { color: #f00; }
.cm-s-ttcn .cm-keyword { font-weight:bold; }
.cm-s-ttcn .cm-link { color: #00c; text-decoration: underline; }
.cm-s-ttcn .cm-meta { color: #555; }
.cm-s-ttcn .cm-negative { color: #d44; }
.cm-s-ttcn .cm-positive { color: #292; }
.cm-s-ttcn .cm-qualifier { color: #555; }
.cm-s-ttcn .cm-strikethrough { text-decoration: line-through; }
.cm-s-ttcn .cm-string { color: #006400; }
.cm-s-ttcn .cm-string-2 { color: #f50; }
.cm-s-ttcn .cm-strong { font-weight: bold; }
.cm-s-ttcn .cm-tag { color: #170; }
.cm-s-ttcn .cm-variable { color: #8B2252; }
.cm-s-ttcn .cm-variable-2 { color: #05a; }
.cm-s-ttcn .cm-variable-3 { color: #085; }
.cm-s-ttcn .cm-invalidchar { color: #f00; }
/* ASN */
.cm-s-ttcn .cm-accessTypes,
.cm-s-ttcn .cm-compareTypes { color: #27408B; }
.cm-s-ttcn .cm-cmipVerbs { color: #8B2252; }
.cm-s-ttcn .cm-modifier { color:#D2691E; }
.cm-s-ttcn .cm-status { color:#8B4545; }
.cm-s-ttcn .cm-storage { color:#A020F0; }
.cm-s-ttcn .cm-tags { color:#006400; }
/* CFG */
.cm-s-ttcn .cm-externalCommands { color: #8B4545; font-weight:bold; }
.cm-s-ttcn .cm-fileNCtrlMaskOptions,
.cm-s-ttcn .cm-sectionTitle { color: #2E8B57; font-weight:bold; }
/* TTCN */
.cm-s-ttcn .cm-booleanConsts,
.cm-s-ttcn .cm-otherConsts,
.cm-s-ttcn .cm-verdictConsts { color: #006400; }
.cm-s-ttcn .cm-configOps,
.cm-s-ttcn .cm-functionOps,
.cm-s-ttcn .cm-portOps,
.cm-s-ttcn .cm-sutOps,
.cm-s-ttcn .cm-timerOps,
.cm-s-ttcn .cm-verdictOps { color: #0000FF; }
.cm-s-ttcn .cm-preprocessor,
.cm-s-ttcn .cm-templateMatch,
.cm-s-ttcn .cm-ttcn3Macros { color: #27408B; }
.cm-s-ttcn .cm-types { color: #A52A2A; font-weight:bold; }
.cm-s-ttcn .cm-visibilityModifiers { font-weight:bold; }
================================================
FILE: css/codemirror/twilight.css
================================================
.cm-s-twilight.CodeMirror { background: #141414; color: #f7f7f7; } /**/
.cm-s-twilight div.CodeMirror-selected { background: #323232; } /**/
.cm-s-twilight .CodeMirror-line::selection, .cm-s-twilight .CodeMirror-line > span::selection, .cm-s-twilight .CodeMirror-line > span > span::selection { background: rgba(50, 50, 50, 0.99); }
.cm-s-twilight .CodeMirror-line::-moz-selection, .cm-s-twilight .CodeMirror-line > span::-moz-selection, .cm-s-twilight .CodeMirror-line > span > span::-moz-selection { background: rgba(50, 50, 50, 0.99); }
.cm-s-twilight .CodeMirror-gutters { background: #222; border-right: 1px solid #aaa; }
.cm-s-twilight .CodeMirror-guttermarker { color: white; }
.cm-s-twilight .CodeMirror-guttermarker-subtle { color: #aaa; }
.cm-s-twilight .CodeMirror-linenumber { color: #aaa; }
.cm-s-twilight .CodeMirror-cursor { border-left: 1px solid white; }
.cm-s-twilight .cm-keyword { color: #f9ee98; } /**/
.cm-s-twilight .cm-atom { color: #FC0; }
.cm-s-twilight .cm-number { color: #ca7841; } /**/
.cm-s-twilight .cm-def { color: #8DA6CE; }
.cm-s-twilight span.cm-variable-2, .cm-s-twilight span.cm-tag { color: #607392; } /**/
.cm-s-twilight span.cm-variable-3, .cm-s-twilight span.cm-def { color: #607392; } /**/
.cm-s-twilight .cm-operator { color: #cda869; } /**/
.cm-s-twilight .cm-comment { color:#777; font-style:italic; font-weight:normal; } /**/
.cm-s-twilight .cm-string { color:#8f9d6a; font-style:italic; } /**/
.cm-s-twilight .cm-string-2 { color:#bd6b18; } /*?*/
.cm-s-twilight .cm-meta { background-color:#141414; color:#f7f7f7; } /*?*/
.cm-s-twilight .cm-builtin { color: #cda869; } /*?*/
.cm-s-twilight .cm-tag { color: #997643; } /**/
.cm-s-twilight .cm-attribute { color: #d6bb6d; } /*?*/
.cm-s-twilight .cm-header { color: #FF6400; }
.cm-s-twilight .cm-hr { color: #AEAEAE; }
.cm-s-twilight .cm-link { color:#ad9361; font-style:italic; text-decoration:none; } /**/
.cm-s-twilight .cm-error { border-bottom: 1px solid red; }
.cm-s-twilight .CodeMirror-activeline-background { background: #27282E; }
.cm-s-twilight .CodeMirror-matchingbracket { outline:1px solid grey; color:white !important; }
================================================
FILE: css/codemirror/vibrant-ink.css
================================================
/* Taken from the popular Visual Studio Vibrant Ink Schema */
.cm-s-vibrant-ink.CodeMirror { background: black; color: white; }
.cm-s-vibrant-ink div.CodeMirror-selected { background: #35493c; }
.cm-s-vibrant-ink .CodeMirror-line::selection, .cm-s-vibrant-ink .CodeMirror-line > span::selection, .cm-s-vibrant-ink .CodeMirror-line > span > span::selection { background: rgba(53, 73, 60, 0.99); }
.cm-s-vibrant-ink .CodeMirror-line::-moz-selection, .cm-s-vibrant-ink .CodeMirror-line > span::-moz-selection, .cm-s-vibrant-ink .CodeMirror-line > span > span::-moz-selection { background: rgba(53, 73, 60, 0.99); }
.cm-s-vibrant-ink .CodeMirror-gutters { background: #002240; border-right: 1px solid #aaa; }
.cm-s-vibrant-ink .CodeMirror-guttermarker { color: white; }
.cm-s-vibrant-ink .CodeMirror-guttermarker-subtle { color: #d0d0d0; }
.cm-s-vibrant-ink .CodeMirror-linenumber { color: #d0d0d0; }
.cm-s-vibrant-ink .CodeMirror-cursor { border-left: 1px solid white; }
.cm-s-vibrant-ink .cm-keyword { color: #CC7832; }
.cm-s-vibrant-ink .cm-atom { color: #FC0; }
.cm-s-vibrant-ink .cm-number { color: #FFEE98; }
.cm-s-vibrant-ink .cm-def { color: #8DA6CE; }
.cm-s-vibrant-ink span.cm-variable-2, .cm-s-vibrant span.cm-tag { color: #FFC66D; }
.cm-s-vibrant-ink span.cm-variable-3, .cm-s-vibrant span.cm-def { color: #FFC66D; }
.cm-s-vibrant-ink .cm-operator { color: #888; }
.cm-s-vibrant-ink .cm-comment { color: gray; font-weight: bold; }
.cm-s-vibrant-ink .cm-string { color: #A5C25C; }
.cm-s-vibrant-ink .cm-string-2 { color: red; }
.cm-s-vibrant-ink .cm-meta { color: #D8FA3C; }
.cm-s-vibrant-ink .cm-builtin { color: #8DA6CE; }
.cm-s-vibrant-ink .cm-tag { color: #8DA6CE; }
.cm-s-vibrant-ink .cm-attribute { color: #8DA6CE; }
.cm-s-vibrant-ink .cm-header { color: #FF6400; }
.cm-s-vibrant-ink .cm-hr { color: #AEAEAE; }
.cm-s-vibrant-ink .cm-link { color: blue; }
.cm-s-vibrant-ink .cm-error { border-bottom: 1px solid red; }
.cm-s-vibrant-ink .CodeMirror-activeline-background { background: #27282E; }
.cm-s-vibrant-ink .CodeMirror-matchingbracket { outline:1px solid grey; color:white !important; }
================================================
FILE: css/codemirror/xq-dark.css
================================================
/*
Copyright (C) 2011 by MarkLogic Corporation
Author: Mike Brevoort <mike@brevoort.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/
.cm-s-xq-dark.CodeMirror { background: #0a001f; color: #f8f8f8; }
.cm-s-xq-dark div.CodeMirror-selected { background: #27007A; }
.cm-s-xq-dark .CodeMirror-line::selection, .cm-s-xq-dark .CodeMirror-line > span::selection, .cm-s-xq-dark .CodeMirror-line > span > span::selection { background: rgba(39, 0, 122, 0.99); }
.cm-s-xq-dark .CodeMirror-line::-moz-selection, .cm-s-xq-dark .CodeMirror-line > span::-moz-selection, .cm-s-xq-dark .CodeMirror-line > span > span::-moz-selection { background: rgba(39, 0, 122, 0.99); }
.cm-s-xq-dark .CodeMirror-gutters { background: #0a001f; border-right: 1px solid #aaa; }
.cm-s-xq-dark .CodeMirror-guttermarker { color: #FFBD40; }
.cm-s-xq-dark .CodeMirror-guttermarker-subtle { color: #f8f8f8; }
.cm-s-xq-dark .CodeMirror-linenumber { color: #f8f8f8; }
.cm-s-xq-dark .CodeMirror-cursor { border-left: 1px solid white; }
.cm-s-xq-dark span.cm-keyword { color: #FFBD40; }
.cm-s-xq-dark span.cm-atom { color: #6C8CD5; }
.cm-s-xq-dark span.cm-number { color: #164; }
.cm-s-xq-dark span.cm-def { color: #FFF; text-decoration:underline; }
.cm-s-xq-dark span.cm-variable { color: #FFF; }
.cm-s-xq-dark span.cm-variable-2 { color: #EEE; }
.cm-s-xq-dark span.cm-variable-3 { color: #DDD; }
.cm-s-xq-dark span.cm-property {}
.cm-s-xq-dark span.cm-operator {}
.cm-s-xq-dark span.cm-comment { color: gray; }
.cm-s-xq-dark span.cm-string { color: #9FEE00; }
.cm-s-xq-dark span.cm-meta { color: yellow; }
.cm-s-xq-dark span.cm-qualifier { color: #FFF700; }
.cm-s-xq-dark span.cm-builtin { color: #30a; }
.cm-s-xq-dark span.cm-bracket { color: #cc7; }
.cm-s-xq-dark span.cm-tag { color: #FFBD40; }
.cm-s-xq-dark span.cm-attribute { color: #FFF700; }
.cm-s-xq-dark span.cm-error { color: #f00; }
.cm-s-xq-dark .CodeMirror-activeline-background { background: #27282E; }
.cm-s-xq-dark .CodeMirror-matchingbracket { outline:1px solid grey; color:white !important; }
================================================
FILE: css/codemirror/xq-light.css
================================================
/*
Copyright (C) 2011 by MarkLogic Corporation
Author: Mike Brevoort <mike@brevoort.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/
.cm-s-xq-light span.cm-keyword { line-height: 1em; font-weight: bold; color: #5A5CAD; }
.cm-s-xq-light span.cm-atom { color: #6C8CD5; }
.cm-s-xq-light span.cm-number { color: #164; }
.cm-s-xq-light span.cm-def { text-decoration:underline; }
.cm-s-xq-light span.cm-variable { color: black; }
.cm-s-xq-light span.cm-variable-2 { color:black; }
.cm-s-xq-light span.cm-variable-3 { color: black; }
.cm-s-xq-light span.cm-property {}
.cm-s-xq-light span.cm-operator {}
.cm-s-xq-light span.cm-comment { color: #0080FF; font-style: italic; }
.cm-s-xq-light span.cm-string { color: red; }
.cm-s-xq-light span.cm-meta { color: yellow; }
.cm-s-xq-light span.cm-qualifier { color: grey; }
.cm-s-xq-light span.cm-builtin { color: #7EA656; }
.cm-s-xq-light span.cm-bracket { color: #cc7; }
.cm-s-xq-light span.cm-tag { color: #3F7F7F; }
.cm-s-xq-light span.cm-attribute { color: #7F007F; }
.cm-s-xq-light span.cm-error { color: #f00; }
.cm-s-xq-light .CodeMirror-activeline-background { background: #e8f2ff; }
.cm-s-xq-light .CodeMirror-matchingbracket { outline:1px solid grey;color:black !important;background:yellow; }
================================================
FILE: css/codemirror/yeti.css
================================================
/*
Name: yeti
Author: Michael Kaminsky (http://github.com/mkaminsky11)
Original yeti color scheme by Jesse Weed (https://github.com/jesseweed/yeti-syntax)
*/
.cm-s-yeti.CodeMirror {
background-color: #ECEAE8 !important;
color: #d1c9c0 !important;
border: none;
}
.cm-s-yeti .CodeMirror-gutters {
color: #adaba6;
background-color: #E5E1DB;
border: none;
}
.cm-s-yeti .CodeMirror-cursor { border-left: solid thin #d1c9c0; }
.cm-s-yeti .CodeMirror-linenumber { color: #adaba6; }
.cm-s-yeti.CodeMirror-focused div.CodeMirror-selected { background: #DCD8D2; }
.cm-s-yeti .CodeMirror-line::selection, .cm-s-yeti .CodeMirror-line > span::selection, .cm-s-yeti .CodeMirror-line > span > span::selection { background: #DCD8D2; }
.cm-s-yeti .CodeMirror-line::-moz-selection, .cm-s-yeti .CodeMirror-line > span::-moz-selection, .cm-s-yeti .CodeMirror-line > span > span::-moz-selection { background: #DCD8D2; }
.cm-s-yeti span.cm-comment { color: #d4c8be; }
.cm-s-yeti span.cm-string, .cm-s-yeti span.cm-string-2 { color: #96c0d8; }
.cm-s-yeti span.cm-number { color: #a074c4; }
.cm-s-yeti span.cm-variable { color: #55b5db; }
.cm-s-yeti span.cm-variable-2 { color: #a074c4; }
.cm-s-yeti span.cm-def { color: #55b5db; }
.cm-s-yeti span.cm-operator { color: #9fb96e; }
.cm-s-yeti span.cm-keyword { color: #9fb96e; }
.cm-s-yeti span.cm-atom { color: #a074c4; }
.cm-s-yeti span.cm-meta { color: #96c0d8; }
.cm-s-yeti span.cm-tag { color: #96c0d8; }
.cm-s-yeti span.cm-attribute { color: #9fb96e; }
.cm-s-yeti span.cm-qualifier { color: #96c0d8; }
.cm-s-yeti span.cm-property { color: #a074c4; }
.cm-s-yeti span.cm-builtin { color: #a074c4; }
.cm-s-yeti span.cm-variable-3 { color: #96c0d8; }
.cm-s-yeti .CodeMirror-activeline-background { background: #E7E4E0; }
.cm-s-yeti .CodeMirror-matchingbracket { text-decoration: underline; }
================================================
FILE: css/codemirror/zenburn.css
================================================
/**
* "
* Using Zenburn color palette from the Emacs Zenburn Theme
* https://github.com/bbatsov/zenburn-emacs/blob/master/zenburn-theme.el
*
* Also using parts of https://github.com/xavi/coderay-lighttable-theme
* "
* From: https://github.com/wisenomad/zenburn-lighttable-theme/blob/master/zenburn.css
*/
.cm-s-zenburn .CodeMirror-gutters { background: #3f3f3f !important; }
.cm-s-zenburn .CodeMirror-foldgutter-open, .CodeMirror-foldgutter-folded { color: #999; }
.cm-s-zenburn .CodeMirror-cursor { border-left: 1px solid white; }
.cm-s-zenburn { background-color: #3f3f3f; color: #dcdccc; }
.cm-s-zenburn span.cm-builtin { color: #dcdccc; font-weight: bold; }
.cm-s-zenburn span.cm-comment { color: #7f9f7f; }
.cm-s-zenburn span.cm-keyword { color: #f0dfaf; font-weight: bold; }
.cm-s-zenburn span.cm-atom { color: #bfebbf; }
.cm-s-zenburn span.cm-def { color: #dcdccc; }
.cm-s-zenburn span.cm-variable { color: #dfaf8f; }
.cm-s-zenburn span.cm-variable-2 { color: #dcdccc; }
.cm-s-zenburn span.cm-string { color: #cc9393; }
.cm-s-zenburn span.cm-string-2 { color: #cc9393; }
.cm-s-zenburn span.cm-number { color: #dcdccc; }
.cm-s-zenburn span.cm-tag { color: #93e0e3; }
.cm-s-zenburn span.cm-property { color: #dfaf8f; }
.cm-s-zenburn span.cm-attribute { color: #dfaf8f; }
.cm-s-zenburn span.cm-qualifier { color: #7cb8bb; }
.cm-s-zenburn span.cm-meta { color: #f0dfaf; }
.cm-s-zenburn span.cm-header { color: #f0efd0; }
.cm-s-zenburn span.cm-operator { color: #f0efd0; }
.cm-s-zenburn span.CodeMirror-matchingbracket { box-sizing: border-box; background: transparent; border-bottom: 1px solid; }
.cm-s-zenburn span.CodeMirror-nonmatchingbracket { border-bottom: 1px solid; background: none; }
.cm-s-zenburn .CodeMirror-activeline { background: #000000; }
.cm-s-zenburn .CodeMirror-activeline-background { background: #000000; }
.cm-s-zenburn div.CodeMirror-selected { background: #545454; }
.cm-s-zenburn .CodeMirror-focused div.CodeMirror-selected { background: #4f4f4f; }
================================================
FILE: css/default.css
================================================
/*
* Firebase Admin Styles
* By: Circle Framework Grid
*/
:root{
--color: #37474f;
--color-nav: #37474f;
--color-subtle: hsl(0,0%,44%);
--color-strong: hsl(0,0%,11%);
--color-link: #4db6ac;
--color-border: #f6f7f8;
--color-bg: #eceff1;
--color-accent: black; /* Fallback */
}
.container {
position: relative;
width: 100%;
max-width: 1170px;
margin: 0 auto;
padding: 0 20px;
box-sizing: border-box; }
.columns-1, .columns-2, .columns-3, .columns-4, .columns-5, .columns-6, .columns-7, .columns-8, .columns-9, .columns-10, .columns-11, .columns-12 {
margin: 0;
width: 100%;
float: left;
box-sizing: border-box;
}
@media (min-width: 400px) {
.container { width: 85%; padding: 0; }
}
@media (min-width: 550px) {
.container { width: 80%; }
.columns-1 { width: 8.33333333333%; }
.columns-2 { width: 16.6666666667%; }
.columns-3 { width: 25%; }
.columns-4 { width: 33.3333333333%; }
.columns-5 { width: 41.6666666667%; }
.columns-6 { width: 50%; }
.columns-7 { width: 58.3333333333%; }
.columns-8 { width: 66.6666666667%; }
.columns-9 { width: 75%; }
.columns-10 { width: 83.3333333333%; }
.columns-11 { width: 91.6666666667%; }
.columns-12 { width: 100%; }
.1-of-3-columns { width: 33.3333333333%; }
.2-of-3-columns { width: 66.6666666667%; }
.1-of-2-columns { width: 50%; }
.offset-1-columns { margin-left: 8.33333333333%; }
.offset-2-columns { margin-left: 16.6666666667%; }
.offset-3-columns { margin-left: 25%; }
.offset-4-columns { margin-left: 33.3333333333%; }
.offset-5-columns { margin-left: 41.6666666667%; }
.offset-6-columns { margin-left: 50%; }
.offset-7-columns { margin-left: 58.3333333333%; }
.offset-8-columns { margin-left: 66.6666666667%; }
.offset-9-columns { margin-left: 75%; }
.offset-10-columns { margin-left: 83.3333333333%; }
.offset-11-columns { margin-left: 91.6666666667%; }
.offset-1-of-3-columns { margin-left: 33.3333333333%; }
.offset-2-of-3-columns { margin-left: 66.6666666667%; }
.offset-1-of-2-columns { margin-left: 50%; }
}
html { font-size: 62.5%; }
body {
margin: 0;
font-size: 1.5em;
line-height: 1.6;
font-weight: 400;
font-family: Helvetica, Arial, sans-serif;
color: #5c6b80;
background-color: #F9F5F4;
}
body, html{
height: 100%;
margin: 0;
padding: 0;
}
nav{
width: 340px;
overflow-x: hidden;
overflow-y: auto;
color: var(--color-nav);
border-right: 1px solid var(--color-border);
background-color: var(--color-bg);
}
h1, h2, h3, h4, h5, h6 {
margin-top: 0;
margin-bottom: 1.5rem;
font-weight: 300; }
h1 { font-size: 3.0rem; line-height: 1.2; letter-spacing: -.1rem;}
h2 { font-size: 2.6rem; line-height: 1.25; letter-spacing: -.1rem; }
h3 { font-size: 2.2rem; line-height: 1.3; letter-spacing: -.1rem; }
h4 { font-size: 1.8rem; line-height: 1.35; letter-spacing: -.08rem; }
h5 { font-size: 1.5rem; line-height: 1.5; letter-spacing: -.05rem; }
h6 { font-size: 1.2rem; line-height: 1.6; letter-spacing: 0; }
@media (min-width: 550px) {
h1 { font-size: 4.0rem; }
h2 { font-size: 3.6rem; }
h3 { font-size: 3.0rem; }
h4 { font-size: 2.4rem; }
h5 { font-size: 1.8rem; }
h6 { font-size: 1.5rem; }
}
p { margin-top: 0; }
a {
color: #FF5353;
text-decoration: none;
-webkit-transition: all 0.1s ease-in-out;
-moz-transition: all 0.1s ease-in-out;
-o-transition: all 0.1s ease-in-out;
transition: all 0.1s ease-in-out; }
a:hover { color: #D34242; }
.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
display: inline-block;
height: 38px;
padding: 0 30px;
color: #555;
text-align: center;
font-size: 11px;
font-weight: 600;
line-height: 38px;
letter-spacing: .1rem;
text-transform: uppercase;
text-decoration: n1;
white-space: nowrap;
background-color: transparent;
border-radius: 4px;
border: 1px solid #bbb;
cursor: pointer;
box-sizing: border-box;
-webkit-transition: all 0.1s ease-in-out;
-moz-transition: all 0.1s ease-in-out;
-o-transition: all 0.1s ease-in-out;
transition: all 0.1s ease-in-out; }
.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
.button:focus,
button:focus,
input[type="submit"]:focus,
input[type="reset"]:focus,
input[type="button"]:focus,
.pagination li a:hover {
color: #333;
border-color: #888;
outline: 0; }
.button.button-primary,
button.button-primary,
input[type="submit"].button-primary,
input[type="reset"].button-primary,
input[type="button"].button-primary {
color: #FFF;
background-color: #33C3F0;
border-color: #33C3F0; }
.button.button-primary:hover,
button.button-primary:hover,
input[type="submit"].button-primary:hover,
input[type="reset"].button-primary:hover,
input[type="button"].button-primary:hover,
.button.button-primary:focus,
button.button-primary:focus,
input[type="submit"].button-primary:focus,
input[type="reset"].button-primary:focus,
input[type="button"].button-primary:focus {
color: #FFF;
background-color: #1EAEDB;
border-color: #1EAEDB; }
input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
select {
height: 38px;
padding: 6px 10px; /* The 6px vertically centers text on FF, ignored by Webkit */
background-color: #fff;
border: 1px solid #D1D1D1;
border-radius: 4px;
box-shadow: none;
box-sizing: border-box; }
/* Removes awkward default styles on some inputs for iOS */
input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none; }
textarea {
width: 100%;
min-height: 100px;
padding-top: 6px;
padding-bottom: 6px; }
input[type="email"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
border: 1px solid #FF7878;
outline: 0; }
label,
legend {
margin-bottom: .5rem;
font-weight: 600; }
fieldset {
padding: 0;
border-width: 0; }
input[type="checkbox"],
input[type="radio"] {
display: inline; }
label > .label-body {
display: inline-block;
margin-left: .5rem;
font-weight: normal; }
/* Lists
–––––––––––––––––––––––––––––––––––––––––––––––––– */
ul {
list-style: circle inside; }
ol {
list-style: decimal inside; }
ol, ul {
padding-left: 0;
margin-top: 0; }
ul ul,
ul ol,
ol ol,
ol ul {
margin: 1.5rem 0 1.5rem 3rem;
font-size: 90%; }
li {
margin-bottom: 1rem; }
/* Code
–––––––––––––––––––––––––––––––––––––––––––––––––– */
code {
padding: .2rem .5rem;
margin: 0 .2rem;
white-space: nowrap;
background: #F1F1F1;
border: 1px solid #E1E1E1;
border-radius: 4px; }
pre > code {
display: block;
padding: 1rem 1.5rem;
white-space: pre; }
/* Tables
–––––––––––––––––––––––––––––––––––––––––––––––––– */
th,
td {
padding: 6px;
text-align: left;
border-bottom: 1px solid #E1E1E1; }
th:first-child,
td:first-child {
padding-left: 0; }
th:last-child,
td:last-child {
padding-right: 0; }
/* Spacing
–––––––––––––––––––––––––––––––––––––––––––––––––– */
button,
.button {
margin-bottom: 1rem; }
input,
textarea,
select,
fieldset {
margin-bottom: 1.2rem; }
pre,
blockquote,
dl,
figure,
table,
p,
ul,
ol,
form {
margin-bottom: 2rem; }
/* Utilities
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.pagination li{
display: inline; }
.pagination li a, .pagination li span{
padding: 0.6rem 1rem;
background: #FFFFFF;
border: 1px solid #ccc;
border-radius: 4px; }
.u-full-width {
width: 100%;
box-sizing: border-box; }
.u-max-full-width {
max-width: 100%;
box-sizing: border-box; }
.u-pull-right {
float: right; }
.u-pull-left {
float: left; }
.list-inline > li{
display: inline-block;
padding: 0 0.5rem;
}
/* Misc
–––––––––––––––––––––––––––––––––––––––––––––––––– */
hr {
margin-top: 3rem;
margin-bottom: 3.5rem;
border-width: 0;
border-top: 1px solid #E1E1E1; }
/* Clearing
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Self Clearing Goodness */
.container:after,
.row:after,
.u-cf {
content: "";
display: table;
clear: both; }
/* Media Queries
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/*
Note: The best way to structure the use of media queries is to create the queries
near the relevant code. For example, if you wanted to change the styles for buttons
on small devices, paste the mobile query code up in the buttons section and style it
there.
*/
/* Larger than mobile */
@media (min-width: 400px) {}
/* Larger than phablet (also point when grid becomes active) */
@media (min-width: 550px) {}
/* Larger than tablet */
@media (min-width: 750px) {}
/* Larger than desktop */
@media (min-width: 1000px) {}
/* Larger than Desktop HD */
@media (min-width: 1200px) {}
================================================
FILE: css/json-formatter.css
================================================
/*!
* jsonformatter
*
* Version: 0.6.0 - 2016-04-29T03:24:40.680Z
* License: Apache-2.0
*/
.json-formatter-row {
font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
font-size: 12px;
line-height: 20px;
}
.json-formatter-row,
.json-formatter-row a,
.json-formatter-row a:hover {
color: black;
text-decoration: none;
}
.json-formatter-row .json-formatter-row {
margin-left: 1em;
}
.json-formatter-row .children.empty {
opacity: 0.5;
margin-left: 1em;
}
.json-formatter-row .children.empty.object:after {
content: "No properties";
}
.json-formatter-row .children.empty.array:after {
content: "[]";
}
.json-formatter-row .string {
color: green;
white-space: pre;
word-wrap: break-word;
}
.json-formatter-row .number {
color: blue;
}
.json-formatter-row .boolean {
color: red;
}
.json-formatter-row .null {
color: #855A00;
}
.json-formatter-row .undefined {
color: #ca0b69;
}
.json-formatter-row .function {
color: #FF20ED;
}
.json-formatter-row .date {
background-color: rgba(0, 0, 0, 0.05);
}
.json-formatter-row .url {
text-decoration: underline;
color: blue;
cursor: pointer;
}
.json-formatter-row .bracket {
color: blue;
}
.json-formatter-row .key {
color: #00008B;
cursor: pointer;
}
.json-formatter-row .constructor-name {
cursor: pointer;
}
.json-formatter-row .toggler {
font-size: 0.8em;
line-height: 1.2em;
vertical-align: middle;
opacity: 0.6;
cursor: pointer;
}
.json-formatter-row .toggler:after {
display: inline-block;
transition: transform 100ms ease-in;
content: "►";
}
.json-formatter-row .toggler.open:after {
transform: rotate(90deg);
}
.json-formatter-row > a > .thumbnail-text {
opacity: 0;
transition: opacity 0.15s ease-in;
font-style: italic;
}
.json-formatter-row:hover > a > .thumbnail-text {
opacity: 0.6;
}
.json-formatter-dark.json-formatter-row,
.json-formatter-dark.json-formatter-row a,
.json-formatter-dark.json-formatter-row a:hover {
color: white;
text-decoration: none;
}
.json-formatter-dark.json-formatter-row .json-formatter-row {
margin-left: 1em;
}
.json-formatter-dark.json-formatter-row .children.empty {
opacity: 0.5;
margin-left: 1em;
}
.json-formatter-dark.json-formatter-row .children.empty.object:after {
content: "No properties";
}
.json-formatter-dark.json-formatter-row .children.empty.array:after {
content: "[]";
}
.json-formatter-dark.json-formatter-row .string {
color: #31F031;
white-space: pre;
word-wrap: break-word;
}
.json-formatter-dark.json-formatter-row .number {
color: #66C2FF;
}
.json-formatter-dark.json-formatter-row .boolean {
color: #EC4242;
}
.json-formatter-dark.json-formatter-row .null {
color: #EEC97D;
}
.json-formatter-dark.json-formatter-row .undefined {
color: #ef8fbe;
}
.json-formatter-dark.json-formatter-row .function {
color: #FD48CB;
}
.json-formatter-dark.json-formatter-row .date {
background-color: rgba(255, 255, 255, 0.05);
}
.json-formatter-dark.json-formatter-row .url {
text-decoration: underline;
color: #027BFF;
cursor: pointer;
}
.json-formatter-dark.json-formatter-row .bracket {
color: #9494FF;
}
.json-formatter-dark.json-formatter-row .key {
color: #23A0DB;
cursor: pointer;
}
.json-formatter-dark.json-formatter-row .constructor-name {
cursor: pointer;
}
.json-formatter-dark.json-formatter-row .toggler {
font-size: 0.8em;
line-height: 1.2em;
vertical-align: middle;
opacity: 0.6;
cursor: pointer;
}
.json-formatter-dark.json-formatter-row .toggler:after {
display: inline-block;
transition: transform 100ms ease-in;
content: "►";
}
.json-formatter-dark.json-formatter-row .toggler.open:after {
transform: rotate(90deg);
}
.json-formatter-dark.json-formatter-row > a > .thumbnail-text {
opacity: 0;
transition: opacity 0.15s ease-in;
font-style: italic;
}
.json-formatter-dark.json-formatter-row:hover > a > .thumbnail-text {
opacity: 0.6;
}
================================================
FILE: css/style.css
================================================
/*
* Firebase Admin Styles
* By: Circle Framework Grid
*/
:root{
--color-main-bg: #ececec;
--color-main: #37474f;
--color-subtle: hsl(0,0%,44%);
--color-strong: hsl(0,0%,11%);
--color-link: #4db6ac;
--color-sec: #858e92;
--color-sec-bg: #fff;
--bg-menu: #ececec;
--overlay-bg: rgba(190, 190, 190, 0.3);
--color-border: #b8b8b8;
--color-bg: #fff;
--bg-button: #fff;
--bg-button-top: #eee;
--bg-button-bottom: #ddd;
--color-border-button: #ddd #bbb #999;
--bg-button-light-top: #fcfcfc;
--bg-button-light-bottom: #f3f3f3;
--color-border-button-light: #ddd #ccc #aaa;
--bg-chrome: #ddd;
--bg-chrome-top: #f0f0f0;
--bg-chrome-bottom: #d1d0d1;
--color-menu: #d4d6d7;
--color-menu-bg: #ececec;
--color-accent: black; /* Fallback */
--chrome-height: 58px;
--height-query-box: 48px;
--font-main: inherit;
}
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
:after, :before {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.container {
position: relative;
width: 100%;
max-width: 100%;
margin: 0 auto;
box-sizing: border-box;
}
.columns-1, .columns-2, .columns-3, .columns-4, .columns-5, .columns-6, .columns-7, .columns-8, .columns-9, .columns-10, .columns-11, .columns-12 {
margin: 0;
width: 100%;
float: left;
box-sizing: border-box;
}
@media (min-width: 400px) {
.container { width: 100%; padding: 0; }
}
@media (min-width: 550px) {
.container { width: 100%; }
.columns-1 { width: 8.33333333333%; }
.columns-2 { width: 16.6666666667%; }
.columns-3 { width: 25%; }
.columns-4 { width: 33.3333333333%; }
.columns-5 { width: 41.6666666667%; }
.columns-6 { width: 50%; }
.columns-7 { width: 58.3333333333%; }
.columns-8 { width: 66.6666666667%; }
.columns-9 { width: 75%; }
.columns-10 { width: 83.3333333333%; }
.columns-11 { width: 91.6666666667%; }
.columns-12 { width: 100%; }
.offset-1-columns { margin-left: 8.33333333333%; }
.offset-2-columns { margin-left: 16.6666666667%; }
.offset-3-columns { margin-left: 25%; }
.offset-4-columns { margin-left: 33.3333333333%; }
.offset-5-columns { margin-left: 41.6666666667%; }
.offset-6-columns { margin-left: 50%; }
.offset-7-columns { margin-left: 58.3333333333%; }
.offset-8-columns { margin-left: 66.6666666667%; }
.offset-9-columns { margin-left: 75%; }
.offset-10-columns { margin-left: 83.3333333333%; }
.offset-11-columns { margin-left: 91.6666666667%; }
.offset-1-of-3-columns { margin-left: 33.3333333333%; }
.offset-2-of-3-columns { margin-left: 66.6666666667%; }
.offset-1-of-2-columns { margin-left: 50%; }
}
html { font-size: 62.5%; }
body {
margin: 0;
font-size: 14px;
line-height: 1.6;
font-family: system,-apple-system,".SFNSDisplay-Regular","Helvetica Neue",Helvetica,"Segoe UI",sans-serif;
color: var(--color-main);
background-color: var(--color-bg);
}
body, html, main, section.content{
height: 100%;
position: relative;
margin: 0;
padding: 0;
background: var(--color-sec-bg);
}
#adminmenumain, .admin-content{
font-family: var(--font-main);
}
.content.offline{
color: var(--color-sec);
background: var(--color-sec-bg);
font-size: 20px;
font-weight: 600;
}
.content .offline-wrap{
filter: grayscale(1);
-webkit-filter: grayscale(1);
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
text-align: center;
}
.content .offline-wrap img{
width: 50px;
opacity: 0.4;
}
#mainmenu{
width: 100%;
height: var(--chrome-height);
border-bottom: 1px solid #adabad;
background: var(--bg-chrome);
background: -moz-linear-gradient(top, var(--bg-chrome-top) 0%, var(--bg-chrome-bottom) 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, var(--bg-chrome-top)), color-stop(100%, var(--bg-chrome-bottom)));
background: -webkit-linear-gradient(top, var(--bg-chrome-top) 0%, var(--bg-chrome-bottom) 100%);
background: -o-linear-gradient(top, var(--bg-chrome-top) 0%, var(--bg-chrome-bottom) 100%);
background: -ms-linear-gradient(top, var(--bg-chrome-top) 0%, var(--bg-chrome-bottom) 100%);
background: linear-gradient(to bottom, var(--bg-chrome-top) 0%, var(--bg-chrome-bottom) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#3c474c', GradientType=0 );
-webkit-app-region: drag;
-webkit-user-select: none;
}
.titlebar{
height: 20px;
text-align: center;
}
#mainmenu .icons{
padding: 6px;
height: 35px;
position: relative;
}
#mainmenu .icon{
display: inline-block;
width: 40px;
height: 24px;
line-height: 20px;
text-align: center;
cursor: default;
overflow: hidden;
margin-left: 10px;
background: #fff;
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, var(--bg-button-light-top)), color-stop(100%, var(--bg-button-light-bottom)));
background: -webkit-linear-gradient(top, var(--bg-button-light-top) 0%, var(--bg-button-light-bottom) 100%);
background: linear-gradient(to bottom, var(--bg-button-light-top) 0%, var(--bg-button-light-bottom) 100%);
padding: 3px;
border-radius: 3px;
border: 1px solid #ccc;
border-color: var(--color-border-button-light);
}
#mainmenu .icon span{
font-size: 8px;
color: #777;
display: inline-block;
padding-left: 2px;
vertical-align: top;
line-height: 2;
}
#mainmenu .mode-icons{
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
#mainmenu .mode-icons .icon{
margin: 0;
float: left;
line-height: 1.4;
font-size: 12px;
width: auto;
border-radius: 0;
padding: 3px 10px;
border-left: none;
}
#mainmenu .mode-icons .icon:first-child{
border-radius: 3px 0 0 3px;
}
#mainmenu .mode-icons .icon:last-child{
border-radius: 0 3px 3px 0;
}
#mainmenu .mode-icons .icon.active{
background: var(--color-sec-bg);
}
.connection-list{
z-index: 1900;
position: fixed;
top: 0;
bottom: 0;
left: 0;
right: 0;
font-size: 12px;
}
.connection-list ul{
position: absolute;
top: calc(var(--chrome-height) - 2px);
left: 10px;
min-width: 180px;
background: var(--color-sec-bg);
padding: 6px 0;
border-radius: 4px;
border: 1px solid #b8b8b8;
box-shadow: 2px 2px 14px rgba(0,0,0,0.5);
}
.connection-list ul li{
cursor: default;
position: relative;
}
.connection-list li:hover{
background: #649ce1;
color: #fff;
}
.connection-list .name{
padding: 2px 10px;
margin-right: 20px;
}
.connection-list ul:before{
content: '';
display: block;
width: 0;
height: 0;
border: 6px solid transparent;
border-bottom-color: #fff;
position: absolute;
bottom: 100%;
left: 18px;
}
.icon img{
max-width: 100%;
max-height: 100%;
transform: none;
transition: transform .4s;
}
.icon.open img {
transform: rotateY(180deg);
}
#adminmenumain{
height: calc(100% - var(--chrome-height));
float: left;
width: 200px;
min-width: 100px;
max-width: 500px;
background-color: var(--bg-menu);
border-right: 1px solid var(--color-border);
transition: all .4s;
}
#adminmenumain.hidden{
max-width: 0;
min-width: 0;
margin-left: -1px;
}
.hidden .menu-overlay{
display: none;
}
#admin-menu{
position: relative;
float: left;
width: 100%;
z-index: 1100;
overflow: auto;
color: var(--color-main);
max-height: 100%;
}
#admin-menu::-webkit-scrollbar, .admin-content::-webkit-scrollbar, .result .menu-item div::-webkit-scrollbar{
display: none;
}
.admin-content{
height: calc(100% - var(--chrome-height));
min-height: calc(100% - var(--chrome-height));
color: #434A50;
overflow: auto;
}
.admin-menu-main{
padding-top: 10px;
}
.menu-filter{
padding: 10px 7px 0;
}
.menu-filter input[type="search"]{
background: rgba(0, 0, 0, 0.02);
padding: 0 10px 2px;
height: 24px;
border-radius: 20px;
box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.2);
}
.menu-filter input[type="search"]:focus{
background: transparent;
border-color: #bbb;
box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
}
.menu-item, .menu-item ins{
color: var(--color-main);
cursor: default;
background-image: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI4IiB3aWR0aD0iNDIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggc3Ryb2tlLWRhc2hhcnJheT0iMSwxIiBkPSJNMSAwIEwxIDE0IEgxNSIgc3Ryb2tlPSJibGFjayIgZmlsbD0idHJhbnNwYXJlbnQiLz48cGF0aCBzdHJva2UtZGFzaGFycmF5PSIxLDEiIGQ9Ik00MSAwIFYyOCIgc3Ryb2tlPSJibGFjayIvPjwvc3ZnPg==);
background-repeat: repeat-y;
background-position-x: -26px;
}
.menu-item:last-child{
background: none;
}
.menu-item.active > div{
background: rgba(45,140,255,0.6);
color: #fff;
}
.menu-item ins{
font-size: 14px;
float: left;
line-height: 1;
width: 28px;
height: 28px;
text-align: center;
background-position-x: 14px;
}
.leaf.menu-item ins{
pointer-events: none;
}
.menu-item i{
line-height: 8px;
margin: 7px 0;
width: 13px;
height: 13px;
display: inline-block;
background: #3c474c;
color: #fff;
border: 1px solid #999;
border-radius: 3px;
z-index: 1;
}
.leaf.menu-item i{
display: none;
}
.menu-item i:after{
content: '+';
font-style: normal;
font-size: 12px;
font-weight: 600;
padding-left: 1px;
}
.open.menu-item > div i{
background: #ddd;
color: #000;
border: 1px solid #999;
line-height: 10px;
font-family: monospace;
}
.open.menu-item > div i:after{
content: '-';
}
.menu-item.active > div i{
background: #fff;
color: #3c474c;
}
.menu-name{
padding: 7px 4px;
height: 28px;
line-height: 1;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
h1, h2, h3, h4, h5, h6 {
margin-top: 0;
margin-bottom: 1.5rem;
font-weight: 300; }
h1 { font-size: 3.0rem; line-height: 1.2; letter-spacing: -.1rem;}
h2 { font-size: 2.6rem; line-height: 1.25; letter-spacing: -.1rem; }
h3 { font-size: 2.2rem; line-height: 1.3; letter-spacing: -.1rem; }
h4 { font-size: 1.8rem; line-height: 1.35; letter-spacing: -.08rem; }
h5 { font-size: 1.5rem; line-height: 1.5; letter-spacing: -.05rem; }
h6 { font-size: 1.2rem; line-height: 1.6; letter-spacing: 0; }
@media (min-width: 550px) {
h1 { font-size: 4.0rem; }
h2 { font-size: 3.6rem; }
h3 { font-size: 3.0rem; }
h4 { font-size: 2.4rem; }
h5 { font-size: 1.8rem; }
h6 { font-size: 1.5rem; }
}
p { margin-top: 0; }
a {
color: var(--color-link);
text-decoration: none;
-webkit-transition: all 0.1s ease-in-out;
-moz-transition: all 0.1s ease-in-out;
-o-transition: all 0.1s ease-in-out;
transition: all 0.1s ease-in-out; }
a:hover { color: var(--color-link); }
#admin-menu a {
color: var(--color-menu);
}
#admin-menu a:hover { color: var(--color-link); }
.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
display: inline-block;
vertical-align: top;
padding: 3px 8px;
color: var(--color-main);
text-align: center;
font-size: 11px;
line-height: 1.4;
white-space: nowrap;
background-color: #fcfcfc;
background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0,var(--bg-button-top)),color-stop(100%,var(--bg-button-bottom)));
background-image: -webkit-linear-gradient(top,var(--bg-button-top) 0,var(--bg-button-bottom) 100%);
background-image: linear-gradient(to bottom,var(--bg-button-top) 0,var(--bg-button-bottom) 100%);
border: 1px solid transparent;
border-color: var(--color-border-button);
border-radius: 4px;
box-shadow: 0 1px 1px rgba(0,0,0,.06);
cursor: default;
box-sizing: border-box;
-webkit-transition: all 0.1s ease-in-out;
-moz-transition: all 0.1s ease-in-out;
-o-transition: all 0.1s ease-in-out;
transition: all 0.1s ease-in-out;
}
.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
.button:focus,
button:focus,
input[type="submit"]:focus,
input[type="reset"]:focus,
input[type="button"]:focus,
.pagination li a:hover {
outline: 0;
}
.button.button-primary,
button.button-primary,
input[type="submit"].button-primary,
input[type="reset"].button-primary,
input[type="button"].button-primary{
border-color: #388df8 #388df8 #0866dc;
background-color: #6eb4f7;
background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0,#6eb4f7),color-stop(100%,#1a82fb));
background-image: -webkit-linear-gradient(top,#6eb4f7 0,#1a82fb 100%);
background-image: linear-gradient(to bottom,#6eb4f7 0,#1a82fb 100%);
color: #fff;
}
.button.button-light,
button.button-light,
input[type="submit"].button-light,
input[type="reset"].button-light,
input[type="button"].button-light{
color: #333;
background-color: #fcfcfc;
background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0,#fcfcfc),color-stop(100%,#f1f1f1));
background-image: -webkit-linear-gradient(top,#fcfcfc 0,#f1f1f1 100%);
background-image: linear-gradient(to bottom,#fcfcfc 0,#f1f1f1 100%);
border-color: #c2c0c2 #c2c0c2 #a19fa1;
}
.button.disabled, .button[disabled], fieldset[disabled] .button{
opacity: .65;
}
input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
select {
height: 28px;
width: 100%;
padding: 6px 10px; /* The 6px vertically centers text on FF, ignored by Webkit */
color: var(--color-main);
background-color: #fff;
border: 1px solid #bbb;
box-shadow: none;
box-sizing: border-box;
border-radius: 4px;
box-shadow: 15px 15px 0 transparent,-15px -15px 0 transparent,-15px 15px 0 transparent,15px -15px 0 transparent;
}
/* Removes awkward default styles on some inputs for iOS */
input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none; }
textarea {
width: 100%;
min-height: 100px;
padding-top: 6px;
padding-bottom: 6px;
vertical-align: top;
}
input[type="email"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
border-color: #6db3fd;
box-shadow: 3px 3px 0 #6db3fd,-3px -3px 0 #6db3fd,-3px 3px 0 #6db3fd,3px -3px 0 #6db3fd;
outline: none;
transition: box-shadow .1s;
}
legend {
margin-bottom: .5rem;
font-weight: 600; }
fieldset {
padding: 0;
border-width: 0; }
input[type="checkbox"],
input[type="radio"] {
display: inline;
margin: 0 0 2px; }
label > .label-body {
display: inline-block;
margin-left: .5rem;
font-weight: normal; }
.radio{
min-height: 27px;
padding-top: 4px;
}
.radio label{
padding: 0 8px;
}
/* Lists
–––––––––––––––––––––––––––––––––––––––––––––––––– */
ul {
list-style: circle inside; }
ol {
list-style: decimal inside; }
ol, ul {
list-style: none;
padding-left: 0;
margin: 0;
}
ul ul,
ul ol,
ol ol,
ol ul {
margin: 0 0 0 2rem;
font-size: 90%;
}
ul ul ul, ul ul ol,
ul ol ul, ul ol ol,
ol ol ul, ol ol ol,
ol ul ul, ol ul ol{
font-size: 100%;
}
/* Code
–––––––––––––––––––––––––––––––––––––––––––––––––– */
code {
padding: .2rem .5rem;
margin: 0 5px;
white-space: normal;
background: #3c474c;
color: #80cbc4;
border: 1px solid #3c474c;
border-radius: 2px;
overflow: auto;
}
pre > code {
display: block;
padding: 1rem 1.5rem;
}
.result-wrap{
height: calc(100% - var(--height-query-box));
padding-bottom: 10px;
position: relative;
background: var(--color-sec-bg);
border-top: 1px solid #b8b8b8;
}
.result-mode{
background: var(--overlay-bg);
overflow: auto;
}
.result-mode .icon{
display: inline-block;
background: var(--overlay-bg);
color: var(--color-sec);
padding: 4px 12px;
float: left;
border-right: 1px solid var(--color-border);
font-size: 12px;
cursor: default;
}
.result-mode .icon.active{
background: var(--color-sec-bg);
}
.result{
display: block;
padding: 1rem 1.5rem;
white-space: normal;
background: var(--color-sec-bg);
color: var(--color-main);
height: 100%;
max-height: 100%;
overflow: auto;
}
.code > .result{
padding: 0;
}
.raw .result{
letter-spacing: 1px;
font-size: 90%;
word-wrap: break-word;
white-space: pre-wrap;
}
.result-wrap .result-view{
height: calc(100% - 17px);
}
.result-wrap .copy-wrap{
position: absolute;
top: 5px;
right: 0;
text-align: center;
width: 42px;
font-size: 12px;
line-height: 1.5;
}
.copy-wrap img{
width: 14px;
}
.copied{
color: var(--color-main);
}
::-webkit-scrollbar{
width: 8px;
height: 8px;
}
::-webkit-scrollbar-track-piece{
background: transparent;
}
::-webkit-scrollbar-thumb{
background: rgba(204,204,204,0.6);
border-radius: 5px;
}
::-webkit-scrollbar-corner{
background: transparent;
}
/* Tables
–––––––––––––––––––––––––––––––––––––––––––––––––– */
th,
td {
padding: 6px;
text-align: left;
border-bottom: 1px solid #E1E1E1; }
th:first-child,
td:first-child {
padding-left: 0; }
th:last-child,
td:last-child {
padding-right: 0; }
/* Spacing
–––––––––––––––––––––––––––––––––––––––––––––––––– */
input,
textarea,
select,
fieldset {
margin-bottom: 0;
}
pre,
blockquote,
dl,
figure,
table,
p,
form {
margin: 0;
margin-bottom: 10px;
}
/* Utilities
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.pagination li{
display: inline; }
.pagination li a, .pagination li span{
padding: 0.6rem 1rem;
background: #FFFFFF;
border: 1px solid #ccc;
border-radius: 4px; }
.full-width {
width: 100%;
box-sizing: border-box; }
.max-full-width {
max-width: 100%;
box-sizing: border-box; }
.pull-right {
float: right; }
.pull-left {
float: left; }
.list-inline > li{
display: inline-block;
padding: 0 0.5rem;
}
/* Misc
–––––––––––––––––––––––––––––––––––––––––––––––––– */
hr {
margin-top: 3rem;
margin-bottom: 3.5rem;
border-width: 0;
border-top: 1px solid #E1E1E1; }
/* Clearing
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Self Clearing Goodness */
.clearfix:before{
content: "";
display: table;
}
.container:after,
.row:after,
.clearfix:after,
.form:after,
.form-group:after,
.clearfix {
content: "";
display: table;
clear: both;
}
/* Loader
–––––––––––––––––––––––––––––––––––––––––––––––––– */
@-webkit-keyframes uil-ring-anim {
0% {
-ms-transform: rotate(0deg);
-moz-transform: rotate(0deg);
-webkit-transform: rotate(0deg);
-o-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-ms-transform: rotate(360deg);
-moz-transform: rotate(360deg);
-webkit-transform: rotate(360deg);
-o-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@keyframes uil-ring-anim {
0% {
-ms-transform: rotate(0deg);
-moz-transform: rotate(0deg);
-webkit-transform: rotate(0deg);
-o-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-ms-transform: rotate(360deg);
-moz-transform: rotate(360deg);
-webkit-transform: rotate(360deg);
-o-transform: rotate(360deg);
transform: rotate(360deg);
}
}
.loader{
position: absolute;
display: block;
width: 30px;
height: 30px;
top: 0;
bottom:0;
left: 0;
right: 0;
border-radius: 15px;
box-shadow: 0 2px 0 0 #649ce1;
-ms-animation: uil-ring-anim .6s linear infinite;
-moz-animation: uil-ring-anim .6s linear infinite;
-webkit-animation: uil-ring-anim .6s linear infinite;
-o-animation: uil-ring-anim .6s linear infinite;
animation: uil-ring-anim .6s linear infinite;
margin: auto;
}
.query-box{
padding: 8px 8px;
margin-bottom: 0;
height: var(--height-query-box);
min-height: 48px;
max-height: 80%;
background: var(--color-sec-bg);
}
.query-box button{
width: 80px;
margin-bottom: 0;
vertical-align: top;
min-height: 32px;
text-transform: uppercase;
letter-spacing: .1rem;
box-shadow: 0 1px 1px rgba(0,0,0,.2);
}
#query{
display: inline-block;
width: calc(100% - 90px);
min-height: 32px;
height: 100%;
/*padding: 5px 10px;*/
line-height: 1.6;
font-size: 14px;
color: var(--color-main);
background-color: var(--color-sec-bg);
border: none;
outline: none;
vertical-align: middle;
resize: none;
box-shadow: none;
}
.output{
margin-top: 44px;
}
.create{
background: var(--color-menu-bg);
}
.create .form{
padding: 20px;
}
.create .control-label {
font-size: 12px;
}
label{
height: 28px;
padding: 4px 0px;
}
.form-group{
margin-bottom: 14px;
}
.menu-overlay{
position: absolute;
width: 100%;
top: 0;
bottom: 0;
background: var(--bg-menu);
z-index: 1200;
}
#notice{
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
background: rgba(0,0,0,0.6);
z-index: 2000;
}
.notice-window{
position: absolute;
width: 400px;
padding: 10px 20px;
top: 30%;
left: 50%;
transform: translate(-50%);
color: var(--color-main);
background: var(--color-sec-bg);
}
.close-btn{
position: absolute;
top: -8px;
right: -8px;
font-size: 12px;
width: 18px;
height: 18px;
border-radius: 10px;
text-align: center;
line-height: 18px;
cursor: pointer;
background: #ce2a2a;
}
.toolbar{
min-height: 22px;
box-shadow: inset 0 1px 0 #f5f4f5;
background-color: #e8e6e8;
background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0,#e8e6e8),color-stop(100%,#d1cfd1));
background-image: -webkit-linear-gradient(top,#e8e6e8 0,#d1cfd1 100%);
background-image: linear-gradient(to bottom,#e8e6e8 0,#d1cfd1 100%);
}
.toolbar-footer{
position: fixed;
bottom: 0;
right: 0;
left: 0;
border-top: 1px solid #c2c0c2;
-webkit-app-region: drag;
padding: 6px;
}
.close{
background-color: #ff6159;
border-radius: 100%;
padding: 0;
height: 12px;
width: 12px;
border: 1px solid rgba(0, 0, 0, 0.06);
box-sizing: border-box;
margin-right: 3.5px;
position: absolute;
outline: none;
top: 5px;
right: 5px;
visibility: hidden;
}
.close:before, .close:after{
content: '';
position: absolute;
border-radius: 1px;
left: 0;
top: 0;
right: 0;
bottom: 0;
margin: auto;
background-color: rgba(0,0,0,.4);
width: 8px;
height: 2px;
transform: rotate(-45deg);
}
.close:before{
transform: rotate(45deg);
}
.connection-list li:hover .close{
visibility: visible;
}
.connection-list li.last{
border-bottom: 1px solid var(--color-border);
}
.connection-list .create-item{
font-weight: 600;
}
.result .menu-item div{
overflow: auto;
}
.result-menu-main li{
display: block;
min-height: 26px;
line-height: 26px;
white-space: nowrap;
min-width: 33px;
overflow: auto;
}
.menu-item .menu-content{
text-align: center;
border: 1px transparent solid;
-webkit-border-radius: 3px;
border-radius: 3px;
padding: 2px 4px 2px 4px;
}
.menu-item .menu-content:hover, .adding .menu-content{
border-color: #ccc;
}
.menu-item .menu-content>span{
display: inline-block;
}
.menu-content input{
width: fit-content;
padding: 0 3px;
height: inherit;
background: transparent;
border: 1px transparent solid;
font-size: 13px;
border-radius: 0;
line-height: 17px;
}
.menu-content:hover input, .menu-content input:focus, .adding .menu-content input{
border-color: #ccc;
box-shadow: none;
}
.menu-content input:focus{
border-color: #000;
}
.menu-content .btn{
width: 20px;
opacity: 0;
cursor: pointer;
}
.menu-content:hover .btn, .adding .btn{
opacity: 1;
}
.menu-content .add-btn{
color: #00bfa5;
}
.menu-content .remove-btn{
color: #ff5252;
}
.menu-content .name-input, .menu-content .value-input, .menu-content .value-label{
margin-left: 8px;
}
.menu-item .confirm ins{
background-position: -26px;
}
.menu-item .confirm .btn{
margin: 3px 6px 0 0;
}
.CodeMirror{
height: 100%;
}
.CodeMirror-foldmarker {
color: #fff;
font-family: arial;
line-height: .8;
cursor: pointer;
background: #3c474c;
border-radius: 4px;
width: 26px;
height: 13px;
text-align: center;
display: inline-block;
margin: 0 2px;
}
.CodeMirror-foldgutter {
width: .7em;
}
.CodeMirror-foldgutter-open,
.CodeMirror-foldgutter-folded {
cursor: pointer;
}
.CodeMirror-foldgutter-open:after {
content: "\25BE";
}
.CodeMirror-foldgutter-folded:after {
content: "\25B8";
}
.cm-s-default .cm-string{
color: #2a2dfe;
}
.cm-s-default .cm-string.cm-property{
color: #a11;
}
.query-box .cm-s-monokai.CodeMirror{
background: initial;
}
.query-box .cm-s-monokai span.cm-comment{
color: #b5b2a5;
}
/* Media Queries
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/*
Note: The best way to structure the use of media queries is to create the queries
near the relevant code. For example, if you wanted to change the styles for buttons
on small devices, paste the mobile query code up in the buttons section and style it
there.
*/
/* Larger than mobile */
@media (min-width: 400px) {}
/* Larger than phablet (also point when grid becomes active) */
@media (min-width: 550px) {}
/* Larger than tablet */
@media (min-width: 750px) {}
/* Larger than desktop */
@media (min-width: 1000px) {}
/* Larger than Desktop HD */
@media (min-width: 1200px) {}
================================================
FILE: index.html
================================================
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<base href="local">
<title>Firebase Admin</title>
<link rel="stylesheet" type="text/css" href="css/angular-resizable.css">
<link rel="stylesheet" type="text/css" href="css/codemirror/codemirror.css">
<link rel="stylesheet" type="text/css" href="css/ionicons.min.css">
<link rel="stylesheet" type="text/css" href="css/style.css">
<script>
const electron = require('electron').remote
const ipc = require('electron').ipcRenderer
const firebase = require("firebase")
const writeFile = require('write-file-atomic')
const clipboard = electron.clipboard
//window.$ = window.jQuery = require('jquery')
require('electron').webFrame.setZoomLevelLimits(1, 1)
</script>
</head>
<body ng-app="fba" ng-controller="mainController" class="{{os}} index">
<div id="mainmenu">
<div class="titlebar" ng-if="titleBar">Firebase Admin</div>
<div class="icons">
<div class="icon" ng-click="listShown = true;">
<img class="logo" src="img/list.svg">
<span>▼</span>
</div>
<div class="icon" id="create" ng-click="create()" title="Create Connection">
<img class="add" src="img/add.svg">
</div>
<div class="icon" ng-click="menuHidden = !menuHidden" ng-class="{'open': menuHidden}" title="Toggle Sidebar">
<img class="toggle" src="img/sidebar.svg">
</div>
<div class="mode-icons">
<div class="icon" ng-class="mode == 'explorer' ? 'active' : ''" ng-click="changeMode('explorer')" title="Object Explorer">
Explorer
</div>
<div class="icon" ng-class="mode == 'query' ? 'active' : ''" ng-click="changeMode('query')" title="Query">
Query
</div>
</div>
<div class="icon pull-right" ng-click="goConsole()" title="Firebase Console">
<img class="console" src="img/console.svg">
</div>
</div>
<div class="connection-list" ng-show="listShown" ng-click="listShown = false;">
<ul>
<li ng-repeat="con in config.connections" ng-click="connect(con, $index)" ng-class="{'last': $last}">
<div class="name">{{con.serviceAccount.projectId}}</div>
<div class="close" ng-click="delete(con)" title="Delete Connection"></div>
</li>
<li ng-click="create()" class="create-item"><div class="name">Create Connection</div></li>
</ul>
</div>
</div>
<div id="adminmenumain" resizable r-directions="['right']" ng-class="{'hidden': menuHidden}">
<aside id="admin-menu" class="hidden-print">
<div class="menu-filter" ng-if="collections.length">
<input type="search" ng-model="m.searchMenu" placeholder="Filter Documents">
</div>
<ul class="admin-menu-main">
<li class="menu-item" ng-repeat="collection in collections | filter:m.searchMenu track by $index" ng-include="'templates/menuTree.html'" ng-class="[collection.open ? 'open': 'closed', {'active': activeUrl == collection.url, 'leaf': collection.leaf}]"></li>
</ul>
</aside>
<div class="menu-overlay" ng-show="menuOverlay"><div class="loader"></div></div>
</div>
<div class="admin-content">
<main id="main" ng-view></main>
</div>
<div id="notice" ng-show="showNotice" ng-include="'templates/notice.html'"></div>
</body>
<script type="text/javascript" src="js/angular.min.js"></script>
<script type="text/javascript" src="js/angular-route.min.js"></script>
<script type="text/javascript" src="js/angular-resizable.min.js"></script>
<script type="text/javascript" src="js/codemirror/codemirror.js"></script>
<script type="text/javascript" src="js/codemirror/foldcode.js"></script>
<script type="text/javascript" src="js/codemirror/foldgutter.js"></script>
<script type="text/javascript" src="js/codemirror/brace-fold.js"></script>
<script type="text/javascript" src="js/codemirror/javascript.js"></script>
<script type="text/javascript" src="js/codemirror/searchcursor.js"></script>
<script type="text/javascript" src="js/codemirror/matchbrackets.js"></script>
<script type="text/javascript" src="js/codemirror/ui-codemirror.js"></script>
<script type="text/javascript" src="js/app.js"></script>
<script type="text/javascript" src="js/routes.js"></script>
<script>
// You can also require other files to run in this process
require('./renderer.js')
</script>
</html>
================================================
FILE: js/app.js
================================================
var fba = angular.module('fba', ['ngRoute', 'angularResizable', 'ui.codemirror']).run(function ($http, dataFactory, $rootScope) {
$rootScope.showNotice = false
$rootScope.userPath = electron.app.getPath('userData')
const fs = require('graceful-fs')
$rootScope.rootError = false
$rootScope.online = navigator.onLine
if (!$rootScope.online) {
$rootScope.rootError = true
}
$rootScope.titleBar = true
try {
var config = fs.readFileSync($rootScope.userPath + '/fba-config.json', 'utf8')
$rootScope.config = JSON.parse(config)
} catch (err) {
$rootScope.config = false
}
if (!$rootScope.config || $rootScope.config.connections.length === 0) {
ipc.send('open-create-window')
}
try {
var settings = fs.readFileSync($rootScope.userPath + '/fba-settings.json', 'utf8')
$rootScope.settings = JSON.parse(settings)
} catch (err) {
$rootScope.settings = require('./js/default-settings')
}
$rootScope.removeTitleBar = () => {
$rootScope.titleBar = false
document.documentElement.style.setProperty('--chrome-height', '38px')
}
if (process.platform !== 'darwin') {
$rootScope.removeTitleBar()
}
if ($rootScope.settings.theme === 'dark') {
document.documentElement.style.setProperty('--color-main', '#fff')
document.documentElement.style.setProperty('--color-sec', '#ccc')
document.documentElement.style.setProperty('--color-sec-bg', '#3c474c')
document.documentElement.style.setProperty('--bg-button-top', '#556167')
document.documentElement.style.setProperty('--bg-button-bottom', '#3c474c')
document.documentElement.style.setProperty('--color-border-button', '#3c474c #242d31 #242d31')
document.documentElement.style.setProperty('--bg-chrome-top', '#556167')
document.documentElement.style.setProperty('--bg-chrome-bottom', '#3c474c')
document.documentElement.style.setProperty('--color-border-chrome', '#3c474c #242d31 #242d31')
document.documentElement.style.setProperty('--bg-button-light-top', '#556167')
document.documentElement.style.setProperty('--bg-button-light-bottom', '#3c474c')
document.documentElement.style.setProperty('--color-border-button-light', '#3c474c #242d31 #242d31')
document.documentElement.style.setProperty('--bg-menu', '#3c474c')
}
if ($rootScope.settings.fonts !== 'system') {
document.documentElement.style.setProperty('--font-main', $rootScope.settings.fonts)
}
})
.controller('mainController', function (dataFactory, dataBin, $rootScope, $scope, $timeout) {
$scope.apps = []
$scope.os = process.platform
$scope.result = 'No Data'
$scope.results = ['No Data']
$scope.collections = []
$scope.query = ''
$scope.activeUrl = ''
$scope.listShown = false
$scope.m = {'searchMenu': ''}
$scope.menuOverlay = navigator.onLine
$scope.menuHidden = !navigator.onLine
$scope.copiedNow = false
$scope.view = {}
$scope.view.tree = true
$scope.mode = 'explorer'
$scope.collection = {url: ''}
$scope.codeResult = 'No Data'
$scope.query = ''
$scope.mode = 'explorer'
if (process.env.mode && process.env.mode === 'dev') {
console.oldLog = console.log
}
console.log = (...value) => {
if (console.oldLog) {
console.oldLog(value)
}
if (Array.isArray($scope.$log)) {
$scope.$log = $scope.$log.concat(value)
} else {
$scope.$log = value
}
}
$timeout(() => {
$scope.menuHidden = $scope.collections.length <= 0
}, 10000)
$scope.changeQueryBoxHeight = (height) => {
document.documentElement.style.setProperty('--height-query-box', `${height}px`)
}
$scope.$on("angular-resizable.resizing", function (event, args) {
if (args.id === 'query-box') {
let minHeight = 48
let maxHeight = document.getElementById('query-box').parentElement.offsetHeight * .8
if (args.height > maxHeight) {
args.height = maxHeight
}
if (args.height < minHeight) {
args.height = minHeight
}
$scope.changeQueryBoxHeight(args.height)
}
})
$scope.setJsonTheme = (cm, theme) => {
let cssId = `theme-${theme}`
if (!document.getElementById(cssId)) {
var head = document.getElementsByTagName('head')[0]
var link = document.createElement('link')
link.id = cssId
link.rel = 'stylesheet'
link.type = 'text/css'
link.href = `css/codemirror/${theme}.css`
head.appendChild(link)
}
cm.setOption('theme', theme)
}
$scope.codeViewLoaded = (cm) => {
$scope.codeView = cm
if ($rootScope.settings.theme === 'dark' && $rootScope.settings.jsonTheme === 'default') {
$scope.setJsonTheme(cm, 'monokai')
} else if ($rootScope.settings.jsonTheme === 'custom') {
$scope.setJsonTheme(cm, $rootScope.settings.customTheme)
}
}
$scope.queryViewLoaded = (cm) => {
$scope.queryView = cm
if ($rootScope.settings.theme === 'dark') {
$scope.setJsonTheme(cm, 'monokai')
}
}
$scope.codeOptions = {
lineWrapping : true,
lineNumbers: true,
onLoad: $scope.codeViewLoaded,
readOnly: 'nocursor',
mode: 'application/json',
extraKeys: {"Ctrl-Q": function(cm){ cm.foldCode(cm.getCursor()); }},
foldGutter: true,
gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"]
}
$scope.codeQueryOptions = {
lineWrapping : true,
lineNumbers: false,
onLoad: $scope.queryViewLoaded,
mode: 'javascript',
matchBrackets: true,
extraKeys: {"Ctrl-Q": function(cm){ cm.foldCode(cm.getCursor()); }}
}
$scope.rightClick = () => {
ipc.send('show-context-menu', {copy: $scope.codeView.getSelection()})
}
$scope.connect = (connection, openCon) => {
$rootScope.rootError = !navigator.onLine
try {
$scope.menuOverlay = true
let keySplits = connection.serviceAccount.privateKey.split('\\n')
connection.serviceAccount.privateKey = ''
keySplits.forEach(function (v, k) {
connection.serviceAccount.privateKey += (k === 0) ? v : '\n' + v
})
let id = connection.serviceAccount.projectId
if (typeof $scope.apps[id] === 'undefined') {
$scope.apps[id] = firebase.initializeApp(connection, id)
}
$scope.currentApp = $scope.apps[id]
$scope.update()
dataBin.setData('openCon', openCon)
} catch (err) {
$scope.menuOverlay = false
$scope.menuHidden = true
$rootScope.rootError = true
$scope.errorMessage = `Failed to connect ${connection.databaseURL}.`
}
}
$scope.update = () => {
$scope.dbRef = $scope.currentApp.database().ref('/')
$scope.baseURL = $scope.dbRef.root.toString()
$scope.dbRef.on('value', function (snapshot) {
let tempCols = []
snapshot.forEach(function (childSnapshot) {
tempCols.push({
name: childSnapshot.key,
url: childSnapshot.key,
leaf: !childSnapshot.hasChildren()
})
})
$timeout(() => {
$scope.collections = tempCols
$scope.menuOverlay = false
$scope.menuHidden = false
}, 0)
$scope.changeQuery()
}, function (err) {
$scope.result = 'The read failed: ' + err.code
})
}
if (navigator.onLine && $rootScope.config && $rootScope.config.connections.length > 0) {
let openCon = dataBin.getData('openCon')
if (openCon === null) {
openCon = 0
}
if ($rootScope.config.connections[openCon]) {
$scope.connect($rootScope.config.connections[openCon], openCon)
}
} else {
$scope.menuOverlay = false
$scope.menuHidden = true
$rootScope.rootError = true
$scope.errorMessage = 'No connection yet!'
}
$scope.create = () => ipc.send('open-create-window')
$scope.delete = (connection) => {
if (window.confirm('Do you really want to delete?')) {
let index = $rootScope.config.connections.indexOf(connection)
$rootScope.config.connections.splice(index, 1)
try {
writeFile.sync($rootScope.userPath + '/fba-config.json', angular.toJson($rootScope.config, 4), {mode: parseInt('0600', 8)})
} catch (err) {
if (err.code === 'EACCES') {
err.message = err.message + '\nYou don\'t have access to this file.\n'
}
throw err
}
}
}
$scope.updateResult = (obj, url) => {
let tempCols = []
angular.forEach(obj, (val, key) => {
let tempObj = {
name: key,
url: url ? (url + '/' + key) : key
}
if (typeof val === 'object') {
tempObj.collections = $scope.updateResult(val, tempObj.url)
} else {
tempObj.value = val
tempObj.leaf = true
}
tempCols.push(tempObj)
})
return tempCols
}
$scope.get = function (collection) {
$scope.results = []
$scope.collection = {}
$scope.dbRef.child(collection.url).on('value', function (snapshot) {
$scope.result = snapshot.val()
$scope.results.push(snapshot.val())
$scope.codeResult = JSON.stringify($scope.result, null, 2)
$scope.collection.name = collection.name
$scope.collection.url = collection.url
if (typeof $scope.result === 'object') {
$scope.collection.collections = $scope.updateResult($scope.result, collection.url)
} else {
$scope.collection.value = $scope.result
$scope.collection.leaf = true
}
$scope.collection.open = true
$scope.changeQuery()
$scope.activeUrl = collection.url
}, function (err) {
$scope.result = 'The read failed: ' + err.code
})
}
$scope.open = (collection) => {
if (collection.open || collection.collections) {
collection.open = !collection.open
return
}
$scope.dbRef.child(collection.url).on('value', (snapshot) => {
let tempCols = []
snapshot.forEach(function (childSnapshot) {
tempCols.push({
name: childSnapshot.key,
url: collection.url + '/' + childSnapshot.key,
leaf: !childSnapshot.hasChildren()
})
})
$timeout(() => {
collection.open = true
collection.collections = tempCols
}, 0)
}, (err) => {
$scope.result = 'The read failed: ' + err.code
})
}
$scope.run = function () {
let query = $scope.queryView.getValue()
$scope.results = []
if($scope.mode === 'explorer') {
$scope.collection = {}
try {
if(!query.endsWith('/')) {
query = query + '/'
}
query = query.substring($scope.baseURL.length, query.length - 1)
$scope.currentApp.database().ref(query).on('value', function (snapshot) {
$scope.result = snapshot.val()
$scope.results.push(snapshot.val())
if(!snapshot.key) {
$scope.collection.name = $scope.currentApp.name
$scope.collection.url = ''
} else {
$scope.collection.name = snapshot.key
$scope.collection.url = query
}
if (typeof $scope.result === 'object') {
$scope.collection.collections = $scope.updateResult($scope.result, $scope.collection.url)
} else {
$scope.collection.value = $scope.result
$scope.collection.leaf = true
}
$scope.collection.open = true
$scope.codeResult = JSON.stringify($scope.result, null, 2)
$scope.activeUrl = $scope.collection.url
}, function (err) {
$scope.result = 'The read failed: ' + err.code
})
} catch (err) {
$scope.result = 'Ooops.. There is an error":\n"' + err.message
}
} else if($scope.mode === 'query') {
let regex = 'firebase().'
query = query.replace(regex, '$scope.currentApp.')
try {
eval(query)
if (typeof $scope.$log !== 'undefined' && $scope.$log.length > 0) {
$scope.$log.forEach((res) => {
$scope.results.push(res)
})
}
$scope.$log = null
} catch (err) {
$scope.result = 'Ooops.. There is an error":\n"' + err.message
}
}
}
$scope.copy = () => {
let copyText = JSON.stringify($scope.result, null, '\t')
clipboard.writeText(copyText)
$scope.copiedNow = true
$timeout(() => {
$scope.copiedNow = false
}, 2000)
}
$scope.goConsole = () => electron.shell.openExternal($scope.currentApp.options.databaseURL)
$scope.refreshCodeView = () => {
$timeout(() => {
$scope.codeView.refresh()
}, 0)
}
$scope.refreshQueryView = () => {
$timeout(() => {
$scope.queryView.refresh()
}, 0)
}
$scope.changeView = (view) => {
angular.forEach($sc
gitextract_obo_is7i/
├── .gitignore
├── .travis.yml
├── about.html
├── build/
│ └── icon.icns
├── build.js
├── create.html
├── css/
│ ├── angular-resizable.css
│ ├── codemirror/
│ │ ├── 3024-day.css
│ │ ├── 3024-night.css
│ │ ├── abcdef.css
│ │ ├── ambiance-mobile.css
│ │ ├── ambiance.css
│ │ ├── base16-dark.css
│ │ ├── base16-light.css
│ │ ├── bespin.css
│ │ ├── blackboard.css
│ │ ├── cobalt.css
│ │ ├── codemirror.css
│ │ ├── colorforth.css
│ │ ├── dracula.css
│ │ ├── eclipse.css
│ │ ├── elegant.css
│ │ ├── erlang-dark.css
│ │ ├── hopscotch.css
│ │ ├── icecoder.css
│ │ ├── isotope.css
│ │ ├── lesser-dark.css
│ │ ├── liquibyte.css
│ │ ├── material.css
│ │ ├── mbo.css
│ │ ├── mdn-like.css
│ │ ├── midnight.css
│ │ ├── monokai.css
│ │ ├── neat.css
│ │ ├── neo.css
│ │ ├── night.css
│ │ ├── panda-syntax.css
│ │ ├── paraiso-dark.css
│ │ ├── paraiso-light.css
│ │ ├── pastel-on-dark.css
│ │ ├── railscasts.css
│ │ ├── rubyblue.css
│ │ ├── seti.css
│ │ ├── solarized.css
│ │ ├── the-matrix.css
│ │ ├── tomorrow-night-bright.css
│ │ ├── tomorrow-night-eighties.css
│ │ ├── ttcn.css
│ │ ├── twilight.css
│ │ ├── vibrant-ink.css
│ │ ├── xq-dark.css
│ │ ├── xq-light.css
│ │ ├── yeti.css
│ │ └── zenburn.css
│ ├── default.css
│ ├── json-formatter.css
│ └── style.css
├── index.html
├── js/
│ ├── app.js
│ ├── codemirror/
│ │ ├── brace-fold.js
│ │ ├── codemirror.js
│ │ ├── foldcode.js
│ │ ├── foldgutter.js
│ │ ├── javascript.js
│ │ ├── matchbrackets.js
│ │ ├── searchcursor.js
│ │ └── ui-codemirror.js
│ ├── connection.js
│ ├── context-menu.js
│ ├── default-settings.json
│ ├── json-formatter.js
│ ├── menu.js
│ ├── routes.js
│ ├── settings.js
│ └── update.js
├── license.md
├── main.js
├── package.json
├── readme.md
├── renderer.js
├── settings.html
├── squirrel.js
├── templates/
│ ├── jsonTree.html
│ ├── main.html
│ ├── menuTree.html
│ └── notice.html
├── tests/
│ └── index.js
└── windows/
└── update.html
SYMBOL INDEX (464 symbols across 12 files)
FILE: js/codemirror/brace-fold.js
function findOpening (line 18) | function findOpening(openCh) {
function hasImport (line 63) | function hasImport(line) {
function hasInclude (line 87) | function hasInclude(line) {
FILE: js/codemirror/codemirror.js
function CodeMirror (line 62) | function CodeMirror(place, options) {
function Display (line 137) | function Display(place, doc, input) {
function loadMode (line 239) | function loadMode(cm) {
function resetModeState (line 244) | function resetModeState(cm) {
function wrappingChanged (line 255) | function wrappingChanged(cm) {
function estimateHeight (line 273) | function estimateHeight(cm) {
function estimateLineHeights (line 291) | function estimateLineHeights(cm) {
function themeChanged (line 299) | function themeChanged(cm) {
function guttersChanged (line 305) | function guttersChanged(cm) {
function updateGutters (line 313) | function updateGutters(cm) {
function updateGutterSpace (line 328) | function updateGutterSpace(cm) {
function lineLength (line 336) | function lineLength(line) {
function findMaxLine (line 355) | function findMaxLine(cm) {
function setGuttersForLineNumbers (line 371) | function setGuttersForLineNumbers(options) {
function measureForScrollbars (line 385) | function measureForScrollbars(cm) {
function NativeScrollbars (line 401) | function NativeScrollbars(place, scroll, cm) {
function maybeDisable (line 473) | function maybeDisable() {
function NullScrollbars (line 494) | function NullScrollbars() {}
function initScrollbars (line 505) | function initScrollbars(cm) {
function updateScrollbars (line 527) | function updateScrollbars(cm, measure) {
function updateScrollbarsInner (line 541) | function updateScrollbarsInner(cm, measure) {
function visibleLines (line 564) | function visibleLines(display, doc, viewport) {
function alignHorizontally (line 589) | function alignHorizontally(cm) {
function maybeUpdateLineNumberWidth (line 612) | function maybeUpdateLineNumberWidth(cm) {
function lineNumberFor (line 630) | function lineNumberFor(options, i) {
function compensateForHScroll (line 637) | function compensateForHScroll(display) {
function DisplayUpdate (line 643) | function DisplayUpdate(cm, viewport, force) {
function maybeClipScrollbars (line 667) | function maybeClipScrollbars(cm) {
function updateDisplayIfNeeded (line 681) | function updateDisplayIfNeeded(cm, update) {
function postUpdateDisplay (line 753) | function postUpdateDisplay(cm, update) {
function updateDisplaySimple (line 782) | function updateDisplaySimple(cm, viewport) {
function setDocumentHeight (line 795) | function setDocumentHeight(cm, measure) {
function updateHeightsInViewport (line 803) | function updateHeightsInViewport(cm) {
function updateWidgetHeight (line 830) | function updateWidgetHeight(line) {
function getDimensions (line 837) | function getDimensions(cm) {
function patchDisplay (line 855) | function patchDisplay(cm, updateNumbersFrom, dims) {
function updateLineForChanges (line 900) | function updateLineForChanges(cm, lineView, lineN, dims) {
function ensureLineWrapped (line 913) | function ensureLineWrapped(lineView) {
function updateLineBackground (line 924) | function updateLineBackground(lineView) {
function getLineContent (line 938) | function getLineContent(cm, lineView) {
function updateLineText (line 951) | function updateLineText(cm, lineView) {
function updateLineClasses (line 966) | function updateLineClasses(lineView) {
function updateLineGutter (line 976) | function updateLineGutter(cm, lineView, lineN, dims) {
function updateLineWidgets (line 1016) | function updateLineWidgets(cm, lineView, dims) {
function buildLineElement (line 1027) | function buildLineElement(cm, lineView, lineN, dims) {
function insertLineWidgets (line 1041) | function insertLineWidgets(cm, lineView, dims) {
function insertLineWidgetsFor (line 1047) | function insertLineWidgetsFor(cm, line, lineView, dims, allowAbove) {
function positionLineWidget (line 1063) | function positionLineWidget(widget, node, lineView, dims) {
function copyPos (line 1093) | function copyPos(x) {return Pos(x.line, x.ch);}
function maxPos (line 1094) | function maxPos(a, b) { return cmp(a, b) < 0 ? b : a; }
function minPos (line 1095) | function minPos(a, b) { return cmp(a, b) < 0 ? a : b; }
function ensureFocus (line 1099) | function ensureFocus(cm) {
function applyTextInput (line 1108) | function applyTextInput(cm, inserted, deleted, sel, origin) {
function handlePaste (line 1155) | function handlePaste(e, cm) {
function triggerElectric (line 1165) | function triggerElectric(cm, inserted) {
function copyableRanges (line 1189) | function copyableRanges(cm) {
function disableBrowserMagic (line 1200) | function disableBrowserMagic(field, spellcheck) {
function TextareaInput (line 1208) | function TextareaInput(cm) {
function hiddenTextarea (line 1227) | function hiddenTextarea() {
function prepareCopyCut (line 1268) | function prepareCopyCut(e) {
function p (line 1409) | function p() {
function prepareSelectAllHack (line 1513) | function prepareSelectAllHack() {
function rehide (line 1526) | function rehide() {
function ContentEditableInput (line 1570) | function ContentEditableInput(cm) {
function onCopyCut (line 1631) | function onCopyCut(e) {
function poll (line 1768) | function poll() {
function posToDOM (line 1888) | function posToDOM(cm, pos) {
function badPos (line 1904) | function badPos(pos, bad) { if (bad) pos.bad = true; return pos; }
function domToPos (line 1906) | function domToPos(cm, node, offset) {
function locateNodeInLineView (line 1925) | function locateNodeInLineView(lineView, node, offset) {
function domTextBetween (line 1980) | function domTextBetween(cm, from, to, fromLine, toLine) {
function Selection (line 2030) | function Selection(ranges, primIndex) {
function Range (line 2067) | function Range(anchor, head) {
function normalizeSelection (line 2082) | function normalizeSelection(ranges, primIndex) {
function simpleSelection (line 2098) | function simpleSelection(anchor, head) {
function clipLine (line 2104) | function clipLine(doc, n) {return Math.max(doc.first, Math.min(n, doc.fi...
function clipPos (line 2105) | function clipPos(doc, pos) {
function clipToLen (line 2111) | function clipToLen(pos, linelen) {
function isLine (line 2117) | function isLine(doc, l) {return l >= doc.first && l < doc.first + doc.si...
function clipPosArray (line 2118) | function clipPosArray(doc, array) {
function extendRange (line 2133) | function extendRange(doc, range, head, other) {
function extendSelection (line 2152) | function extendSelection(doc, head, other, options) {
function extendSelections (line 2158) | function extendSelections(doc, heads, options) {
function replaceOneSelection (line 2166) | function replaceOneSelection(doc, i, range, options) {
function setSimpleSelection (line 2173) | function setSimpleSelection(doc, anchor, head, options) {
function filterSelectionChange (line 2179) | function filterSelectionChange(doc, sel, options) {
function setSelectionReplaceHistory (line 2196) | function setSelectionReplaceHistory(doc, sel, options) {
function setSelection (line 2207) | function setSelection(doc, sel, options) {
function setSelectionNoUndo (line 2212) | function setSelectionNoUndo(doc, sel, options) {
function setSelectionInner (line 2224) | function setSelectionInner(doc, sel) {
function reCheckSelection (line 2238) | function reCheckSelection(doc) {
function skipAtomicInSelection (line 2244) | function skipAtomicInSelection(doc, sel, bias, mayClear) {
function skipAtomicInner (line 2259) | function skipAtomicInner(doc, pos, oldPos, dir, mayClear) {
function skipAtomic (line 2292) | function skipAtomic(doc, pos, oldPos, bias, mayClear) {
function movePos (line 2305) | function movePos(doc, pos, dir, line) {
function updateSelection (line 2319) | function updateSelection(cm) {
function prepareSelection (line 2323) | function prepareSelection(cm, primary) {
function drawSelectionCursor (line 2342) | function drawSelectionCursor(cm, head, output) {
function drawSelectionRange (line 2361) | function drawSelectionRange(cm, range, output) {
function restartBlink (line 2436) | function restartBlink(cm) {
function startWorker (line 2452) | function startWorker(cm, time) {
function highlightWorker (line 2457) | function highlightWorker(cm) {
function findStartLine (line 2500) | function findStartLine(cm, n, precise) {
function getStateBefore (line 2516) | function getStateBefore(cm, n, precise) {
function paddingTop (line 2534) | function paddingTop(display) {return display.lineSpace.offsetTop;}
function paddingVert (line 2535) | function paddingVert(display) {return display.mover.offsetHeight - displ...
function paddingH (line 2536) | function paddingH(display) {
function scrollGap (line 2545) | function scrollGap(cm) { return scrollerGap - cm.display.nativeBarWidth; }
function displayWidth (line 2546) | function displayWidth(cm) {
function displayHeight (line 2549) | function displayHeight(cm) {
function ensureLineHeights (line 2557) | function ensureLineHeights(cm, lineView, rect) {
function mapFromLineView (line 2578) | function mapFromLineView(lineView, line, lineN) {
function updateExternalMeasurement (line 2591) | function updateExternalMeasurement(cm, line) {
function measureChar (line 2604) | function measureChar(cm, line, ch, bias) {
function findViewForLine (line 2609) | function findViewForLine(cm, lineN) {
function prepareMeasureForLine (line 2622) | function prepareMeasureForLine(cm, line) {
function measureCharPrepared (line 2644) | function measureCharPrepared(cm, prepared, ch, bias, varHeight) {
function nodeAndOffsetInLineMap (line 2666) | function nodeAndOffsetInLineMap(map, ch, bias) {
function getUsefulRect (line 2703) | function getUsefulRect(rects, bias) {
function measureCharInner (line 2713) | function measureCharInner(cm, prepared, ch, bias) {
function maybeUpdateRectForZooming (line 2765) | function maybeUpdateRectForZooming(measure, rect) {
function clearLineMeasurementCacheFor (line 2775) | function clearLineMeasurementCacheFor(lineView) {
function clearLineMeasurementCache (line 2784) | function clearLineMeasurementCache(cm) {
function clearCaches (line 2791) | function clearCaches(cm) {
function pageScrollX (line 2798) | function pageScrollX() { return window.pageXOffset || (document.document...
function pageScrollY (line 2799) | function pageScrollY() { return window.pageYOffset || (document.document...
function intoCoordSystem (line 2805) | function intoCoordSystem(cm, lineObj, rect, context) {
function fromCoordSystem (line 2827) | function fromCoordSystem(cm, coords, context) {
function charCoords (line 2844) | function charCoords(cm, pos, context, lineObj, bias) {
function cursorCoords (line 2852) | function cursorCoords(cm, pos, context, lineObj, preparedMeasure, varHei...
function estimateCoords (line 2884) | function estimateCoords(cm, pos) {
function PosWithInfo (line 2898) | function PosWithInfo(line, ch, outside, xRel) {
function coordsChar (line 2907) | function coordsChar(cm, x, y) {
function coordsCharInner (line 2928) | function coordsCharInner(cm, lineObj, lineNo, x, y) {
function textHeight (line 2983) | function textHeight(display) {
function charWidth (line 3003) | function charWidth(display) {
function startOperation (line 3025) | function startOperation(cm) {
function fireCallbacksForOps (line 3053) | function fireCallbacksForOps(group) {
function endOperation (line 3070) | function endOperation(cm) {
function endOperations (line 3085) | function endOperations(group) {
function endOperation_R1 (line 3099) | function endOperation_R1(op) {
function endOperation_W1 (line 3112) | function endOperation_W1(op) {
function endOperation_R2 (line 3116) | function endOperation_R2(op) {
function endOperation_W2 (line 3137) | function endOperation_W2(op) {
function endOperation_finish (line 3162) | function endOperation_finish(op) {
function runInOp (line 3209) | function runInOp(cm, f) {
function operation (line 3216) | function operation(cm, f) {
function methodOp (line 3226) | function methodOp(f) {
function docMethodOp (line 3234) | function docMethodOp(f) {
function LineView (line 3249) | function LineView(doc, line, lineN) {
function buildViewArray (line 3261) | function buildViewArray(cm, from, to) {
function regChange (line 3277) | function regChange(cm, from, to, lendiff) {
function regLineChange (line 3342) | function regLineChange(cm, line, type) {
function resetView (line 3356) | function resetView(cm) {
function findViewIndex (line 3364) | function findViewIndex(cm, n) {
function viewCuttingPoint (line 3375) | function viewCuttingPoint(cm, oldN, newN, dir) {
function adjustView (line 3401) | function adjustView(cm, from, to) {
function countDirtyView (line 3422) | function countDirtyView(cm) {
function registerEventHandlers (line 3434) | function registerEventHandlers(cm) {
function dragDropChanged (line 3540) | function dragDropChanged(cm, value, old) {
function onResize (line 3554) | function onResize(cm) {
function eventInWidget (line 3567) | function eventInWidget(display, e) {
function posFromMouse (line 3580) | function posFromMouse(cm, e, liberal, forRect) {
function onMouseDown (line 3601) | function onMouseDown(e) {
function leftButtonDown (line 3643) | function leftButtonDown(cm, e, start) {
function leftButtonStartDrag (line 3670) | function leftButtonStartDrag(cm, e, start, modifier) {
function leftButtonSelect (line 3699) | function leftButtonSelect(cm, e, start, type, addNew) {
function gutterEvent (line 3845) | function gutterEvent(cm, e, type, prevent) {
function clickInGutter (line 3868) | function clickInGutter(cm, e) {
function onDrop (line 3876) | function onDrop(e) {
function onDragStart (line 3935) | function onDragStart(cm, e) {
function onDragOver (line 3958) | function onDragOver(cm, e) {
function clearDragCursor (line 3970) | function clearDragCursor(cm) {
function setScrollTop (line 3981) | function setScrollTop(cm, val) {
function setScrollLeft (line 3992) | function setScrollLeft(cm, val, isScroller) {
function onScrollWheel (line 4036) | function onScrollWheel(cm, e) {
function doHandleBinding (line 4114) | function doHandleBinding(cm, bound, dropShift) {
function lookupKeyForEditor (line 4134) | function lookupKeyForEditor(cm, name, handle) {
function dispatchKey (line 4144) | function dispatchKey(cm, name, e, handle) {
function handleKeyBinding (line 4176) | function handleKeyBinding(cm, e) {
function handleCharBinding (line 4195) | function handleCharBinding(cm, e, ch) {
function onKeyDown (line 4201) | function onKeyDown(e) {
function showCrossHair (line 4222) | function showCrossHair(cm) {
function onKeyUp (line 4237) | function onKeyUp(e) {
function onKeyPress (line 4242) | function onKeyPress(e) {
function delayBlurEvent (line 4255) | function delayBlurEvent(cm) {
function onFocus (line 4265) | function onFocus(cm) {
function onBlur (line 4284) | function onBlur(cm) {
function onContextMenu (line 4301) | function onContextMenu(cm, e) {
function contextMenuInGutter (line 4307) | function contextMenuInGutter(cm, e) {
function adjustForChange (line 4324) | function adjustForChange(pos, change) {
function computeSelAfterChange (line 4333) | function computeSelAfterChange(doc, change) {
function offsetPos (line 4343) | function offsetPos(pos, old, nw) {
function computeReplacedSel (line 4352) | function computeReplacedSel(doc, changes, hint) {
function filterChange (line 4372) | function filterChange(doc, change, update) {
function makeChange (line 4396) | function makeChange(doc, change, ignoreReadOnly) {
function makeChangeInner (line 4418) | function makeChangeInner(doc, change) {
function makeChangeFromHistory (line 4436) | function makeChangeFromHistory(doc, type, allowSelectionOnly) {
function shiftDoc (line 4502) | function shiftDoc(doc, distance) {
function makeChangeSingleDoc (line 4518) | function makeChangeSingleDoc(doc, change, selAfter, spans) {
function makeChangeSingleDocInEditor (line 4551) | function makeChangeSingleDocInEditor(cm, change, spans) {
function replaceRange (line 4610) | function replaceRange(doc, code, from, to, origin) {
function maybeScrollWindow (line 4621) | function maybeScrollWindow(cm, coords) {
function scrollPosIntoView (line 4641) | function scrollPosIntoView(cm, pos, end, margin) {
function scrollIntoView (line 4665) | function scrollIntoView(cm, x1, y1, x2, y2) {
function calculateScrollPos (line 4675) | function calculateScrollPos(cm, x1, y1, x2, y2) {
function addToScrollPos (line 4705) | function addToScrollPos(cm, left, top) {
function ensureCursorVisible (line 4715) | function ensureCursorVisible(cm) {
function resolveScrollToPos (line 4729) | function resolveScrollToPos(cm) {
function indentLine (line 4749) | function indentLine(cm, n, how, aggressive) {
function changeLine (line 4811) | function changeLine(doc, handle, changeType, op) {
function deleteNearSelection (line 4822) | function deleteNearSelection(cm, compute) {
function findPosH (line 4854) | function findPosH(doc, pos, dir, unit, visually) {
function findPosV (line 4906) | function findPosV(cm, pos, dir, unit) {
function interpret (line 5330) | function interpret(val) {
function option (line 5386) | function option(name, deflt, handle, notOnInit) {
function normalizeKeyName (line 5858) | function normalizeKeyName(name) {
function getKeyMap (line 5944) | function getKeyMap(val) {
function save (line 5965) | function save() {textarea.value = cm.getValue();}
function markText (line 6215) | function markText(doc, from, to, options, type) {
function markTextShared (line 6308) | function markTextShared(doc, from, to, options, type) {
function findSharedMarkers (line 6323) | function findSharedMarkers(doc) {
function copySharedMarkers (line 6328) | function copySharedMarkers(doc, markers) {
function detachSharedMarkers (line 6340) | function detachSharedMarkers(markers) {
function MarkedSpan (line 6356) | function MarkedSpan(marker, from, to) {
function getMarkedSpanFor (line 6362) | function getMarkedSpanFor(spans, marker) {
function removeMarkedSpan (line 6370) | function removeMarkedSpan(spans, span) {
function addMarkedSpan (line 6376) | function addMarkedSpan(line, span) {
function markedSpansBefore (line 6385) | function markedSpansBefore(old, startCh, isInsert) {
function markedSpansAfter (line 6396) | function markedSpansAfter(old, endCh, isInsert) {
function stretchSpansOverChange (line 6415) | function stretchSpansOverChange(doc, change) {
function clearEmptySpans (line 6477) | function clearEmptySpans(spans) {
function mergeOldSpans (line 6491) | function mergeOldSpans(doc, change) {
function removeReadOnlyRanges (line 6514) | function removeReadOnlyRanges(doc, from, to) {
function detachMarkedSpans (line 6543) | function detachMarkedSpans(line) {
function attachMarkedSpans (line 6550) | function attachMarkedSpans(line, spans) {
function extraLeft (line 6559) | function extraLeft(marker) { return marker.inclusiveLeft ? -1 : 0; }
function extraRight (line 6560) | function extraRight(marker) { return marker.inclusiveRight ? 1 : 0; }
function compareCollapsedMarkers (line 6565) | function compareCollapsedMarkers(a, b) {
function collapsedSpanAtSide (line 6578) | function collapsedSpanAtSide(line, start) {
function collapsedSpanAtStart (line 6588) | function collapsedSpanAtStart(line) { return collapsedSpanAtSide(line, t...
function collapsedSpanAtEnd (line 6589) | function collapsedSpanAtEnd(line) { return collapsedSpanAtSide(line, fal...
function conflictingCollapsedRange (line 6594) | function conflictingCollapsedRange(doc, lineNo, from, to, marker) {
function visualLine (line 6614) | function visualLine(line) {
function visualLineContinued (line 6623) | function visualLineContinued(line) {
function visualLineNo (line 6634) | function visualLineNo(doc, lineN) {
function visualLineEndNo (line 6641) | function visualLineEndNo(doc, lineN) {
function lineIsHidden (line 6653) | function lineIsHidden(doc, line) {
function lineIsHiddenInner (line 6664) | function lineIsHiddenInner(doc, line, span) {
function adjustScrollWhenAboveVisible (line 6692) | function adjustScrollWhenAboveVisible(cm, line, diff) {
function widgetHeight (line 6721) | function widgetHeight(widget) {
function addLineWidget (line 6736) | function addLineWidget(doc, handle, node, options) {
function updateLine (line 6771) | function updateLine(line, text, markedSpans, estimateHeight) {
function cleanUpLine (line 6783) | function cleanUpLine(line) {
function extractLineClasses (line 6788) | function extractLineClasses(type, output) {
function callBlankLine (line 6802) | function callBlankLine(mode, state) {
function readToken (line 6809) | function readToken(mode, stream, state, inner) {
function takeToken (line 6819) | function takeToken(cm, pos, precise, asArray) {
function runMode (line 6841) | function runMode(cm, text, mode, state, f, lineClasses, forceToEnd) {
function highlightLine (line 6882) | function highlightLine(cm, line, state, forceToEnd) {
function getLineStyles (line 6920) | function getLineStyles(cm, line, updateFrontier) {
function processLine (line 6936) | function processLine(cm, text, state, startAt) {
function interpretTokenStyle (line 6951) | function interpretTokenStyle(style, options) {
function buildLineContent (line 6963) | function buildLineContent(cm, lineView) {
function defaultSpecialCharPlaceholder (line 7021) | function defaultSpecialCharPlaceholder(ch) {
function buildToken (line 7030) | function buildToken(builder, text, style, startStyle, endStyle, title, c...
function splitSpaces (line 7089) | function splitSpaces(text, trailingBefore) {
function buildTokenBadBidi (line 7104) | function buildTokenBadBidi(inner, order) {
function buildCollapsedSpan (line 7123) | function buildCollapsedSpan(builder, size, marker, ignoreWidget) {
function insertLineContent (line 7141) | function insertLineContent(line, builder, styles) {
function isWholeLineUpdate (line 7214) | function isWholeLineUpdate(doc, change) {
function updateDoc (line 7220) | function updateDoc(doc, change, markedSpans, estimateHeight) {
function LeafChunk (line 7283) | function LeafChunk(lines) {
function BranchChunk (line 7323) | function BranchChunk(children) {
function linkedDocs (line 7796) | function linkedDocs(doc, f, sharedHistOnly) {
function attachDoc (line 7811) | function attachDoc(cm, doc) {
function getLine (line 7825) | function getLine(doc, n) {
function getBetween (line 7840) | function getBetween(doc, start, end) {
function getLines (line 7852) | function getLines(doc, from, to) {
function updateLineHeight (line 7860) | function updateLineHeight(line, height) {
function lineNo (line 7867) | function lineNo(line) {
function lineAtHeight (line 7881) | function lineAtHeight(chunk, h) {
function heightAtLine (line 7902) | function heightAtLine(lineObj) {
function getOrder (line 7924) | function getOrder(line) {
function History (line 7932) | function History(startGen) {
function historyChangeFromChange (line 7949) | function historyChangeFromChange(doc, change) {
function clearSelectionEvents (line 7958) | function clearSelectionEvents(array) {
function lastChangeEvent (line 7968) | function lastChangeEvent(hist, force) {
function addChangeToHistory (line 7983) | function addChangeToHistory(doc, change, selAfter, opId) {
function selectionEventCanBeMerged (line 8025) | function selectionEventCanBeMerged(doc, origin, prev, sel) {
function addSelectionToHistory (line 8038) | function addSelectionToHistory(doc, sel, opId, options) {
function pushSelectionToHistory (line 8060) | function pushSelectionToHistory(sel, dest) {
function attachLocalSpans (line 8067) | function attachLocalSpans(doc, change, from, to) {
function removeClearedSpans (line 8078) | function removeClearedSpans(spans) {
function getOldSpans (line 8088) | function getOldSpans(doc, change) {
function copyHistoryArray (line 8098) | function copyHistoryArray(events, newGroup, instantiateSel) {
function rebaseHistSelSingle (line 8123) | function rebaseHistSelSingle(pos, from, to, diff) {
function rebaseHistArray (line 8139) | function rebaseHistArray(array, from, to, diff) {
function rebaseHist (line 8167) | function rebaseHist(hist, change) {
function e_defaultPrevented (line 8186) | function e_defaultPrevented(e) {
function e_target (line 8191) | function e_target(e) {return e.target || e.srcElement;}
function e_button (line 8192) | function e_button(e) {
function getHandlers (line 8221) | function getHandlers(emitter, type, copy) {
function signalLater (line 8255) | function signalLater(emitter, type /*, values...*/) {
function fireOrphanDelayed (line 8272) | function fireOrphanDelayed() {
function signalDOMEvent (line 8281) | function signalDOMEvent(cm, e, override) {
function signalCursorActivity (line 8288) | function signalCursorActivity(cm) {
function hasHandler (line 8296) | function hasHandler(emitter, type) {
function eventMixin (line 8302) | function eventMixin(ctor) {
function Delayed (line 8319) | function Delayed() {this.id = null;}
function spaceStr (line 8359) | function spaceStr(n) {
function lst (line 8365) | function lst(arr) { return arr[arr.length-1]; }
function indexOf (line 8373) | function indexOf(array, elt) {
function map (line 8378) | function map(array, f) {
function insertSorted (line 8384) | function insertSorted(array, value, score) {
function nothing (line 8390) | function nothing() {}
function createObj (line 8392) | function createObj(base, props) {
function copyObj (line 8404) | function copyObj(obj, target, overwrite) {
function bind (line 8412) | function bind(f) {
function isWordChar (line 8422) | function isWordChar(ch, helper) {
function isEmpty (line 8428) | function isEmpty(obj) {
function isExtendingChar (line 8439) | function isExtendingChar(ch) { return ch.charCodeAt(0) >= 768 && extendi...
function elt (line 8443) | function elt(tag, content, className, style) {
function removeChildren (line 8469) | function removeChildren(e) {
function removeChildrenAndAdd (line 8475) | function removeChildrenAndAdd(parent, e) {
function activeElt (line 8490) | function activeElt() {
function classTest (line 8503) | function classTest(cls) { return new RegExp("(^|\\s)" + cls + "(?:$|\\s)...
function joinClasses (line 8516) | function joinClasses(a, b) {
function forEachCodeMirror (line 8529) | function forEachCodeMirror(f) {
function ensureGlobalHandlers (line 8539) | function ensureGlobalHandlers() {
function registerGlobalHandlers (line 8544) | function registerGlobalHandlers() {
function zeroWidthElement (line 8571) | function zeroWidthElement(measure) {
function hasBadBidiRects (line 8586) | function hasBadBidiRects(measure) {
function hasBadZoomedRects (line 8634) | function hasBadZoomedRects(measure) {
function iterateBidiSections (line 8665) | function iterateBidiSections(order, from, to, f) {
function bidiLeft (line 8678) | function bidiLeft(part) { return part.level % 2 ? part.to : part.from; }
function bidiRight (line 8679) | function bidiRight(part) { return part.level % 2 ? part.from : part.to; }
function lineLeft (line 8681) | function lineLeft(line) { var order = getOrder(line); return order ? bid...
function lineRight (line 8682) | function lineRight(line) {
function lineStart (line 8688) | function lineStart(cm, lineN) {
function lineEnd (line 8696) | function lineEnd(cm, lineN) {
function lineStartSmart (line 8706) | function lineStartSmart(cm, pos) {
function compareBidiLevel (line 8718) | function compareBidiLevel(order, a, b) {
function getBidiPartAt (line 8725) | function getBidiPartAt(order, pos) {
function moveInLine (line 8745) | function moveInLine(line, pos, dir, byUnit) {
function moveVisually (line 8757) | function moveVisually(line, start, dir, byUnit) {
function moveLogically (line 8780) | function moveLogically(line, start, dir, byUnit) {
function charType (line 8814) | function charType(code) {
function BidiSpan (line 8829) | function BidiSpan(level, from, to) {
FILE: js/codemirror/foldcode.js
function doFold (line 14) | function doFold(cm, pos, options, force) {
function makeWidget (line 61) | function makeWidget(cm, options) {
function getOption (line 138) | function getOption(cm, options, name) {
FILE: js/codemirror/foldgutter.js
function State (line 39) | function State(options) {
function parseOptions (line 44) | function parseOptions(opts) {
function isFolded (line 52) | function isFolded(cm, line) {
function marker (line 58) | function marker(spec) {
function updateFoldInfo (line 68) | function updateFoldInfo(cm, from, to) {
function updateInViewport (line 87) | function updateInViewport(cm) {
function onGutterClick (line 96) | function onGutterClick(cm, line, gutter) {
function onChange (line 106) | function onChange(cm) {
function onViewportChange (line 115) | function onViewportChange(cm) {
function onFold (line 139) | function onFold(cm, from) {
FILE: js/codemirror/javascript.js
function expressionAllowed (line 14) | function expressionAllowed(stream, state, backUp) {
function kw (line 30) | function kw(type) {return {type: type, style: "keyword"};}
function readRegexp (line 82) | function readRegexp(stream) {
function ret (line 97) | function ret(tp, style, cont) {
function tokenBase (line 101) | function tokenBase(stream, state) {
function tokenString (line 158) | function tokenString(quote) {
function tokenComment (line 174) | function tokenComment(stream, state) {
function tokenQuasi (line 186) | function tokenQuasi(stream, state) {
function findFatArrow (line 206) | function findFatArrow(stream, state) {
function JSLexical (line 236) | function JSLexical(indented, column, type, align, prev, info) {
function inScope (line 245) | function inScope(state, varname) {
function parseJS (line 254) | function parseJS(state, style, type, content, stream) {
function pass (line 278) | function pass() {
function cont (line 281) | function cont() {
function register (line 285) | function register(varname) {
function pushcontext (line 306) | function pushcontext() {
function popcontext (line 310) | function popcontext() {
function pushlex (line 314) | function pushlex(type, info) {
function poplex (line 325) | function poplex() {
function expect (line 335) | function expect(wanted) {
function statement (line 344) | function statement(type, value) {
function expression (line 371) | function expression(type) {
function expressionNoComma (line 374) | function expressionNoComma(type) {
function expressionInner (line 377) | function expressionInner(type, noComma) {
function maybeexpression (line 396) | function maybeexpression(type) {
function maybeexpressionNoComma (line 400) | function maybeexpressionNoComma(type) {
function maybeoperatorComma (line 405) | function maybeoperatorComma(type, value) {
function maybeoperatorNoComma (line 409) | function maybeoperatorNoComma(type, value, noComma) {
function quasi (line 424) | function quasi(type, value) {
function continueQuasi (line 429) | function continueQuasi(type) {
function arrowBody (line 436) | function arrowBody(type) {
function arrowBodyNoComma (line 440) | function arrowBodyNoComma(type) {
function maybeTarget (line 444) | function maybeTarget(noComma) {
function target (line 450) | function target(_, value) {
function targetNoComma (line 453) | function targetNoComma(_, value) {
function maybelabel (line 456) | function maybelabel(type) {
function property (line 460) | function property(type) {
function objprop (line 463) | function objprop(type, value) {
function getterSetter (line 486) | function getterSetter(type) {
function afterprop (line 491) | function afterprop(type) {
function commasep (line 495) | function commasep(what, end) {
function contCommasep (line 513) | function contCommasep(what, end, info) {
function block (line 518) | function block(type) {
function maybetype (line 522) | function maybetype(type) {
function maybedefault (line 525) | function maybedefault(_, value) {
function typeexpr (line 528) | function typeexpr(type) {
function maybeReturnType (line 533) | function maybeReturnType(type) {
function typeprop (line 536) | function typeprop(type) {
function typearg (line 544) | function typearg(type) {
function afterType (line 548) | function afterType(type, value) {
function vardef (line 552) | function vardef() {
function pattern (line 555) | function pattern(type, value) {
function proppattern (line 562) | function proppattern(type, value) {
function maybeAssign (line 572) | function maybeAssign(_type, value) {
function vardefCont (line 575) | function vardefCont(type) {
function maybeelse (line 578) | function maybeelse(type, value) {
function forspec (line 581) | function forspec(type) {
function forspec1 (line 584) | function forspec1(type) {
function formaybeinof (line 590) | function formaybeinof(_type, value) {
function forspec2 (line 594) | function forspec2(type, value) {
function forspec3 (line 599) | function forspec3(type) {
function functiondef (line 602) | function functiondef(type, value) {
function funarg (line 607) | function funarg(type) {
function className (line 611) | function className(type, value) {
function classNameAfter (line 614) | function classNameAfter(type, value) {
function classBody (line 618) | function classBody(type, value) {
function classGetterSetter (line 635) | function classGetterSetter(type) {
function afterExport (line 640) | function afterExport(_type, value) {
function afterImport (line 645) | function afterImport(type) {
function importSpec (line 649) | function importSpec(type, value) {
function maybeAs (line 655) | function maybeAs(_type, value) {
function maybeFrom (line 658) | function maybeFrom(_type, value) {
function arrayLiteral (line 661) | function arrayLiteral(type) {
function isContinuedStatement (line 666) | function isContinuedStatement(state, textAfter) {
FILE: js/codemirror/matchbrackets.js
function findMatchingBracket (line 19) | function findMatchingBracket(cm, where, strict, config) {
function scanForBracket (line 40) | function scanForBracket(cm, where, dir, style, config) {
function matchBrackets (line 67) | function matchBrackets(cm, autoclear, config) {
function doMatchBrackets (line 97) | function doMatchBrackets(cm) {
FILE: js/codemirror/searchcursor.js
function SearchCursor (line 15) | function SearchCursor(doc, query, pos, caseFold) {
function savePosAndFail (line 124) | function savePosAndFail(line) {
function adjustPos (line 162) | function adjustPos(orig, folded, pos) {
FILE: js/codemirror/ui-codemirror.js
function uiCodemirrorDirective (line 13) | function uiCodemirrorDirective($timeout, uiCodemirrorConfig) {
FILE: js/context-menu.js
function create (line 1) | function create(opts) {
FILE: js/json-formatter.js
method hoverPreviewEnabled (line 19) | get hoverPreviewEnabled () {
method hoverPreviewEnabled (line 22) | set hoverPreviewEnabled (value) {
method hoverPreviewArrayCount (line 26) | get hoverPreviewArrayCount () {
method hoverPreviewArrayCount (line 29) | set hoverPreviewArrayCount (value) {
method hoverPreviewFieldCount (line 33) | get hoverPreviewFieldCount () {
method hoverPreviewFieldCount (line 36) | set hoverPreviewFieldCount (value) {
function escapeString (line 51) | function escapeString (str) {
function getObjectName (line 56) | function getObjectName (object) {
function getType (line 75) | function getType (object) {
function getValuePreview (line 80) | function getValuePreview (object, value) {
function getPreview (line 97) | function getPreview (object) {
function link (line 110) | function link (scope) {
FILE: main.js
function createMainWindow (line 18) | function createMainWindow () {
function createWindow (line 45) | function createWindow(name, file, options) {
function checkUpdate (line 99) | function checkUpdate(open) {
FILE: squirrel.js
function handleSquirrelEvent (line 7) | function handleSquirrelEvent() {
Condensed preview — 88 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (725K chars).
[
{
"path": ".gitignore",
"chars": 45,
"preview": "node_modules\nimg/icons/firebase-admin.*\ndist\n"
},
{
"path": ".travis.yml",
"chars": 284,
"preview": "language: node_js\n\nnode_js: \"4\"\n\nbefore_script:\n - export DISPLAY=:99.0\n - sh -e /etc/init.d/xvfb start\n - sleep 3\n\ns"
},
{
"path": "about.html",
"chars": 2798,
"preview": "<!DOCTYPE html>\n<html>\n<head>\n\t<meta charset=\"UTF-8\">\n\t<title>About Firebase Admin</title>\n\t<style>\n\t\thtml, body{\n\t\t\thei"
},
{
"path": "build.js",
"chars": 501,
"preview": "'use strict'\n\nlet packager = require('electron-packager')\nlet options = {\n dir: '.',\n name: 'Firebase Admin',\n versio"
},
{
"path": "create.html",
"chars": 3594,
"preview": "<!DOCTYPE html>\n<html>\n<head>\n\t<meta charset=\"UTF-8\">\n\t<base href=\"local\">\n\t<title>Create Connection</title>\n\t<link rel="
},
{
"path": "css/angular-resizable.css",
"chars": 1222,
"preview": ".resizable {\n position: relative;\n}\n.resizable.no-transition {\n transition: none !important;\n}\n\n.rg-right, .rg-left, ."
},
{
"path": "css/codemirror/3024-day.css",
"chars": 1987,
"preview": "/*\n\n Name: 3024 day\n Author: Jan T. Sott (http://github.com/idleberg)\n\n CodeMirror template by Jan T."
},
{
"path": "css/codemirror/3024-night.css",
"chars": 2076,
"preview": "/*\n\n Name: 3024 night\n Author: Jan T. Sott (http://github.com/idleberg)\n\n CodeMirror template by Jan "
},
{
"path": "css/codemirror/abcdef.css",
"chars": 1942,
"preview": ".cm-s-abcdef.CodeMirror { background: #0f0f0f; color: #defdef; }\n.cm-s-abcdef div.CodeMirror-selected { background: #515"
},
{
"path": "css/codemirror/ambiance-mobile.css",
"chars": 103,
"preview": ".cm-s-ambiance.CodeMirror {\n -webkit-box-shadow: none;\n -moz-box-shadow: none;\n box-shadow: none;\n}\n"
},
{
"path": "css/codemirror/ambiance.css",
"chars": 26468,
"preview": "/* ambiance theme for codemirror */\n\n/* Color scheme */\n\n.cm-s-ambiance .cm-header { color: blue; }\n.cm-s-ambiance .cm-q"
},
{
"path": "css/codemirror/base16-dark.css",
"chars": 2112,
"preview": "/*\n\n Name: Base16 Default Dark\n Author: Chris Kempson (http://chriskempson.com)\n\n CodeMirror template"
},
{
"path": "css/codemirror/base16-light.css",
"chars": 2114,
"preview": "/*\n\n Name: Base16 Default Light\n Author: Chris Kempson (http://chriskempson.com)\n\n CodeMirror templat"
},
{
"path": "css/codemirror/bespin.css",
"chars": 1413,
"preview": "/*\n\n Name: Bespin\n Author: Mozilla / Jan T. Sott\n\n CodeMirror template by Jan T. Sott (https://github"
},
{
"path": "css/codemirror/blackboard.css",
"chars": 1931,
"preview": "/* Port of TextMate's Blackboard theme */\n\n.cm-s-blackboard.CodeMirror { background: #0C1021; color: #F8F8F8; }\n.cm-s-bl"
},
{
"path": "css/codemirror/cobalt.css",
"chars": 1703,
"preview": ".cm-s-cobalt.CodeMirror { background: #002240; color: white; }\n.cm-s-cobalt div.CodeMirror-selected { background: #b3653"
},
{
"path": "css/codemirror/codemirror.css",
"chars": 8308,
"preview": "/* BASICS */\n\n.CodeMirror {\n /* Set height, width, borders, and global font properties here */\n font-family: monospace"
},
{
"path": "css/codemirror/colorforth.css",
"chars": 1647,
"preview": ".cm-s-colorforth.CodeMirror { background: #000000; color: #f8f8f8; }\n.cm-s-colorforth .CodeMirror-gutters { background: "
},
{
"path": "css/codemirror/dracula.css",
"chars": 2086,
"preview": "/*\n\n Name: dracula\n Author: Michael Kaminsky (http://github.com/mkaminsky11)\n\n Original dracula color"
},
{
"path": "css/codemirror/eclipse.css",
"chars": 1159,
"preview": ".cm-s-eclipse span.cm-meta { color: #FF1717; }\n.cm-s-eclipse span.cm-keyword { line-height: 1em; font-weight: bold; colo"
},
{
"path": "css/codemirror/elegant.css",
"chars": 781,
"preview": ".cm-s-elegant span.cm-number, .cm-s-elegant span.cm-string, .cm-s-elegant span.cm-atom { color: #762; }\n.cm-s-elegant sp"
},
{
"path": "css/codemirror/erlang-dark.css",
"chars": 2254,
"preview": ".cm-s-erlang-dark.CodeMirror { background: #002240; color: white; }\n.cm-s-erlang-dark div.CodeMirror-selected { backgrou"
},
{
"path": "css/codemirror/hopscotch.css",
"chars": 1469,
"preview": "/*\n\n Name: Hopscotch\n Author: Jan T. Sott\n\n CodeMirror template by Jan T. Sott (https://github.com/id"
},
{
"path": "css/codemirror/icecoder.css",
"chars": 2499,
"preview": "/*\nICEcoder default theme by Matt Pass, used in code editor available at https://icecoder.net\n*/\n\n.cm-s-icecoder { color"
},
{
"path": "css/codemirror/isotope.css",
"chars": 1442,
"preview": "/*\n\n Name: Isotope\n Author: David Desandro / Jan T. Sott\n\n CodeMirror template by Jan T. Sott (https:"
},
{
"path": "css/codemirror/lesser-dark.css",
"chars": 2599,
"preview": "/*\nhttp://lesscss.org/ dark theme\nPorted to CodeMirror by Peter Kroon\n*/\n.cm-s-lesser-dark {\n line-height: 1.3em;\n}\n.cm"
},
{
"path": "css/codemirror/liquibyte.css",
"chars": 3930,
"preview": ".cm-s-liquibyte.CodeMirror {\n\tbackground-color: #000;\n\tcolor: #fff;\n\tline-height: 1.2em;\n\tfont-size: 1em;\n}\n.cm-s-liquib"
},
{
"path": "css/codemirror/material.css",
"chars": 2430,
"preview": "/*\n\n Name: material\n Author: Michael Kaminsky (http://github.com/mkaminsky11)\n\n Original material col"
},
{
"path": "css/codemirror/mbo.css",
"chars": 2112,
"preview": "/****************************************************************/\n/* Based on mbonaci's Brackets mbo theme "
},
{
"path": "css/codemirror/mdn-like.css",
"chars": 5167,
"preview": "/*\n MDN-LIKE Theme - Mozilla\n Ported to CodeMirror by Peter Kroon <plakroon@gmail.com>\n Report bugs/issues here: http"
},
{
"path": "css/codemirror/midnight.css",
"chars": 2138,
"preview": "/* Based on the theme at http://bonsaiden.github.com/JavaScript-Garden */\n\n/*<!--match-->*/\n.cm-s-midnight span.CodeMirr"
},
{
"path": "css/codemirror/monokai.css",
"chars": 1915,
"preview": "/* Based on Sublime Text's Monokai theme */\n\n.cm-s-monokai.CodeMirror { background: #272822; color: #f8f8f2; }\n.cm-s-mon"
},
{
"path": "css/codemirror/neat.css",
"chars": 688,
"preview": ".cm-s-neat span.cm-comment { color: #a86; }\n.cm-s-neat span.cm-keyword { line-height: 1em; font-weight: bold; color: blu"
},
{
"path": "css/codemirror/neo.css",
"chars": 947,
"preview": "/* neo theme for codemirror */\n\n/* Color scheme */\n\n.cm-s-neo.CodeMirror {\n background-color:#ffffff;\n color:#2e383c;\n"
},
{
"path": "css/codemirror/night.css",
"chars": 1720,
"preview": "/* Loosely based on the Midnight Textmate theme */\n\n.cm-s-night.CodeMirror { background: #0a001f; color: #f8f8f8; }\n.cm-"
},
{
"path": "css/codemirror/panda-syntax.css",
"chars": 2577,
"preview": "/*\n\n\tName: Panda Syntax\n\tAuthor: Siamak Mokhtari (http://github.com/siamak/)\n\n\tCodeMirror template by Siamak M"
},
{
"path": "css/codemirror/paraiso-dark.css",
"chars": 2077,
"preview": "/*\n\n Name: Paraíso (Dark)\n Author: Jan T. Sott\n\n Color scheme by Jan T. Sott (https://github.com/idle"
},
{
"path": "css/codemirror/paraiso-light.css",
"chars": 2077,
"preview": "/*\n\n Name: Paraíso (Light)\n Author: Jan T. Sott\n\n Color scheme by Jan T. Sott (https://github.com/idl"
},
{
"path": "css/codemirror/pastel-on-dark.css",
"chars": 2468,
"preview": "/**\n * Pastel On Dark theme ported from ACE editor\n * @license MIT\n * @copyright AtomicPages LLC 2014\n * @author Dennis "
},
{
"path": "css/codemirror/railscasts.css",
"chars": 1514,
"preview": "/*\n\n Name: Railscasts\n Author: Ryan Bates (http://railscasts.com)\n\n CodeMirror template by Jan T. Sot"
},
{
"path": "css/codemirror/rubyblue.css",
"chars": 1772,
"preview": ".cm-s-rubyblue.CodeMirror { background: #112435; color: white; }\n.cm-s-rubyblue div.CodeMirror-selected { background: #3"
},
{
"path": "css/codemirror/seti.css",
"chars": 1984,
"preview": "/*\n\n Name: seti\n Author: Michael Kaminsky (http://github.com/mkaminsky11)\n\n Original seti color schem"
},
{
"path": "css/codemirror/solarized.css",
"chars": 5444,
"preview": "/*\nSolarized theme for code-mirror\nhttp://ethanschoonover.com/solarized\n*/\n\n/*\nSolarized color palette\nhttp://ethanschoo"
},
{
"path": "css/codemirror/the-matrix.css",
"chars": 1909,
"preview": ".cm-s-the-matrix.CodeMirror { background: #000000; color: #00FF00; }\n.cm-s-the-matrix div.CodeMirror-selected { backgrou"
},
{
"path": "css/codemirror/tomorrow-night-bright.css",
"chars": 1769,
"preview": "/*\n\n Name: Tomorrow Night - Bright\n Author: Chris Kempson\n\n Port done by Gerard Braad <me@gbraad.nl>\n"
},
{
"path": "css/codemirror/tomorrow-night-eighties.css",
"chars": 2439,
"preview": "/*\n\n Name: Tomorrow Night - Eighties\n Author: Chris Kempson\n\n CodeMirror template by Jan T. Sott (htt"
},
{
"path": "css/codemirror/ttcn.css",
"chars": 2419,
"preview": ".cm-s-ttcn .cm-quote { color: #090; }\n.cm-s-ttcn .cm-negative { color: #d44; }\n.cm-s-ttcn .cm-positive { color: #292; }\n"
},
{
"path": "css/codemirror/twilight.css",
"chars": 2135,
"preview": ".cm-s-twilight.CodeMirror { background: #141414; color: #f7f7f7; } /**/\n.cm-s-twilight div.CodeMirror-selected { backgro"
},
{
"path": "css/codemirror/vibrant-ink.css",
"chars": 2111,
"preview": "/* Taken from the popular Visual Studio Vibrant Ink Schema */\n\n.cm-s-vibrant-ink.CodeMirror { background: black; color: "
},
{
"path": "css/codemirror/xq-dark.css",
"chars": 3005,
"preview": "/*\nCopyright (C) 2011 by MarkLogic Corporation\nAuthor: Mike Brevoort <mike@brevoort.com>\n\nPermission is hereby granted, "
},
{
"path": "css/codemirror/xq-light.css",
"chars": 2226,
"preview": "/*\nCopyright (C) 2011 by MarkLogic Corporation\nAuthor: Mike Brevoort <mike@brevoort.com>\n\nPermission is hereby granted, "
},
{
"path": "css/codemirror/yeti.css",
"chars": 1859,
"preview": "/*\n\n Name: yeti\n Author: Michael Kaminsky (http://github.com/mkaminsky11)\n\n Original yeti color schem"
},
{
"path": "css/codemirror/zenburn.css",
"chars": 1990,
"preview": "/**\n * \"\n * Using Zenburn color palette from the Emacs Zenburn Theme\n * https://github.com/bbatsov/zenburn-emacs/blob/"
},
{
"path": "css/default.css",
"chars": 9085,
"preview": "/*\n* Firebase Admin Styles\n* By: Circle Framework Grid\n*/\n\n:root{\n --color: #37474f;\n --color-nav: #3747"
},
{
"path": "css/json-formatter.css",
"chars": 3915,
"preview": "/*!\n * jsonformatter\n * \n * Version: 0.6.0 - 2016-04-29T03:24:40.680Z\n * License: Apache-2.0\n */\n\n\n.json-formatter-row {"
},
{
"path": "css/style.css",
"chars": 25173,
"preview": "/*\n* Firebase Admin Styles\n* By: Circle Framework Grid\n*/\n\n:root{\n\t--color-main-bg: #ececec;\n\t--color-main: #37474f;\n"
},
{
"path": "index.html",
"chars": 4189,
"preview": "<!DOCTYPE html>\n<html>\n<head>\n\t<meta charset=\"UTF-8\">\n\t<base href=\"local\">\n\t<title>Firebase Admin</title>\n\t<link rel=\"st"
},
{
"path": "js/app.js",
"chars": 17459,
"preview": "var fba = angular.module('fba', ['ngRoute', 'angularResizable', 'ui.codemirror']).run(function ($http, dataFactory, $roo"
},
{
"path": "js/codemirror/brace-fold.js",
"chars": 3939,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: http://codemirror.net/L"
},
{
"path": "js/codemirror/codemirror.js",
"chars": 357065,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: http://codemirror.net/L"
},
{
"path": "js/codemirror/foldcode.js",
"chars": 4751,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: http://codemirror.net/L"
},
{
"path": "js/codemirror/foldgutter.js",
"chars": 4631,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: http://codemirror.net/L"
},
{
"path": "js/codemirror/javascript.js",
"chars": 28815,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: http://codemirror.net/L"
},
{
"path": "js/codemirror/matchbrackets.js",
"chars": 5349,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: http://codemirror.net/L"
},
{
"path": "js/codemirror/searchcursor.js",
"chars": 7723,
"preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: http://codemirror.net/L"
},
{
"path": "js/codemirror/ui-codemirror.js",
"chars": 4483,
"preview": "'use strict';\n\n/**\n * Binds a CodeMirror widget to a <textarea> element.\n */\nangular.module('ui.codemirror', [])\n .cons"
},
{
"path": "js/connection.js",
"chars": 6129,
"preview": "var fbaC = angular.module('fba-c', []).run(function ($rootScope) {\n const userPath = electron.app.getPath('userData')\n "
},
{
"path": "js/context-menu.js",
"chars": 691,
"preview": "function create(opts) {\n const editFlags = opts.params.editFlags\n const hasText = opts.params.selectionText.trim().len"
},
{
"path": "js/default-settings.json",
"chars": 70,
"preview": "{\n \"theme\": \"light\",\n \"fonts\": \"system\",\n \"jsonTheme\": \"default\"\n}\n"
},
{
"path": "js/json-formatter.js",
"chars": 8741,
"preview": "/*!\n * jsonformatter\n *\n * Version: 0.6.0 - 2016-04-29T03:24:40.672Z\n * License: Apache-2.0\n */\n\n'use strict'\n\nangular.m"
},
{
"path": "js/menu.js",
"chars": 5317,
"preview": "const electron = require('electron')\nconst BrowserWindow = electron.BrowserWindow\nconst name = electron.app.getName()\n\nl"
},
{
"path": "js/routes.js",
"chars": 175,
"preview": "fba.config(function ($routeProvider, $locationProvider) {\n $routeProvider.when('/', {\n templateUrl: 'templates/main."
},
{
"path": "js/settings.js",
"chars": 1608,
"preview": "var fbaP = angular.module('fba-p', []).run(function () {\n})\n\n.controller('settingsController', function ($scope, $timeou"
},
{
"path": "js/update.js",
"chars": 569,
"preview": "var fbaU = angular.module('fba-u', [])\n\n.controller('updateController', function ($scope, $rootScope) {\n $scope.destina"
},
{
"path": "license.md",
"chars": 34940,
"preview": "# GNU GENERAL PUBLIC LICENSE\nVersion 3, 29 June 2007\n\nCopyright (C) 2007 [Free Software Foundation, Inc.](http://fsf.org"
},
{
"path": "main.js",
"chars": 3705,
"preview": "const electron = require('electron')\nconst app = electron.app\nconst Menu = electron.Menu\nconst BrowserWindow = electron."
},
{
"path": "package.json",
"chars": 1725,
"preview": "{\n \"name\": \"firebase-admin\",\n \"version\": \"1.0.1\",\n \"description\": \"Firebase Management Cross Platform Application\",\n "
},
{
"path": "readme.md",
"chars": 2650,
"preview": "# Welcome to Firebase Admin\n\n[](https:/"
},
{
"path": "renderer.js",
"chars": 171,
"preview": "// This file is required by the index.html file and will\n// be executed in the renderer process for that window.\n// All "
},
{
"path": "settings.html",
"chars": 3957,
"preview": "<!DOCTYPE html>\n<html>\n<head>\n\t<meta charset=\"UTF-8\">\n\t<base href=\"local\">\n\t<title>Preferences</title>\n\t<link rel=\"style"
},
{
"path": "squirrel.js",
"chars": 1316,
"preview": "const app = require('electron').app\n\nif (handleSquirrelEvent()) {\n return\n}\n\nfunction handleSquirrelEvent() {\n if (pro"
},
{
"path": "templates/jsonTree.html",
"chars": 1724,
"preview": "<div>\n\t<ins ng-click=\"collection.open = !collection.open\"><i class=\"icon\"></i></ins>\n\t<span class=\"menu-content\">\n\t\t<spa"
},
{
"path": "templates/main.html",
"chars": 2027,
"preview": "<section ng-hide=\"rootError\" class=\"container content\">\n\t<form id=\"query-box\" class=\"query-box\" resizable r-directions=\""
},
{
"path": "templates/menuTree.html",
"chars": 463,
"preview": "<div>\n\t<ins ng-click=\"open(collection)\"><i class=\"icon\"></i></ins>\n\t<div class=\"menu-name\" ng-click=\"get(collection)\">{{"
},
{
"path": "templates/notice.html",
"chars": 151,
"preview": "<div class=\"notice-window\">\n\t<div compile=\"noticeMessage\" class=\"message\"></div>\n\t<div class=\"close-btn\" ng-click=\"showN"
},
{
"path": "tests/index.js",
"chars": 1872,
"preview": "'use strict'\n\nconst Application = require('spectron').Application\nconst chai = require('chai')\nconst chaiAsPromised = re"
},
{
"path": "windows/update.html",
"chars": 2324,
"preview": "<!DOCTYPE html>\n<html>\n<head>\n\t<meta charset=\"UTF-8\">\n\t<base href=\"local\">\n\t<title>Update Firebase Admin</title>\n\t<link "
}
]
// ... and 1 more files (download for full content)
About this extraction
This page contains the full source code of the codefoxes/firebase-admin GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 88 files (678.0 KB), approximately 202.4k tokens, and a symbol index with 464 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.