Go, roboto! Launch!! 🤖

This commit is contained in:
Victoria Drake
2020-02-02 11:03:57 -05:00
parent 0aa1ae6f78
commit de4dcd5d21
37 changed files with 12479 additions and 0 deletions
+18
View File
@@ -0,0 +1,18 @@
// A launch configuration that launches the extension inside a new window
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
{
"version": "0.2.0",
"configurations": [
{
"name": "Extension",
"type": "extensionHost",
"request": "launch",
"runtimeExecutable": "${execPath}",
"args": [
"--extensionDevelopmentPath=${workspaceFolder}"
]
}
]
}
+4
View File
@@ -0,0 +1,4 @@
.vscode/**
.vscode-test/**
.gitignore
vsc-extension-quickstart.md
+16
View File
@@ -0,0 +1,16 @@
# Changelog
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
🍍
## [0.0.1] - 2020-02-02 🤯
### Added
- Initial release of the Kabukichō theme!
- Custom CSS file for optional glow effect.
- Demo folder with many syntax examples.
+46
View File
@@ -0,0 +1,46 @@
# Kabukichō Theme for Visual Studio Code
![theme banner](banner.png)
A techno-neon, autorobotic, VHS-degradaded, superatomic-AI color theme for Visual Studio Code. Of course those are real words. Whatever, man. You can't stop the signal.
![Theme screenshot](screenshot.png)
Font in the screenshot is [JetBrains Mono](https://www.jetbrains.com/lp/mono/).
## Installation
Open VS Code, then launch Quick Open (`Ctrl+P`). Paste in `ext install victoriadrake.kabukicho` and press enter.
Alternatively, clone this repository into your VS Code extensions folder ([where is that?](https://code.visualstudio.com/docs/editor/extension-gallery#_where-are-extensions-installed)), then restart VS Code.
To activate the wave, use the keyboard shortcut `Ctrl+K Ctrl+T` or select **File** > **Preferences** > **Color Theme** and choose **Kabukichō**.
Optionally, activate the custom CSS for a Robot-Restaurant-style party session:
1. Install the [Custom CSS and JS Loader](https://marketplace.visualstudio.com/items?itemName=be5invis.vscode-custom-css) extension.
2. Tell Custom CSS and JS Loader to use the CSS file included with this theme by adding an import line to your VS Code `settings.json` file:
```json
{
"vscode_custom_css.imports": [
"file://FULL/PATH/lights-on.css"
]
}
```
Use the correct full path to the CSS file in your VS Code extensions directory, or wherever you choose to store it in your filesystem.
3. From the command palette (`Ctrl + Shift + P` or `Shift + ⌘ + P`), select **Reload Custom CSS and JS**. You can also **Disable** and **Enable** the custom CSS from here.
Though it's very `A` `E` `S` `T` `H` `E` `T` `I` `C`, the fun glow effect can strain your eyes and isn't meant for long coding sessions. Also, the custom CSS injector has its downsides. Be sure you [read and understand](https://github.com/be5invis/vscode-custom-css/blob/master/README.md) what's involved.
## Origins and Thanks
This theme began as a let's-be-reasonable-now fork of @webrender's [synthwave-x-fluoromachine](https://github.com/webrender/synthwave-x-fluoromachine) theme, which was forked from @robbowen's [Synthwave '84 theme](https://marketplace.visualstudio.com/items?itemName=RobbOwen.synthwave-vscode) and merged with @fullerenedream's [Fluoromachine](https://colorsublime.github.io/themes/FluoroMachine/) Sublime Text theme.
The `tokenColors` definitions are heavily borrowed from [Noctis](https://github.com/liviuschera/noctis), with which @liviuschera is doing excellent work.
The very nostalgic glow stylesheet originates with @robbowen.
Most of the `demos/` are from [Night Owl](https://github.com/sdras/night-owl-vscode-theme) and the clever how-to article by @sdras, [Creating a VS Code Theme](https://css-tricks.com/creating-a-vs-code-theme/).
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 269 KiB

+14
View File
@@ -0,0 +1,14 @@
# http://editorconfig.org
root = true
[*]
charset = utf-8
end_of_line = lf
indent_size = 2
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true
[*.md]
max_line_length = off
trim_trailing_whitespace = false
+22
View File
@@ -0,0 +1,22 @@
import React from 'react';
import ReactDOM from 'react-dom';
import * as TestUtils from 'react-dom/test-utils';
import CheckboxWithLabel from '../CheckboxWithLabel';
it('CheckboxWithLabel changes the text after click', () => {
// Render a checkbox with label in the document
const checkbox = TestUtils.renderIntoDocument(
<CheckboxWithLabel labelOn="On" labelOff="Off" />
)
const checkboxNode = ReactDOM.findDOMNode(checkbox)
// Verify that it's Off by default
expect(checkboxNode.textContent).toEqual('Off')
// Simulate a click and verify that it is now On
TestUtils.Simulate.change(
TestUtils.findRenderedDOMComponentWithTag(checkbox, 'input')
)
expect(checkboxNode.textContent).toEqual('On')
})
+26
View File
@@ -0,0 +1,26 @@
(ns hello.world.clojure)
(defn sum [& numbers]
(if (empty? numbers)
0
(reduce + 0 numbers)))
(defn print-name [{:keys [first last age]}]
(println (str "Your name is " first " " last " and you are " age " years old.")))
(defn set-age [person new-age]
(assoc person :age new-age))
(defn hello-world []
(let [john {:first "John" :last "Smith" :age 65}
jack {:first "Jack" :last "Road" :age 76}
george {:first "George" :last "Way" :age 23}
george-junior (assoc george :age 6)
all-persons [john jack george george-junior]]
(doseq [person all-persons]
(print-name person))
(println (str "Total age is: " (apply sum (map :age all-persons))))))
(hello-world)
+21
View File
@@ -0,0 +1,21 @@
(ns hello.world.clojurescript
(:require [reagent.core :as r])
(def counter (r/atom 0))
(def text-component-style {:background-color :grey
:border "1px solid black"
:padding "5px"})
(defn counter-clicked []
(.log js/console "You clicked the counter component.")
(swap! counter inc))
(defn text-counter [text]
[:div {:on-click counter-clicked
:style text-component-style})
(str text @counter])
(defn main-component []
[:div
[:p {:style {:color :red}} "Hello world! Click the element below:"]
[text-counter "Clicked: "]])
+616
View File
@@ -0,0 +1,616 @@
// Copyright 2012 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef V8_API_H_
#define V8_API_H_
#include "include/v8-testing.h"
#include "src/contexts.h"
#include "src/debug/debug-interface.h"
#include "src/detachable-vector.h"
#include "src/heap/factory.h"
#include "src/isolate.h"
#include "src/objects.h"
#include "src/objects/bigint.h"
#include "src/objects/js-collection.h"
#include "src/objects/js-generator.h"
#include "src/objects/js-promise.h"
#include "src/objects/js-proxy.h"
#include "src/objects/module.h"
#include "src/objects/shared-function-info.h"
#include "src/objects/templates.h"
namespace v8 {
// Constants used in the implementation of the API. The most natural thing
// would usually be to place these with the classes that use them, but
// we want to keep them out of v8.h because it is an externally
// visible file.
class Consts {
public:
enum TemplateType {
FUNCTION_TEMPLATE = 0,
OBJECT_TEMPLATE = 1
};
};
template <typename T>
inline T ToCData(v8::internal::Object* obj);
template <>
inline v8::internal::Address ToCData(v8::internal::Object* obj);
template <typename T>
inline v8::internal::Handle<v8::internal::Object> FromCData(
v8::internal::Isolate* isolate, T obj);
template <>
inline v8::internal::Handle<v8::internal::Object> FromCData(
v8::internal::Isolate* isolate, v8::internal::Address obj);
class ApiFunction {
public:
explicit ApiFunction(v8::internal::Address addr) : addr_(addr) { }
v8::internal::Address address() { return addr_; }
private:
v8::internal::Address addr_;
};
class RegisteredExtension {
public:
explicit RegisteredExtension(Extension* extension);
static void Register(RegisteredExtension* that);
static void UnregisterAll();
Extension* extension() { return extension_; }
RegisteredExtension* next() { return next_; }
static RegisteredExtension* first_extension() { return first_extension_; }
private:
Extension* extension_;
RegisteredExtension* next_;
static RegisteredExtension* first_extension_;
};
#define OPEN_HANDLE_LIST(V) \
V(Template, TemplateInfo) \
V(FunctionTemplate, FunctionTemplateInfo) \
V(ObjectTemplate, ObjectTemplateInfo) \
V(Signature, FunctionTemplateInfo) \
V(AccessorSignature, FunctionTemplateInfo) \
V(Data, Object) \
V(RegExp, JSRegExp) \
V(Object, JSReceiver) \
V(Array, JSArray) \
V(Map, JSMap) \
V(Set, JSSet) \
V(ArrayBuffer, JSArrayBuffer) \
V(ArrayBufferView, JSArrayBufferView) \
V(TypedArray, JSTypedArray) \
V(Uint8Array, JSTypedArray) \
V(Uint8ClampedArray, JSTypedArray) \
V(Int8Array, JSTypedArray) \
V(Uint16Array, JSTypedArray) \
V(Int16Array, JSTypedArray) \
V(Uint32Array, JSTypedArray) \
V(Int32Array, JSTypedArray) \
V(Float32Array, JSTypedArray) \
V(Float64Array, JSTypedArray) \
V(DataView, JSDataView) \
V(SharedArrayBuffer, JSArrayBuffer) \
V(Name, Name) \
V(String, String) \
V(Symbol, Symbol) \
V(Script, JSFunction) \
V(UnboundModuleScript, SharedFunctionInfo) \
V(UnboundScript, SharedFunctionInfo) \
V(Module, Module) \
V(Function, JSReceiver) \
V(Message, JSMessageObject) \
V(Context, Context) \
V(External, Object) \
V(StackTrace, FixedArray) \
V(StackFrame, StackFrameInfo) \
V(Proxy, JSProxy) \
V(debug::GeneratorObject, JSGeneratorObject) \
V(debug::Script, Script) \
V(debug::WeakMap, JSWeakMap) \
V(Promise, JSPromise) \
V(Primitive, Object) \
V(PrimitiveArray, FixedArray) \
V(BigInt, BigInt) \
V(ScriptOrModule, Script)
class Utils {
public:
static inline bool ApiCheck(bool condition,
const char* location,
const char* message) {
if (!condition) Utils::ReportApiFailure(location, message);
return condition;
}
static void ReportOOMFailure(v8::internal::Isolate* isolate,
const char* location, bool is_heap_oom);
static inline Local<Context> ToLocal(
v8::internal::Handle<v8::internal::Context> obj);
static inline Local<Value> ToLocal(
v8::internal::Handle<v8::internal::Object> obj);
static inline Local<Module> ToLocal(
v8::internal::Handle<v8::internal::Module> obj);
static inline Local<Name> ToLocal(
v8::internal::Handle<v8::internal::Name> obj);
static inline Local<String> ToLocal(
v8::internal::Handle<v8::internal::String> obj);
static inline Local<Symbol> ToLocal(
v8::internal::Handle<v8::internal::Symbol> obj);
static inline Local<RegExp> ToLocal(
v8::internal::Handle<v8::internal::JSRegExp> obj);
static inline Local<Object> ToLocal(
v8::internal::Handle<v8::internal::JSReceiver> obj);
static inline Local<Object> ToLocal(
v8::internal::Handle<v8::internal::JSObject> obj);
static inline Local<Function> ToLocal(
v8::internal::Handle<v8::internal::JSFunction> obj);
static inline Local<Array> ToLocal(
v8::internal::Handle<v8::internal::JSArray> obj);
static inline Local<Map> ToLocal(
v8::internal::Handle<v8::internal::JSMap> obj);
static inline Local<Set> ToLocal(
v8::internal::Handle<v8::internal::JSSet> obj);
static inline Local<Proxy> ToLocal(
v8::internal::Handle<v8::internal::JSProxy> obj);
static inline Local<ArrayBuffer> ToLocal(
v8::internal::Handle<v8::internal::JSArrayBuffer> obj);
static inline Local<ArrayBufferView> ToLocal(
v8::internal::Handle<v8::internal::JSArrayBufferView> obj);
static inline Local<DataView> ToLocal(
v8::internal::Handle<v8::internal::JSDataView> obj);
static inline Local<TypedArray> ToLocal(
v8::internal::Handle<v8::internal::JSTypedArray> obj);
static inline Local<Uint8Array> ToLocalUint8Array(
v8::internal::Handle<v8::internal::JSTypedArray> obj);
static inline Local<Uint8ClampedArray> ToLocalUint8ClampedArray(
v8::internal::Handle<v8::internal::JSTypedArray> obj);
static inline Local<Int8Array> ToLocalInt8Array(
v8::internal::Handle<v8::internal::JSTypedArray> obj);
static inline Local<Uint16Array> ToLocalUint16Array(
v8::internal::Handle<v8::internal::JSTypedArray> obj);
static inline Local<Int16Array> ToLocalInt16Array(
v8::internal::Handle<v8::internal::JSTypedArray> obj);
static inline Local<Uint32Array> ToLocalUint32Array(
v8::internal::Handle<v8::internal::JSTypedArray> obj);
static inline Local<Int32Array> ToLocalInt32Array(
v8::internal::Handle<v8::internal::JSTypedArray> obj);
static inline Local<Float32Array> ToLocalFloat32Array(
v8::internal::Handle<v8::internal::JSTypedArray> obj);
static inline Local<Float64Array> ToLocalFloat64Array(
v8::internal::Handle<v8::internal::JSTypedArray> obj);
static inline Local<BigInt64Array> ToLocalBigInt64Array(
v8::internal::Handle<v8::internal::JSTypedArray> obj);
static inline Local<BigUint64Array> ToLocalBigUint64Array(
v8::internal::Handle<v8::internal::JSTypedArray> obj);
static inline Local<SharedArrayBuffer> ToLocalShared(
v8::internal::Handle<v8::internal::JSArrayBuffer> obj);
static inline Local<Message> MessageToLocal(
v8::internal::Handle<v8::internal::Object> obj);
static inline Local<Promise> PromiseToLocal(
v8::internal::Handle<v8::internal::JSObject> obj);
static inline Local<StackTrace> StackTraceToLocal(
v8::internal::Handle<v8::internal::FixedArray> obj);
static inline Local<StackFrame> StackFrameToLocal(
v8::internal::Handle<v8::internal::StackFrameInfo> obj);
static inline Local<Number> NumberToLocal(
v8::internal::Handle<v8::internal::Object> obj);
static inline Local<Integer> IntegerToLocal(
v8::internal::Handle<v8::internal::Object> obj);
static inline Local<Uint32> Uint32ToLocal(
v8::internal::Handle<v8::internal::Object> obj);
static inline Local<BigInt> ToLocal(
v8::internal::Handle<v8::internal::BigInt> obj);
static inline Local<FunctionTemplate> ToLocal(
v8::internal::Handle<v8::internal::FunctionTemplateInfo> obj);
static inline Local<ObjectTemplate> ToLocal(
v8::internal::Handle<v8::internal::ObjectTemplateInfo> obj);
static inline Local<Signature> SignatureToLocal(
v8::internal::Handle<v8::internal::FunctionTemplateInfo> obj);
static inline Local<AccessorSignature> AccessorSignatureToLocal(
v8::internal::Handle<v8::internal::FunctionTemplateInfo> obj);
static inline Local<External> ExternalToLocal(
v8::internal::Handle<v8::internal::JSObject> obj);
static inline Local<Function> CallableToLocal(
v8::internal::Handle<v8::internal::JSReceiver> obj);
static inline Local<Primitive> ToLocalPrimitive(
v8::internal::Handle<v8::internal::Object> obj);
static inline Local<PrimitiveArray> ToLocal(
v8::internal::Handle<v8::internal::FixedArray> obj);
static inline Local<ScriptOrModule> ScriptOrModuleToLocal(
v8::internal::Handle<v8::internal::Script> obj);
#define DECLARE_OPEN_HANDLE(From, To) \
static inline v8::internal::Handle<v8::internal::To> \
OpenHandle(const From* that, bool allow_empty_handle = false);
OPEN_HANDLE_LIST(DECLARE_OPEN_HANDLE)
#undef DECLARE_OPEN_HANDLE
template <class From, class To>
static inline Local<To> Convert(v8::internal::Handle<From> obj);
template <class T>
static inline v8::internal::Handle<v8::internal::Object> OpenPersistent(
const v8::Persistent<T>& persistent) {
return v8::internal::Handle<v8::internal::Object>(
reinterpret_cast<v8::internal::Object**>(persistent.val_));
}
template <class T>
static inline v8::internal::Handle<v8::internal::Object> OpenPersistent(
v8::Persistent<T>* persistent) {
return OpenPersistent(*persistent);
}
template <class From, class To>
static inline v8::internal::Handle<To> OpenHandle(v8::Local<From> handle) {
return OpenHandle(*handle);
}
private:
static void ReportApiFailure(const char* location, const char* message);
};
template <class T>
inline T* ToApi(v8::internal::Handle<v8::internal::Object> obj) {
return reinterpret_cast<T*>(obj.location());
}
template <class T>
inline v8::Local<T> ToApiHandle(
v8::internal::Handle<v8::internal::Object> obj) {
return Utils::Convert<v8::internal::Object, T>(obj);
}
template <class T>
inline bool ToLocal(v8::internal::MaybeHandle<v8::internal::Object> maybe,
Local<T>* local) {
v8::internal::Handle<v8::internal::Object> handle;
if (maybe.ToHandle(&handle)) {
*local = Utils::Convert<v8::internal::Object, T>(handle);
return true;
}
return false;
}
namespace internal {
class V8_EXPORT_PRIVATE DeferredHandles {
public:
~DeferredHandles();
private:
DeferredHandles(Object** first_block_limit, Isolate* isolate)
: next_(nullptr),
previous_(nullptr),
first_block_limit_(first_block_limit),
isolate_(isolate) {
isolate->LinkDeferredHandles(this);
}
void Iterate(RootVisitor* v);
std::vector<Object**> blocks_;
DeferredHandles* next_;
DeferredHandles* previous_;
Object** first_block_limit_;
Isolate* isolate_;
friend class HandleScopeImplementer;
friend class Isolate;
};
// This class is here in order to be able to declare it a friend of
// HandleScope. Moving these methods to be members of HandleScope would be
// neat in some ways, but it would expose internal implementation details in
// our public header file, which is undesirable.
//
// An isolate has a single instance of this class to hold the current thread's
// data. In multithreaded V8 programs this data is copied in and out of storage
// so that the currently executing thread always has its own copy of this
// data.
class HandleScopeImplementer {
public:
explicit HandleScopeImplementer(Isolate* isolate)
: isolate_(isolate),
microtask_context_(nullptr),
spare_(nullptr),
call_depth_(0),
microtasks_depth_(0),
microtasks_suppressions_(0),
entered_contexts_count_(0),
entered_context_count_during_microtasks_(0),
#ifdef DEBUG
debug_microtasks_depth_(0),
#endif
microtasks_policy_(v8::MicrotasksPolicy::kAuto),
last_handle_before_deferred_block_(nullptr) {
}
~HandleScopeImplementer() {
DeleteArray(spare_);
}
// Threading support for handle data.
static int ArchiveSpacePerThread();
char* RestoreThread(char* from);
char* ArchiveThread(char* to);
void FreeThreadResources();
// Garbage collection support.
void Iterate(v8::internal::RootVisitor* v);
static char* Iterate(v8::internal::RootVisitor* v, char* data);
inline internal::Object** GetSpareOrNewBlock();
inline void DeleteExtensions(internal::Object** prev_limit);
// Call depth represents nested v8 api calls.
inline void IncrementCallDepth() {call_depth_++;}
inline void DecrementCallDepth() {call_depth_--;}
inline bool CallDepthIsZero() { return call_depth_ == 0; }
// Microtasks scope depth represents nested scopes controlling microtasks
// invocation, which happens when depth reaches zero.
inline void IncrementMicrotasksScopeDepth() {microtasks_depth_++;}
inline void DecrementMicrotasksScopeDepth() {microtasks_depth_--;}
inline int GetMicrotasksScopeDepth() { return microtasks_depth_; }
// Possibly nested microtasks suppression scopes prevent microtasks
// from running.
inline void IncrementMicrotasksSuppressions() {microtasks_suppressions_++;}
inline void DecrementMicrotasksSuppressions() {microtasks_suppressions_--;}
inline bool HasMicrotasksSuppressions() { return !!microtasks_suppressions_; }
#ifdef DEBUG
// In debug we check that calls not intended to invoke microtasks are
// still correctly wrapped with microtask scopes.
inline void IncrementDebugMicrotasksScopeDepth() {debug_microtasks_depth_++;}
inline void DecrementDebugMicrotasksScopeDepth() {debug_microtasks_depth_--;}
inline bool DebugMicrotasksScopeDepthIsZero() {
return debug_microtasks_depth_ == 0;
}
#endif
inline void set_microtasks_policy(v8::MicrotasksPolicy policy);
inline v8::MicrotasksPolicy microtasks_policy() const;
inline void EnterContext(Handle<Context> context);
inline void LeaveContext();
inline bool LastEnteredContextWas(Handle<Context> context);
// Returns the last entered context or an empty handle if no
// contexts have been entered.
inline Handle<Context> LastEnteredContext();
inline void EnterMicrotaskContext(Handle<Context> context);
inline void LeaveMicrotaskContext();
inline Handle<Context> MicrotaskContext();
inline bool MicrotaskContextIsLastEnteredContext() const {
return microtask_context_ &&
entered_context_count_during_microtasks_ == entered_contexts_.size();
}
inline void SaveContext(Context* context);
inline Context* RestoreContext();
inline bool HasSavedContexts();
inline DetachableVector<Object**>* blocks() { return &blocks_; }
Isolate* isolate() const { return isolate_; }
void ReturnBlock(Object** block) {
DCHECK_NOT_NULL(block);
if (spare_ != nullptr) DeleteArray(spare_);
spare_ = block;
}
private:
void ResetAfterArchive() {
blocks_.detach();
entered_contexts_.detach();
saved_contexts_.detach();
microtask_context_ = nullptr;
entered_context_count_during_microtasks_ = 0;
spare_ = nullptr;
last_handle_before_deferred_block_ = nullptr;
call_depth_ = 0;
}
void Free() {
DCHECK(blocks_.empty());
DCHECK(entered_contexts_.empty());
DCHECK(saved_contexts_.empty());
DCHECK(!microtask_context_);
blocks_.free();
entered_contexts_.free();
saved_contexts_.free();
if (spare_ != nullptr) {
DeleteArray(spare_);
spare_ = nullptr;
}
DCHECK_EQ(call_depth_, 0);
}
void BeginDeferredScope();
DeferredHandles* Detach(Object** prev_limit);
Isolate* isolate_;
DetachableVector<Object**> blocks_;
// Used as a stack to keep track of entered contexts.
DetachableVector<Context*> entered_contexts_;
// Used as a stack to keep track of saved contexts.
DetachableVector<Context*> saved_contexts_;
Context* microtask_context_;
Object** spare_;
int call_depth_;
int microtasks_depth_;
int microtasks_suppressions_;
size_t entered_contexts_count_;
size_t entered_context_count_during_microtasks_;
#ifdef DEBUG
int debug_microtasks_depth_;
#endif
v8::MicrotasksPolicy microtasks_policy_;
Object** last_handle_before_deferred_block_;
// This is only used for threading support.
HandleScopeData handle_scope_data_;
void IterateThis(RootVisitor* v);
char* RestoreThreadHelper(char* from);
char* ArchiveThreadHelper(char* to);
friend class DeferredHandles;
friend class DeferredHandleScope;
friend class HandleScopeImplementerOffsets;
DISALLOW_COPY_AND_ASSIGN(HandleScopeImplementer);
};
class HandleScopeImplementerOffsets {
public:
enum Offsets {
kMicrotaskContext = offsetof(HandleScopeImplementer, microtask_context_),
kEnteredContexts = offsetof(HandleScopeImplementer, entered_contexts_),
kEnteredContextsCount =
offsetof(HandleScopeImplementer, entered_contexts_count_),
kEnteredContextCountDuringMicrotasks = offsetof(
HandleScopeImplementer, entered_context_count_during_microtasks_)
};
private:
DISALLOW_IMPLICIT_CONSTRUCTORS(HandleScopeImplementerOffsets);
};
const int kHandleBlockSize = v8::internal::KB - 2; // fit in one page
void HandleScopeImplementer::set_microtasks_policy(
v8::MicrotasksPolicy policy) {
microtasks_policy_ = policy;
}
v8::MicrotasksPolicy HandleScopeImplementer::microtasks_policy() const {
return microtasks_policy_;
}
void HandleScopeImplementer::SaveContext(Context* context) {
saved_contexts_.push_back(context);
}
Context* HandleScopeImplementer::RestoreContext() {
Context* last_context = saved_contexts_.back();
saved_contexts_.pop_back();
return last_context;
}
bool HandleScopeImplementer::HasSavedContexts() {
return !saved_contexts_.empty();
}
void HandleScopeImplementer::EnterContext(Handle<Context> context) {
entered_contexts_.push_back(*context);
entered_contexts_count_ = entered_contexts_.size();
}
void HandleScopeImplementer::LeaveContext() {
entered_contexts_.pop_back();
entered_contexts_count_ = entered_contexts_.size();
}
bool HandleScopeImplementer::LastEnteredContextWas(Handle<Context> context) {
return !entered_contexts_.empty() && entered_contexts_.back() == *context;
}
void HandleScopeImplementer::EnterMicrotaskContext(Handle<Context> context) {
DCHECK(!microtask_context_);
microtask_context_ = *context;
entered_context_count_during_microtasks_ = entered_contexts_.size();
}
void HandleScopeImplementer::LeaveMicrotaskContext() {
microtask_context_ = nullptr;
entered_context_count_during_microtasks_ = 0;
}
// If there's a spare block, use it for growing the current scope.
internal::Object** HandleScopeImplementer::GetSpareOrNewBlock() {
internal::Object** block =
(spare_ != nullptr) ? spare_
: NewArray<internal::Object*>(kHandleBlockSize);
spare_ = nullptr;
return block;
}
void HandleScopeImplementer::DeleteExtensions(internal::Object** prev_limit) {
while (!blocks_.empty()) {
internal::Object** block_start = blocks_.back();
internal::Object** block_limit = block_start + kHandleBlockSize;
// SealHandleScope may make the prev_limit to point inside the block.
if (block_start <= prev_limit && prev_limit <= block_limit) {
#ifdef ENABLE_HANDLE_ZAPPING
internal::HandleScope::ZapRange(prev_limit, block_limit);
#endif
break;
}
blocks_.pop_back();
#ifdef ENABLE_HANDLE_ZAPPING
internal::HandleScope::ZapRange(block_start, block_limit);
#endif
if (spare_ != nullptr) {
DeleteArray(spare_);
}
spare_ = block_start;
}
DCHECK((blocks_.empty() && prev_limit == nullptr) ||
(!blocks_.empty() && prev_limit != nullptr));
}
// Interceptor functions called from generated inline caches to notify
// CPU profiler that external callbacks are invoked.
void InvokeAccessorGetterCallback(
v8::Local<v8::Name> property,
const v8::PropertyCallbackInfo<v8::Value>& info,
v8::AccessorNameGetterCallback getter);
void InvokeFunctionCallback(const v8::FunctionCallbackInfo<v8::Value>& info,
v8::FunctionCallback callback);
class Testing {
public:
static v8::Testing::StressType stress_type() { return stress_type_; }
static void set_stress_type(v8::Testing::StressType stress_type) {
stress_type_ = stress_type;
}
private:
static v8::Testing::StressType stress_type_;
};
} // namespace internal
} // namespace v8
#endif // V8_API_H_
File diff suppressed because it is too large Load Diff
+54
View File
@@ -0,0 +1,54 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace NightOwl.demo
{
public class CSharp
{
private readonly string _testField;
public string TestProperty { get; set; }
#region RegionTest
public string Getter => TestProperty;
public CSharp(string testField)
{
_testField = testField;
string text = $"{TestProperty} this is a text string";
int number = 1;
}
#endregion
/// <summary>
/// Hello this is an xml comment
/// </summary>
/// <param name="testParam">param comment</param>
/// <returns></returns>
public async Task<string> TestMethod(string testParam)
{
for(var i = 0; i <= 5; i++)
{
testParam.Trim();
_testField?.Trim();
var enumVal = (int)TestEnum.TestValue;
// Hello this is a normal comment
new List<string>().Where(c => c == "Test");
}
return await Task.FromResult(testParam);
}
}
public enum TestEnum
{
TestValue
}
}
+16
View File
@@ -0,0 +1,16 @@
/* A comment */
div>.class .also_class {
background-image: url("data:image/svg+xml...");
position: relative;
}
/* Gradient background */
#identifier,
.box.special {
background-color: transparent !important;
background-image: linear-gradient(to bottom, #200933 65%, #3d0b43);
background-size: auto 100vh;
background-position: top;
background-repeat: no-repeat;
position: relative;
}
+8
View File
@@ -0,0 +1,8 @@
main : Program Never Model Msg
main =
program
{ init = init
, view = view
, update = update
, subscriptions = subscriptions
}
+80
View File
@@ -0,0 +1,80 @@
import 'package:flutter/material.dart';
void main()
{
runApp
(
new MaterialApp
(
home: new MyButton(),
)
);
}
class MyButton extends StatefulWidget
{
@override
MyButtonState createState() => new MyButtonState();
}
class MyButtonState extends State<MyButton>
{
String flutterText = "";
List<String> collection = ['Flutter', 'is', 'great'];
int index = 0;
void changeText()
{
setState
(
()
{
flutterText = collection[index];
index++;
index = index % 3;
}
);
}
@override
Widget build(BuildContext context)
{
return new Scaffold
(
appBar: new AppBar
(
title: new Text("Stateful Widget"),
backgroundColor: Colors.orangeAccent,
),
body: Center
(
child: new Column
(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>
[
new Text
(
flutterText,
style: new TextStyle(fontSize: 40.0)
),
new Padding
(
padding: new EdgeInsets.all(10.0)
),
new RaisedButton
(
child: new Text
(
"Update",
style: new TextStyle(color: Colors.white)
),
color: Colors.blueAccent,
onPressed: changeText,
)
],
)
)
);
}
}
+24
View File
@@ -0,0 +1,24 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<div id="app">Tacos Tacos</div>
<p>Tacos tacos tacos</p>
<!--comment-->
<script>
var x = '100';
x.toString();
</script>
</body>
</html>
+29
View File
@@ -0,0 +1,29 @@
import React from 'react'
import calculate from '../logic/calculate'
import './App.css'
import ButtonPanel from './ButtonPanel'
import Display from './Display'
class App extends React.Component {
constructor(props) {
super(props)
this.state = {
total: null
}
}
handleClick = buttonName => {
this.setState(calculate(this.state, buttonName))
}
render() {
return (
<div className="component-app">
Tacos
<Display value={this.state.next || this.state.total || '0'} />
<ButtonPanel clickHandler={this.handleClick} />
</div>
)
}
}
export default App
+73
View File
@@ -0,0 +1,73 @@
'use strict'
class Sale {
constructor(price) {
;[this.decoratorsList, this.price] = [[], price]
}
decorate(decorator) {
if (!Sale[decorator]) throw new Error(`decorator not exist: ${decorator}`)
this.decoratorsList.push(Sale[decorator])
}
getPrice() {
for (let decorator of this.decoratorsList) {
this.price = decorator(this.price)
}
return this.price.toFixed(2)
}
static quebec(price) {
// this is a comment
return price + price * 7.5 / 100
}
static fedtax(price) {
return price + price * 5 / 100
}
}
let sale = new Sale(100)
sale.decorate('fedtax')
sale.decorate('quebec')
console.log(sale.getPrice()) //112.88
getPrice()
//deeply nested
async function asyncCall() {
var result = await resolveAfter2Seconds();
}
const options = {
connections: {
compression: false
}
}
for (let i = 0; i < 10; i++) {
continue;
}
if (true) { }
while (true) { }
switch (2) {
case 2:
break;
default:
break;
}
class EditFishForm extends Component {
static propTypes = {
updateFish: PropTypes.func,
deleteFish: PropTypes.func,
index: PropTypes.string,
fish: PropTypes.shape({
image: PropTypes.string,
name: PropTypes.string.isRequired
})
}
}
+14
View File
@@ -0,0 +1,14 @@
{
"env": {
"es6": true,
"mocha": true,
"node": true
},
"extends": "eslint:recommended",
"rules": {
"indent": ["error", 2],
"linebreak-style": ["error", "unix"],
"quotes": ["error", "single"],
"semi": ["error", "always"]
}
}
+89
View File
@@ -0,0 +1,89 @@
# H1
This thoughtful tidbit betokens tenacious though tentative testing text.
Markdown examples from [Markdown Cheatsheet](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet).
## H2
Emphasis, aka italics, with *asterisks* or _underscores_.
Strong emphasis, aka bold, with **asterisks** or __underscores__.
Combined emphasis with **asterisks and _underscores_**.
Strikethrough uses two tildes. ~~Scratch this.~~
### H3
1. First ordered list item
2. Another item
⋅⋅* Unordered sub-list.
1. Actual numbers don't matter, just that it's a number
⋅⋅1. Ordered sub-list
4. And another item.
⋅⋅⋅You can have properly indented paragraphs within list items. Notice the blank line above, and the leading spaces (at least one, but we'll use three here to also align the raw Markdown).
⋅⋅⋅To have a line break without a paragraph, you will need to use two trailing spaces.⋅⋅
⋅⋅⋅Note that this line is separate, but within the same paragraph.⋅⋅
⋅⋅⋅(This is contrary to the typical GFM line break behaviour, where trailing spaces are not required.)
* Unordered list can use asterisks
- Or minuses
+ Or pluses
#### H4
[I'm an inline-style link](https://www.google.com)
[I'm an inline-style link with title](https://www.google.com "Google's Homepage")
[I'm a reference-style link][Arbitrary case-insensitive reference text]
[I'm a relative reference to a repository file](../blob/master/LICENSE)
[You can use numbers for reference-style link definitions][1]
Or leave it empty and use the [link text itself].
URLs and URLs in angle brackets will automatically get turned into links.
http://www.example.com or <http://www.example.com> and sometimes
example.com (but not on Github, for example).
Some text to show that the reference links can follow later.
[arbitrary case-insensitive reference text]: https://www.mozilla.org
[1]: http://slashdot.org
[link text itself]: http://www.reddit.com
##### H5
Here's our logo (hover to see the title text):
Inline-style:
![alt text](https://github.com/adam-p/markdown-here/raw/master/src/common/images/icon48.png "Logo Title Text 1")
Reference-style:
![alt text][logo]
[logo]: https://github.com/adam-p/markdown-here/raw/master/src/common/images/icon48.png "Logo Title Text 2"
###### H6
Colons can be used to align columns.
| Tables | Are | Cool |
| ------------- |:-------------:| -----:|
| col 3 is | right-aligned | $1600 |
| col 2 is | centered | $12 |
| zebra stripes | are neat | $1 |
There must be at least 3 dashes separating each header cell.
The outer pipes (|) are optional, and you don't need to make the
raw Markdown line up prettily. You can also use inline Markdown.
Markdown | Less | Pretty
--- | --- | ---
*Still* | `renders` | **nicely**
1 | 2 | 3
+36
View File
@@ -0,0 +1,36 @@
<?php
class HelloWorldTest extends PHPUnit_Framework_TestCase
{
/**
* @var PDO
*/
private $pdo;
public function setUp()
{
$this->pdo = new PDO($GLOBALS['db_dsn'], $GLOBALS['db_username'], $GLOBALS['db_password']);
$this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$this->pdo->query("CREATE TABLE hello (what VARCHAR(50) NOT NULL)");
}
public function tearDown()
{
$this->pdo->query("DROP TABLE hello");
}
public function testHelloWorld()
{
$helloWorld = new HelloWorld($this->pdo);
$this->assertEquals('Hello World', $helloWorld->hello());
}
public function testHello()
{
$helloWorld = new HelloWorld($this->pdo);
$this->assertEquals('Hello Bar', $helloWorld->hello('Bar'));
}
public function testWhat()
{
$helloWorld = new HelloWorld($this->pdo);
$this->assertFalse($helloWorld->what());
$helloWorld->hello('Bar');
$this->assertEquals('Bar', $helloWorld->what());
}
}
?>
+68
View File
@@ -0,0 +1,68 @@
<#
.SYNOPSIS
Provisions a example powershell function
.EXAMPLE
PS C:\> .\powershell.ps1 -Argument1 "hola soy un texto"
#>
[CmdletBinding()]
param(
[Parameter(Mandatory = $true, HelpMessage = "This argument is required")]
[String]
$textParameter
)
try {
#almost every function is called like this:
Write-Host "Initializing example function"
Write-Host "The parameter is " $textParameter -ForegroundColor Red
#this are variables
$customArray = @(
@{
Id = 1;
Value = "I'm an option";
},
@{
Id = 2;
Value = "Option No. 2";
}
)
foreach ($option in $customArray) {
Write-Host "Iterating options:" $option.Value
}
$collectionWithItems = New-Object System.Collections.ArrayList
$temp = New-Object System.Object
$temp | Add-Member -MemberType NoteProperty -Name "Title" -Value "Custom Object Title 1"
$temp | Add-Member -MemberType NoteProperty -Name "Subject" -Value "Delegación del plan de acción [Folio_PlandeAccion]"
$temp | Add-Member -MemberType NoteProperty -Name "Body" -Value "<div>This s a note example, with lots of text</div>
<div> <br/>&#160;</div>
<div>It happens to be in html format, but is just text the property couldnt't know<br/></div>
<div><br/>&#160;<br/></div>
<div>It's up for the one who uses me to render me correctly. <a href='/ligaPlanAccion'>Or not.</a></div>"
$collectionWithItems.Add($temp) | Out-Null
Write-Host "My collection has" $collectionWithItems.Count "item(s)" -ForegroundColor Green
#Calling some other scripts. Sometimes its nice to have a "master" script and call subscripts with other functions / actions
.\otherscript.ps1 "Parameter ?"
.\thisonewithoutparams.ps1
#little bit of SharePoint *the original issue* :D
$web = Get-SPWeb http://mysharepointsite
$list = $web.Lists["ListName"]
$query = New-Object Microsoft.SharePoint.SPQuery
$query.Query= "CAMLQuery here"
$query.ViewFields= "<FieldRef Name='ID'/><FieldRef Name='Title'/>"
$query.ViewFieldsOnly= $true
$listitems = $list.GetItems($query);
foreach($item in $listitems) {
if($item -ne $null) {
Write-Host "There is an elmeent in the list, id" $item.ID
}
}
}
catch {
Write-Host -ForegroundColor Red "Exception Type: $($_.Exception.GetType().FullName)"
Write-Host -ForegroundColor Red "Exception Message: $($_.Exception.Message)"
}
+11
View File
@@ -0,0 +1,11 @@
<!DOCTYPE html>
html(lang="en")
head
meta(charset="UTF-8")
meta(name="viewport", content="width=device-width, initial-scale=1.0")
meta(http-equiv="X-UA-Compatible", content="ie=edge")
title Document
body
h1 Pug
+34
View File
@@ -0,0 +1,34 @@
from collections import deque
def topo(G, ind=None, Q=[1]):
if ind == None:
ind = [0] * (len(G) + 1) # this is a comment
for u in G:
for v in G[u]:
ind[v] += 1
Q = deque()
for i in G:
if ind[i] == 0:
Q.append(i)
if len(Q) == 0:
return
v = Q.popleft()
print(v)
for w in G[v]:
ind[w] -= 1
if ind[w] == 0:
Q.append(w)
topo(G, ind, Q)
class SomeClass:
def create_arr(self): # An instance method
self.arr = []
def insert_to_arr(self, value): #An instance method
self.arr.append(value)
@classmethod
def class_method(cls):
print("the class method was called")
+31
View File
@@ -0,0 +1,31 @@
import React from 'react';
import calculate from '../logic/calculate';
import './App.css';
import ButtonPanel from './ButtonPanel';
import Display from './Display';
class App extends React.Component {
constructor(props) {
super(props)
this.state = {
total: null,
next: null,
operation: null
}
}
handleClick = buttonName => {
this.setState(calculate(this.state, buttonName))
}
render() {
return (
<div className="component-app">
Tacos
<Display value={this.state.next || this.state.total || '0'} />
<ButtonPanel clickHandler={this.handleClick} />
</div>
)
}
}
export default App
+17
View File
@@ -0,0 +1,17 @@
from bento import Beef, Mackerel, Sushi, Water
from kabukicho import neon
class RobotRestaurant:
# Come for the robots, stay for the neon
def make_robots(self):
self.robots = []
def make_robots_glow(self, neon):
self.robots.append(neon.everything)
def add_expensive_bento(self):
self.beef_bento = Beef()
self.fish_bento = Mackerel()
self.robot_sushi = Sushi()
self.mineral_water = Water()
+47
View File
@@ -0,0 +1,47 @@
module ExampleModule
class ExampleClass::ScopeResolution < NewScope::Operator
def initialize(options)
@@class_var = options[:class]
@instance_var = options[:instance]
end
def method
puts 'doing stuff'
yield if block_given?
other_method(:arg)
end
def self.class_method
return "I am a class method!"
end
private
def other_method(*args)
puts 'doing other stuff #{42}'
end
def self.private
[1, 2, 3].each do |item|
puts item
end
end
private_class_method :private
private
def user_params
params.require(:user).permit(:username, :email, :password)
params.pluck(:user)
end
end
end
ExampleModule::ExampleClass::ScopeResolution
example_instance = ExampleModule::ExampleClass::ScopeResolution.new(:arg)
example_instance.method(:arg) do
puts 'yielding in block!'
end
+35
View File
@@ -0,0 +1,35 @@
// I use this syntax when my component fits on one line
const ListItem = props => <li className="list-item">{props.item.name}</li>
// I use this when my component has no logic outside JSX
const List = ({ items }) => (
<ul className="list">{items.map(item => <ListItem item={item} />)}</ul>
)
// I use this when the component needs logic outside JSX.
const Body = props => {
let items = transformItems(props.rawItems)
return (
<div>
<h1>{props.header}</h1>
<List items={items} />
</div>
)
}
const Foo = () => <div>
<div></div>
</div>
// This is equivalent to the last example
function Page(props, context) {
return (
<div>
<Body header="My List" rawItems={props.rawItems} />
</div>
)
}
// propTypes and contextTypes are supported
Page.propTypes = {
rawItems: React.PropTypes.array.isRequired
}
+16
View File
@@ -0,0 +1,16 @@
.someClass {
font-family: serif;
}
#someID {
background: yellow;
}
main {
margin-top: 20px;
}
.someotherclass {
padding: 20px;
box-shadow: 0 0 0 2px inset;
}
+44
View File
@@ -0,0 +1,44 @@
import { Component, OnInit, OnDestroy } from '@angular/core'
import { Person, SearchService } from '../shared'
import { ActivatedRoute } from '@angular/router'
import { Subscription } from 'rxjs'
@Component({
selector: 'app-search',
templateUrl: './search.component.html',
styleUrls: ['./search.component.css']
})
export class SearchComponent implements OnInit, OnDestroy {
query: string
searchResults: Array<Person>
sub: Subscription
constructor(
private searchService: SearchService,
private route: ActivatedRoute
) {}
ngOnInit() {
this.sub = this.route.params.subscribe(params => {
if (params['term']) {
this.query = decodeURIComponent(params['term'])
this.search()
}
})
}
search(): void {
this.searchService.search(this.query).subscribe(
(data: any) => {
this.searchResults = data
},
error => console.log(error)
)
}
ngOnDestroy() {
if (this.sub) {
this.sub.unsubscribe()
}
}
}
+42
View File
@@ -0,0 +1,42 @@
<template>
<div>
<button @click="getNewIntent" :class="{ disabled: uiState === 'listening' }"></button>
</div>
</template>
<script>
export default {
props: {
aborted: {
type: Boolean,
default: false,
required: true
}
},
computed: {
uiState() {
return this.$store.state.uiState
}
},
methods: {
getNewIntent() {
this.$store.dispatch('getSpeech')
this.$emit('isaborted', false)
}
}
}
</script>
<style scoped>
button {
border-radius: 1000px;
background: teal;
margin-top: 10px;
transition: 0.3s all ease-out;
}
button.disabled {
background: #ccc;
cursor: none;
}
</style>
+13
View File
@@ -0,0 +1,13 @@
language: node_js
node_js:
- "6"
install:
- npm install
script:
- npm test
after_script:
- npm run coveralls
notifications:
email:
on_success: never
on_failure: always
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.
+159
View File
@@ -0,0 +1,159 @@
.mtk3,
.mtk6 {
color: #61e2ff;
text-shadow: 0 0 2px #001716, 0 0 5px #03edf933, 0 0 10px #ffff6633;
}
.mtk4 {
color: #ffffffee;
}
.mtk14 {
color: #9963ff;
}
.mtk8 {
color: #61ff96;
}
.mtk9,
.mtk10 {
color: #ffcc00;
text-shadow: 0 0 2px #100c0f, 0 0 3px #ffaa0099, 0 0 5px #ffaa0099, 0 0 10px #ffaa0099;
font-style: italic;
}
.mtk7 {
color: #9963ff;
}
.mtk5 {
color: #fc199a;
text-shadow: 0 0 2px #393a33, 0 0 6px #ffffff44, 0 0 8px #fc199a, 0 0 2px #fc199a;
}
.monaco-editor .margin,
.monaco-editor-background,
.monaco-editor .inputarea.ime-input {
background: transparent;
}
.monaco-workbench .part.editor>.content .editor-group-container.empty .editor-group-letterpress {
background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='41px' height='40px' viewBox='0 0 41 40' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3ClinearGradient x1='50%25' y1='0%25' x2='50%25' y2='97.6652818%25' id='linearGradient-1'%3E%3Cstop stop-color='%23FC28A8' offset='0%25'%3E%3C/stop%3E%3Cstop stop-color='%2303EDF9' offset='100%25'%3E%3C/stop%3E%3C/linearGradient%3E%3C/defs%3E%3Cg id='Page-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='letterpress-dark' fill='url(%23linearGradient-1)'%3E%3Cg id='Group'%3E%3Cpath d='M30.2354,39.8836 C29.9195,39.8862 29.6057,39.8287 29.3109,39.7139 C28.9896,39.5885 28.6977,39.3979 28.4539,39.1539 L12.6999,24.7799 L9.23917,27.4037 L5.83434,29.986 C5.70454,30.0845 5.56201,30.1626 5.41164,30.2189 C5.20259,30.2976 4.9783,30.3339 4.7519,30.3239 C4.36361,30.3068 3.99356,30.1543 3.70588,29.8929 L1.50588,27.8929 C1.33452,27.7368 1.19763,27.5466 1.10396,27.3346 C1.01029,27.1225 0.961914,26.8933 0.961914,26.6614 C0.961914,26.4296 1.01029,26.2004 1.10396,25.9883 C1.19763,25.7762 1.33452,25.5861 1.50588,25.4299 L7.45788,19.9999 L4.67072,17.4532 L1.50734,14.5689 C1.33584,14.4129 1.19883,14.2227 1.10507,14.0107 C1.01132,13.7986 0.962891,13.5693 0.962891,13.3374 C0.962891,13.1056 1.01132,12.8763 1.10507,12.6642 C1.19883,12.4521 1.33584,12.262 1.50734,12.1059 L3.70734,10.1059 C3.72926,10.086 3.75165,10.0667 3.7745,10.048 C4.05213,9.82027 4.39666,9.68789 4.7569,9.67196 C5.14519,9.65479 5.52725,9.77401 5.83688,10.0089 L12.6999,15.2179 L28.4519,0.843942 C28.5452,0.751682 28.6455,0.666763 28.7519,0.589942 C29.1153,0.325601 29.5436,0.164633 29.9911,0.124137 C30.0919,0.11502 30.1928,0.112086 30.2933,0.115234 C30.6444,0.123748 30.9918,0.206443 31.3117,0.360027 L39.5477,4.32103 C39.9716,4.52522 40.3292,4.84487 40.5795,5.24325 C40.7787,5.56023 40.9035,5.9168 40.9462,6.28629 C40.9574,6.38148 40.9632,6.47754 40.9633,6.57401 L40.9633,6.67295 C40.9633,6.65781 40.9631,6.64268 40.9627,6.62757 L40.9627,33.3704 C40.9631,33.3552 40.9633,33.3401 40.9633,33.3249 L40.9633,33.4199 C40.9633,33.5146 40.9579,33.609 40.9472,33.7025 C40.9055,34.0754 40.7802,34.4355 40.5793,34.7552 C40.329,35.1534 39.9714,35.4729 39.5477,35.677 L31.3117,39.638 C31.0191,39.7785 30.7037,39.8596 30.3833,39.879 C30.3341,39.882 30.2848,39.8835 30.2354,39.8836 Z M30.9509,10.9369 L19.0028,19.9987 L30.9549,29.0639 L30.9509,10.9369 Z' id='Shape'%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
position: relative;
}
/* Gradient for editor background */
.editor .content,
.monaco-editor {
background-color: transparent !important;
background-image: linear-gradient(to bottom, #200933 65%, #3d0b43);
background-size: auto 100vh;
background-position: top;
background-repeat: no-repeat;
position: relative;
}
.editor-container {
position: relative;
overflow: hidden;
}
.editor-group-container {
position: relative;
overflow: hidden;
}
.minimap-slider {
z-index: 3;
background: #fc199a33 !important;
}
.minimap.slider-mouseover {
z-index: 1;
}
/* Badges */
.monaco-workbench .activitybar>.content .monaco-action-bar .badge .badge-content {
background: linear-gradient(#fc28a8, #03edf9);
}
.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fit::after {
content: '';
position: absolute;
bottom: -1px;
left: 0;
right: 0;
height: 0px;
transition: opacity 1s;
opacity: 0;
}
/* Active sidebar item */
.monaco-workbench .activitybar>.content .monaco-action-bar .action-item.checked {
box-shadow: inset 0 -5px 25px #fc28a825;
position: relative;
}
.monaco-workbench .activitybar>.content .monaco-action-bar .action-item.checked::after {
content: '';
position: absolute;
bottom: 0px;
top: 0px;
left: 0px;
width: 4px;
background: linear-gradient(to bottom, #fc28a8, #03edf9) !important;
opacity: 1;
}
.monaco-workbench .activitybar>.content .monaco-action-bar .action-item::after {
content: '';
position: absolute;
bottom: 0px;
top: 0px;
left: 0px;
width: 0px;
transition: opacity 1s;
opacity: 0;
}
/* Active tab neon */
.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.active {
position: relative;
--tab-border-bottom-color: transparent !important;
}
/* Active tab stripe */
.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.active::before {
content: '';
position: absolute;
bottom: -1px;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(to right, #fc28a8, #03edf9) !important;
}
/* Neon lightbulb */
.lightbulb-glyph {
background: url("data:image/svg+xml,%3Csvg id='Layer_1' data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Crect fill='%23ffffff' x='5.68' y='6.93' width='2.1' height='6.1' rx='0.96' transform='translate(-1.94 1.63) rotate(-12.09)'/%3E%3Cpath fill='%2303edf9' d='M7.08,13.5a1.46,1.46,0,0,1-1.43-1.16L4.77,8.26A1.47,1.47,0,0,1,5.9,6.53l.17,0A1.46,1.46,0,0,1,7.81,7.61l.87,4.09a1.46,1.46,0,0,1-1.12,1.73l-.18,0Zm-.7-6h-.1l-.17,0a.45.45,0,0,0-.29.21.45.45,0,0,0-.07.34l.88,4.09a.46.46,0,0,0,.54.35l.18,0a.46.46,0,0,0,.29-.2.48.48,0,0,0,.07-.35L6.83,7.82A.46.46,0,0,0,6.38,7.46Z'/%3E%3Crect fill='%23ffffff' x='8.22' y='6.93' width='2.1' height='6.1' rx='0.96' transform='translate(16.25 21.68) rotate(-167.91)'/%3E%3Cpath fill='%2303edf9' d='M8.93,13.5a1.63,1.63,0,0,1-.31,0l-.18,0A1.46,1.46,0,0,1,7.32,11.7l.87-4.09A1.47,1.47,0,0,1,9.93,6.49l.18,0a1.45,1.45,0,0,1,.92.63,1.47,1.47,0,0,1,.2,1.1l-.88,4.08a1.45,1.45,0,0,1-.63.93A1.48,1.48,0,0,1,8.93,13.5Zm.69-6a.45.45,0,0,0-.25.07.5.5,0,0,0-.2.29L8.3,11.9a.43.43,0,0,0,.06.35.46.46,0,0,0,.29.2l.18,0a.47.47,0,0,0,.55-.35l.87-4.09a.45.45,0,0,0-.06-.34A.47.47,0,0,0,9.9,7.5l-.18,0Z'/%3E%3Cpath fill='%23ffffff' d='M11.77,9l-3.53.67a1,1,0,0,1-1.15-.88h0A1.09,1.09,0,0,1,7.9,7.48l3.53-.67a1,1,0,0,1,1.15.89h0A1.08,1.08,0,0,1,11.77,9Z'/%3E%3Cpath fill='%2303edf9' d='M8.07,10.18A1.54,1.54,0,0,1,6.6,8.83a1.74,1.74,0,0,1,.25-1.22,1.46,1.46,0,0,1,1-.66l3.52-.67A1.51,1.51,0,0,1,13.07,7.6a1.61,1.61,0,0,1-1.22,1.88l-3.52.67A1.15,1.15,0,0,1,8.07,10.18ZM11.6,7.34h-.09L8,8a.53.53,0,0,0-.4.62.5.5,0,0,0,.57.44l3.52-.67a.54.54,0,0,0,.41-.62A.53.53,0,0,0,11.6,7.34Z'/%3E%3Cpath fill='%23ffffff' d='M11.74,6.74,4.67,8.08A1,1,0,0,1,3.52,7.2h0A1.08,1.08,0,0,1,4.33,6l7.06-1.34a1,1,0,0,1,1.16.88h0A1.08,1.08,0,0,1,11.74,6.74Z'/%3E%3Cpath fill='%2303edf9' d='M4.5,8.64a1.44,1.44,0,0,1-.86-.29A1.64,1.64,0,0,1,3,7.29a1.72,1.72,0,0,1,.25-1.21,1.48,1.48,0,0,1,1-.67l7.07-1.34a1.39,1.39,0,0,1,1.11.27A1.65,1.65,0,0,1,13,5.4a1.72,1.72,0,0,1-.25,1.21,1.48,1.48,0,0,1-1,.67L4.76,8.62Zm7.07-3.5h-.09L4.42,6.49a.45.45,0,0,0-.32.22.56.56,0,0,0-.09.4.61.61,0,0,0,.21.35.47.47,0,0,0,.36.09L11.65,6.2A.47.47,0,0,0,12,6a.51.51,0,0,0,.08-.4.55.55,0,0,0-.2-.35A.47.47,0,0,0,11.57,5.14Z'/%3E%3Cpath fill='%23ffffff' d='M11.7,4.52,4.64,5.86A1,1,0,0,1,3.49,5h0A1.09,1.09,0,0,1,4.3,3.72l7.06-1.34a1,1,0,0,1,1.15.88h0A1.09,1.09,0,0,1,11.7,4.52Z'/%3E%3Cpath fill='%2303edf9' d='M4.46,6.42a1.36,1.36,0,0,1-.85-.3,1.58,1.58,0,0,1-.61-1A1.61,1.61,0,0,1,4.21,3.19l7.07-1.34a1.35,1.35,0,0,1,1.11.27,1.58,1.58,0,0,1,.61,1,1.74,1.74,0,0,1-.25,1.22,1.44,1.44,0,0,1-1,.66L4.72,6.39A1.09,1.09,0,0,1,4.46,6.42Zm7.07-3.51h-.08L4.38,4.26a.53.53,0,0,0-.4.62.5.5,0,0,0,.57.44L11.62,4a.47.47,0,0,0,.32-.22.62.62,0,0,0,.08-.4.56.56,0,0,0-.2-.35A.53.53,0,0,0,11.53,2.91Z'/%3E%3Cpath fill='%23ffffff' d='M8.34,2.89,4.57,3.6a1,1,0,0,1-1.15-.88h0a1.08,1.08,0,0,1,.81-1.25L8,.75a1,1,0,0,1,1.15.89h0A1.08,1.08,0,0,1,8.34,2.89Z'/%3E%3Cpath fill='%2303edf9' d='M4.4,4.16a1.44,1.44,0,0,1-.86-.29,1.69,1.69,0,0,1-.61-1.05A1.74,1.74,0,0,1,3.18,1.6a1.51,1.51,0,0,1,1-.67L7.91.22A1.38,1.38,0,0,1,9,.49a1.58,1.58,0,0,1,.61,1.05,1.74,1.74,0,0,1-.25,1.22,1.47,1.47,0,0,1-1,.66l-3.77.72A1.18,1.18,0,0,1,4.4,4.16ZM8.17,1.28H8.09L4.32,2A.45.45,0,0,0,4,2.23a.51.51,0,0,0-.08.4.55.55,0,0,0,.2.35.49.49,0,0,0,.37.09l3.77-.72a.47.47,0,0,0,.32-.22.62.62,0,0,0,.08-.4.56.56,0,0,0-.2-.35A.53.53,0,0,0,8.17,1.28Z'/%3E%3Cpolygon fill='%231e1e1e' points='5.5 11.1 5.5 11.1 5.5 14.4 7.1 16 9.1 16 10.6 14.4 10.6 11.1 5.5 11.1'/%3E%3Cpath fill='%23c5c5c5' d='M6.5,12h3v1h-3Zm1,3H8.6l.9-1h-3Z'/%3E%3C/svg%3E") 50% no-repeat !important;
filter: drop-shadow(0 0 5px #03edf9);
}
.monaco-editor .cursor {
background: linear-gradient(to bottom, #9c31da, #fc28a8);
box-shadow: 0 0 5px #fc199a;
border-color: #9c31da;
color: #241b2f;
}
.monaco-inputbox>.wrapper>textarea.input::selection {
background-color: rgba(255, 255, 255, 0.3);
}
.monaco-editor .line-numbers {
color: #9c31da66;
text-shadow: 0 0 2px #393a33, 0 0 6px #ffffff44, 0 0 10px #9c31da66, 0 0 2px #9c31da66;
}
.monaco-editor .editor-group-container.empty {}
+42
View File
@@ -0,0 +1,42 @@
{
"name": "kabukicho",
"displayName": "Kabukichō",
"description": "Neon vaporwave dark theme with dreamy nostalgia and hints of hazy liquid synth.",
"version": "0.0.1",
"publisher":"victoriadrake",
"icon": "icon.png",
"license": "SEE LICENSE IN LICENSE",
"bugs": {
"url": "https://github.com/victoriadrake/kabukicho-vscode/issues"
},
"repository": {
"type": "git",
"url": "https://github.com/victoriadrake/kabukicho-vscode"
},
"engines": {
"vscode": "^1.41.0"
},
"keywords": [
"purple",
"neon",
"retro",
"vaporwave",
"dark theme"
],
"galleryBanner": {
"color": "#200933",
"theme": "dark"
},
"categories": [
"Themes"
],
"contributes": {
"themes": [
{
"label": "Kabukichō",
"uiTheme": "vs-dark",
"path": "./themes/kabukicho-color-theme.json"
}
]
}
}
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 128 KiB