Skip to content

Instantly share code, notes, and snippets.

@bundle-js
Created March 22, 2023 05:16
Show Gist options
  • Save bundle-js/f19f1f0c0edabfa56ebba945a371d1b7 to your computer and use it in GitHub Desktop.
Save bundle-js/f19f1f0c0edabfa56ebba945a371d1b7 to your computer and use it in GitHub Desktop.
var h=Object.create;var C=Object.defineProperty;var P=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames;var f=Object.getPrototypeOf,p=Object.prototype.hasOwnProperty;var O=(e,E)=>()=>(E||e((E={exports:{}}).exports,E),E.exports);var s=(e,E,t,N)=>{if(E&&typeof E=="object"||typeof E=="function")for(let A of x(E))!p.call(e,A)&&A!==t&&C(e,A,{get:()=>E[A],enumerable:!(N=P(E,A))||N.enumerable});return e},L=(e,E,t)=>(s(e,E,"default"),t&&s(t,E,"default")),B=(e,E,t)=>(t=e!=null?h(f(e)):{},s(E||!e||!e.__esModule?C(t,"default",{value:e,enumerable:!0}):t,e));var D=O((V,o)=>{o.exports=["ADD","ADD CONSTRAINT","ALTER","ALTER COLUMN","ALTER TABLE","ALL","AND","ANY","AS","ASC","BACKUP DATABASE","BETWEEN","CASE","CHECK","COLUMN","CONSTRAINT","CREATE","CREATE DATABASE","CREATE INDEX","CREATE OR REPLACE VIEW","CREATE TABLE","CREATE PROCEDURE","CREATE UNIQUE INDEX","CREATE VIEW","DATABASE","DEFAULT","DELETE","DESC","DISTINCT","DROP","DROP COLUMN","DROP CONSTRAINT","DROP DATABASE","DROP DEFAULT","DROP INDEX","DROP TABLE","DROP VIEW","EXEC","EXISTS","FOREIGN KEY","FROM","FULL OUTER JOIN","GROUP BY","HAVING","IN","INDEX","INNER JOIN","INSERT INTO","INSERT INTO SELECT","IS NULL","IS NOT NULL","JOIN","LEFT JOIN","LIKE","LIMIT","NOT","NOT NULL","OR","ORDER BY","OUTER JOIN","PRIMARY KEY","PROCEDURE","RIGHT JOIN","ROWNUM","SELECT","SELECT DISTINCT","SELECT INTO","SELECT TOP","SET","TABLE","TOP","TRUNCATE TABLE","UNION","UNION ALL","UNIQUE","UPDATE","VALUES","VIEW","WHERE","PRAGMA","INTEGER","PRIMARY","CHAR","DATETIME","DECIMAL","BINARY","TIMESTAMP","VARCHAR","VARBINARY","TINYBLOB","TINYTEXT","BLOB","LONGTEXT","NULL","REFERENCES","INDEX_LIST","BY","CURRENT_DATE","CURRENT_TIME","EACH","ELSE","ELSEIF","FALSE","FOR","GROUP","IF","IFNULL","INSERT","INTERVAL","INTO","IS","KEY","KEYS","LEFT","MATCH","ON","OPTION","ORDER","OUT","OUTER","REPLACE","TINYINT","RIGHT","LEADING","TRAILING","THEN","TO","TRUE","WHEN","WITH","UNSIGNED","CASCADE","ENGINE","TEXT","AUTO_INCREMENT","SHOW","BEGIN","END","PRINT","OVERLAPS"]});var l=O((X,g)=>{var b={34:"&quot;",38:"&amp;",39:"&#39;",60:"&lt;",62:"&gt;"};function M(e){let E="",t=0;for(let N=0;N<e.length;N++){let A=b[e.charCodeAt(N)];A&&(t!==N&&(E+=e.substring(t,N)),t=N+1,E+=A)}return E+e.substring(t)}g.exports=M});var U=O((K,S)=>{"use strict";var d=D(),H=l(),Y={html:!1,htmlEscaper:H,classPrefix:"sql-hl-",colors:{keyword:"\x1B[35m",function:"\x1B[31m",number:"\x1B[32m",string:"\x1B[32m",special:"\x1B[33m",bracket:"\x1B[33m",clear:"\x1B[0m"}},i="[^a-zA-Z_]",a="default",F=[{name:"keyword",group:1,regex:new RegExp(`(^|${i})(${d.join("|")})(?=${i}|$)`,"gi")},{name:"special",regex:/(=|!=|%|\/|\*|-|,|;|:|\+|<|>)/g},{name:"function",regex:/(\w+?)\(/g,trimEnd:1},{name:"number",regex:/(\b\d+(?:\.\d+)?)/g},{name:"string",regex:/(['](?:\\'|.)*?[']|["](?:\\"|.)*?["]|[`](?:\\`|.)*?[`])/g},{name:"bracket",regex:/([()])/g}];function m(e){let E=[];for(let T of F){let R;for(;R=T.regex.exec(e);){let I=R[0],c=0;if(T.group){I=R[T.group+1];for(let r=1;r<=T.group;r++)c+=R[r].length}let u=T.trimEnd?I.substring(0,I.length-T.trimEnd):I;E.push({name:T.name,start:R.index+c,length:u.length})}}let t=E.slice().sort((T,R)=>T.start-R.start),N=[],A=0;for(let T=0;T<t.length;T++)t[T].start<A||(t[T].start>A&&N.push({name:a,content:e.substring(A,t[T].start)}),N.push({name:t[T].name,content:e.substring(t[T].start,t[T].start+t[T].length)}),A=t[T].start+t[T].length);return A<e.length-1&&N.push({name:a,content:e.substring(A,A+e.length+1)}),N}function G(e,E){return E=Object.assign({},Y,E),m(e).map(({name:t,content:N})=>{if(t===a)return N;if(E.html){let A=E.htmlEscaper(N);return`<span class="${E.classPrefix}${t}">${A}</span>`}return E.colors[t]+N+E.colors.clear}).join("")}S.exports={getSegments:m,highlight:G}});var n={};L(n,B(U()));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment