Advertisement
Colornapse_Themes

Untitled

Nov 10th, 2018
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.06 KB | None | 0 0
  1. New Theme Beta
  2.  
  3. <!DOCTYPE html>
  4.  
  5. <html lang="en" xmlns="http://www.w3.org/1999/xhtml">
  6. <head>
  7. <style type="text/css">
  8. html,
  9. body {
  10. width: 100%;
  11. height: 100%;
  12. margin: 0;
  13. padding: 0;
  14. overflow: hidden;
  15. }
  16. </style>
  17. <meta charset="utf-8" />
  18. <title></title>
  19. </head>
  20. <body>
  21. <div id="container" style="width:100%;height:100%;"></div>
  22. <script src="vs/loader.js"></script>
  23. <script type="text/javascript">
  24. require.config({ paths: { 'vs': 'vs' } });
  25. // API
  26. var GetText;
  27. var SetText;
  28. var SetTheme;
  29. var SetScroll;
  30. var ShowErr;
  31. var Refresh;
  32.  
  33. // Enablers
  34. var SwitchMinimap;
  35. var SwitchReadonly;
  36. var SwitchRenderWhitespace;
  37. var SwitchLinks;
  38. var SwitchLineHeight;
  39. var SwitchFontSize;
  40. var SwitchFolding;
  41. var SwitchAutoIndent;
  42. var SwitchFontFamily;
  43. var SwitchFontLigatures;
  44. var AddIntellisense;
  45.  
  46. // Variables
  47. var editor;
  48. var Proposals = [];
  49.  
  50. require(['vs/editor/editor.main'], function () {
  51. function getDependencyProposals() {
  52. return Proposals;
  53. }
  54.  
  55. monaco.languages.registerCompletionItemProvider('lua', {
  56. provideCompletionItems: function(model, position) {
  57. return getDependencyProposals();
  58. }
  59. });
  60.  
  61. monaco.editor.defineTheme('net-theme-light', {
  62. base: 'vs',
  63. inherit: true,
  64. rules: [
  65. { token: 'global', foreground: '000000' },
  66. { token: 'keyword', foreground: 'ff6a00' },
  67. { token: 'comment', foreground: '666666' },
  68. { token: 'number', foreground: 'ffc600' },
  69. { token: 'string', foreground: 'ff8c3a' },
  70. ]
  71. });
  72.  
  73. monaco.editor.defineTheme('net-theme-dark', {
  74. base: 'vs-dark',
  75. inherit: true,
  76. rules: [
  77. { token: 'global', foreground: 'FFFFFF', fontStyle: "bold" },
  78. { token: 'keyword', foreground: 'ff6a00', fontStyle: "bold" },
  79. { token: 'comment', foreground: '666666' },
  80. { token: 'number', foreground: 'ffc600' },
  81. { token: 'string', foreground: 'ff8c3a' },
  82. ]
  83. });
  84.  
  85. editor = monaco.editor.create(document.getElementById('container'), {
  86. value: [
  87. "--[[",
  88. " Lua Script",
  89. "--]]",
  90. ].join('\n'),
  91. language: 'lua',
  92. theme: "net-theme-light",
  93. folding: true,
  94. scrollbar: {
  95. verticalHasArrows: true,
  96. },
  97. dragAndDrop: true,
  98. links: false,
  99. minimap: {
  100. enabled: false,
  101. },
  102. showFoldingControls: "always",
  103. smoothScrolling: true,
  104. });
  105.  
  106. window.onresize = function() {
  107. editor.layout();
  108. };
  109.  
  110. GetText = function() {
  111. return editor.getValue();
  112. }
  113.  
  114. SetText = function(x) {
  115. editor.setValue(x);
  116. }
  117.  
  118. SetTheme = function(themeName) {
  119. if (themeName == "Dark") {
  120. monaco.editor.setTheme("net-theme-dark");
  121. }
  122. if (themeName == "Light") {
  123. monaco.editor.setTheme("net-theme-light");
  124. }
  125. }
  126.  
  127. SwitchMinimap = function(flag) {
  128. editor.updateOptions({
  129. minimap: {
  130. enabled: flag,
  131. }
  132. });
  133. }
  134.  
  135. SwitchReadonly = function(flag) {
  136. editor.updateOptions({
  137. readOnly: flag,
  138. });
  139. }
  140.  
  141. SwitchRenderWhitespace = function(op) {
  142. editor.updateOptions({
  143. renderWhitespace: op,
  144. });
  145. }
  146.  
  147. SwitchLinks = function(flag) {
  148. editor.updateOptions({
  149. links: flag,
  150. });
  151. }
  152.  
  153. SwitchLineHeight = function(num) {
  154. editor.updateOptions({
  155. lineHeight: num,
  156. });
  157. }
  158.  
  159. SwitchFontSize = function(num) {
  160. editor.updateOptions({
  161. fontSize: num,
  162. });
  163. }
  164.  
  165. SwitchFolding = function(flag) {
  166. editor.updateOptions({
  167. folding: flag,
  168. });
  169. }
  170.  
  171. SwitchAutoIndent = function(flag) {
  172. editor.updateOptions({
  173. autoIndent: flag,
  174. });
  175. }
  176.  
  177. SwitchFontFamily = function(name) {
  178. editor.updateOptions({
  179. fontFamily: name,
  180. });
  181. }
  182.  
  183. SwitchFontLigatures = function(flag) {
  184. editor.updateOptions({
  185. fontLigatures: flag,
  186. });
  187. }
  188.  
  189.  
  190. ShowErr = function(line, column, endline, endcolumn, errMessage) {
  191. editor.revealPositionInCenter({ lineNumber: line, column: column});
  192. editor.deltaDecorations([], [
  193. {
  194. range: new monaco.Range(line, column, endline, endcolumn),
  195. options: {
  196. inlineClassName: 'squiggly-error',
  197. hoverMessage: {
  198. value: errMessage,
  199. }
  200. },
  201. },
  202. ]);
  203. }
  204.  
  205. AddIntellisense = function(l, k, d, i) {
  206. var t;
  207. switch(k)
  208. {
  209. case "Class":
  210. t = monaco.languages.CompletionItemKind.Class;
  211. break;
  212. case "Color":
  213. t = monaco.languages.CompletionItemKind.Color;
  214. break;
  215. case "Constructor":
  216. t = monaco.languages.CompletionItemKind.Constructor;
  217. break;
  218. case "Enum":
  219. t = monaco.languages.CompletionItemKind.Enum;
  220. break;
  221. case "Field":
  222. t = monaco.languages.CompletionItemKind.Field;
  223. break;
  224. case "File":
  225. t = monaco.languages.CompletionItemKind.File;
  226. break;
  227. case "Folder":
  228. t = monaco.languages.CompletionItemKind.Folder;
  229. break;
  230. case "Function":
  231. t = monaco.languages.CompletionItemKind.Function;
  232. break;
  233. case "Interface":
  234. t = monaco.languages.CompletionItemKind.Interface;
  235. break;
  236. case "Keyword":
  237. t = monaco.languages.CompletionItemKind.Keyword;
  238. break;
  239. case "Method":
  240. t = monaco.languages.CompletionItemKind.Method;
  241. break;
  242. case "Module":
  243. t = monaco.languages.CompletionItemKind.Module;
  244. break;
  245. case "Property":
  246. t = monaco.languages.CompletionItemKind.Property;
  247. break;
  248. case "Reference":
  249. t = monaco.languages.CompletionItemKind.Reference;
  250. break;
  251. case "Snippet":
  252. t = monaco.languages.CompletionItemKind.Snippet;
  253. break;
  254. case "Text":
  255. t = monaco.languages.CompletionItemKind.Text;
  256. break;
  257. case "Unit":
  258. t = monaco.languages.CompletionItemKind.Unit;
  259. break;
  260. case "Value":
  261. t = monaco.languages.CompletionItemKind.Value;
  262. break;
  263. case "Variable":
  264. t = monaco.languages.CompletionItemKind.Variable;
  265. break;
  266. }
  267.  
  268. Proposals.push({
  269. label: l,
  270. kind: t,
  271. detail: d,
  272. insertText: i
  273. });
  274. }
  275. document.getElementsByClassName("lines-content monaco-editor-background")[0].style.backgroundImage="url(https://i.imgur.com/73j80AZ.png)"
  276. document.getElementsByClassName("margin")[0].style.backgroundImage="url(https://i.imgur.com/73j80AZ.png)"
  277. SetScroll = function(line) {
  278. editor.revealLineInCenter({ lineNumber: line});
  279. }
  280.  
  281. Refresh = function() {
  282. var text = getText();
  283. setText("");
  284. editor.trigger('keyboard', 'type', {text: text});
  285. }
  286. });
  287. </script>
  288. </body>
  289. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement