Skip to content

Commit

Permalink
feat(snippet): browse snippets
Browse files Browse the repository at this point in the history
  • Loading branch information
tericcabrel committed Nov 1, 2023
1 parent a4bd6b2 commit c47db3c
Show file tree
Hide file tree
Showing 90 changed files with 14,560 additions and 2,891 deletions.
2 changes: 2 additions & 0 deletions apps/core/src/resources/resolvers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import { updateSnippet } from './snippets/mutations/update-snippet';
import { findSnippet } from './snippets/queries/find-snippet';
import { mySnippets } from './snippets/queries/my-snippets';
import { publicSnippets } from './snippets/queries/public-snippets';
import { shortContentResolver } from './snippets/queries/resolvers/short-content';
import { dateScalar } from './types/date';
import { loginUser } from './users/mutations/login-user';
import { logoutUser } from './users/mutations/logout-user';
Expand Down Expand Up @@ -60,6 +61,7 @@ const resolvers: Resolvers = {
folder: (snippet, _args, context) => {
return context.db.folder.findById(snippet.folderId);
},
shortContent: shortContentResolver,
user: (snippet, _args, context) => {
return context.db.user.findById(snippet.userId);
},
Expand Down
1 change: 1 addition & 0 deletions apps/core/src/resources/schema.graphql.ts
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ export default gql`
id: ID!
name: String!
content: String!
shortContent: String!
language: String!
lineHighlight: String
size: Int!
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import { Snippet } from '../../../../types/graphql';

const MAX_CONTENT_LINES = 10;

export const shortContentResolver = async (snippet: Snippet): Promise<string> => {
const contentAsArray = snippet.content.split('\n');
const maxItem = Math.min(MAX_CONTENT_LINES, contentAsArray.length);

return contentAsArray.slice(0, maxItem).join('\n');
};
2 changes: 2 additions & 0 deletions apps/core/src/types/graphql.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -216,6 +216,7 @@ export type Snippet = {
language: Scalars['String'];
lineHighlight?: Maybe<Scalars['String']>;
name: Scalars['String'];
shortContent: Scalars['String'];
size: Scalars['Int'];
theme: Scalars['String'];
updatedAt: Scalars['Date'];
Expand Down Expand Up @@ -592,6 +593,7 @@ export type SnippetResolvers<
language?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
lineHighlight?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
name?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
shortContent?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
size?: Resolver<ResolversTypes['Int'], ParentType, ContextType>;
theme?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
updatedAt?: Resolver<ResolversTypes['Date'], ParentType, ContextType>;
Expand Down
10 changes: 5 additions & 5 deletions apps/web/public/assets/shiki/languages/abap.tmLanguage.json
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@
"end": "\\s*\\.\\s*\\n?",
"patterns": [
{
"match": "(?ix)(?<=^|\\s)(BY\\s+DATABASE(\\s+PROCEDURE|\\s+FUNCTION))(?=\\s+|\\.)",
"match": "(?ix)(?<=^|\\s)(BY\\s+DATABASE(\\s+PROCEDURE|\\s+FUNCTION|\\s+GRAPH\\s+WORKSPACE))(?=\\s+|\\.)",
"name": "storage.modifier.method.abap"
},
{
Expand All @@ -147,11 +147,11 @@
"name": "storage.modifier.method.abap"
},
{
"match": "(?ix)(?<=^|\\s)(LANGUAGE\\s+SQLSCRIPT)(?=\\s+|\\.)",
"match": "(?ix)(?<=^|\\s)(LANGUAGE\\s+(SQLSCRIPT|SQL|GRAPH))(?=\\s+|\\.)",
"name": "storage.modifier.method.abap"
},
{
"match": "(?ix)(?<=\\s)(USING)\\s+([a-z_\\/][a-z_0-9\\/]*)+(?=\\s+|\\.)",
"match": "(?ix)(?<=\\s)(USING)\\s+([a-z_\\/][a-z_0-9\\/=\\>]*)+(?=\\s+|\\.)",
"captures": {
"1": {
"name": "storage.modifier.method.abap"
Expand Down Expand Up @@ -264,7 +264,7 @@
"name": "keyword.control.simple.abap"
},
"comparison_operator": {
"match": "(?i)(?<=\\s)(<|>|<\\=|>\\=|\\=|<>|eq|ne|lt|le|gt|ge|cs|cp)(?=\\s)",
"match": "(?i)(?<=\\s)(<|>|<\\=|>\\=|\\=|<>|eq|ne|lt|le|gt|ge|cs|cp|co|cn|ca|na|ns|np|byte-co|byte-cn|byte-ca|byte-na|byte-cs|byte-ns|o|z|m)(?=\\s)",
"name": "keyword.control.simple.abap"
},
"control_keywords": {
Expand Down Expand Up @@ -306,7 +306,7 @@
}
},
"main_keywords": {
"match": "(?ix)(?<=^|\\s)(\n\t abstract|access|add|add-corresponding|adjacent|alias|aliases|all|append|appending|ascending|as|assert|assign|assigned|assigning|association|authority-check|\n\t back|badi|base|begin|between|binary|blanks|block|bound|break-point|by|byte|\n\t call|calling|cast|changing|check|checkbox|class-data|class-events|class-method|class-methods|class-pool|clear|close|cnt|collect|commit|comment|cond|character|\n\t corresponding|communication|comparing|component|compute|concatenate|condense|constants|conv|count|\n\t controls|convert|create|currency|\n\t data|descending|default|define|deferred|delete|describe|destination|detail|display|divide|divide-corresponding|display-mode|distinct|duplicates|\n\t deleting|\n\t editor-call|empty|end|endexec|endfunction|ending|endmodule|end-of-definition|end-of-page|end-of-selection|end-test-injection|end-test-seam|exit-command|extension|\n\t endprovide|endselect|endtry|endwhile|enum|event|events|excluding|exec|exit|export|\n\t exporting|extract|exception|exceptions|\n\t field-symbols|field-groups|field|first|fetch|fields|format|frame|free|from|function|find|for|found|function-pool|\n\t generate|get|group|\n\t handle|handler|hide|hashed|header|help-request|\n\t include|import|importing|index|infotypes|initial|initialization|\n\t\t\t\t\tid|implemented|ignoring|is|in|inner|interface|interfaces|interface-pool|intervals|init|input|insert|instance|into|\n\t\t\t\t\tjoin|\n\t\t\tkey|\n\t language|left-justified|leave|like|line|lines|line-count|line-size|list-processing|load|local|log-point|length|left|leading|lower|\n\t matchcode|memory|method|mesh|message|message-id|methods|mode|modify|module|move|move-corresponding|multiply|multiply-corresponding|match|modif|\n\t\t\tnew|new-line|new-page|new-section|next|no|no-display|no-gap|no-gaps|no-sign|no-zero|non-unique|number|\n\t occurrence|object|obligatory|of|output|overlay|optional|others|occurrences|occurs|offset|options|\n\t pack|parameter|parameters|partially|perform|pf-status|places|position|print-control|private|privileged|program|protected|provide|public|put|\n\t radiobutton\\s+group|raising|range|ranges|receive|receiving|redefinition|reduce|reference|refresh|regex|reject|results|requested|\n\t ref|replace|report|reserve|respecting|restore|result\\s+xml|return|returning|right|right-justified|rollback|read|read-only|rp-provide-from-last|run|\n\t scan|screen|scroll|search|select|select-options|selection-screen|set|stamp|state|source|subkey|\n\t seconds|separated|set|shift|single|skip|sort|sorted|split|standard|stamp|starting|start-of-selection|sum|subtract-corresponding|statics|step|stop|structure|submatches|submit|subtract|summary|supplied|suppress|section|syntax-check|syntax-trace|system-call|switch|\n\t tables|table|task|testing|test-seam|test-injection|textpool|then|time|times|title|titlebar|to|top-of-page|trailing|transaction|transfer|transformation|translate|transporting|types|type|type-pool|type-pools|\n\t unassign|unique|uline|union|unpack|until|update|upper|using|user-command|\n\t value|value-request|\n\t wait|when|while|window|write|where|with|work|\n\t\txml)(?=\\s|\\.|:|,)",
"match": "(?ix)(?<=^|\\s)(\n\t abstract|access|add|add-corresponding|adjacent|alias|aliases|all|amdp|append|appending|ascending|as|assert|assign|assigned|assigning|association|authority-check|\n\t back|badi|base|begin|between|binary|blanks|block|bound|break-point|by|by\\s+database|byte|\n\t call|calling|cast|casting|cds\\s+session|changing|check|checkbox|class-data|class-events|class-method|class-methods|class-pool|cleanup|clear|client|clients|close|cnt|collect|commit|comment|cond|character|\n\t corresponding|communication|comparing|component|components|compute|concatenate|condense|constants|conv|count|\n\t controls|convert|create|currency|current|\n\t data|database|ddl|decimals|default|define|deferred|delete|descending|describe|destination|detail|display|divide|divide-corresponding|display-mode|distinct|duplicates|\n\t deleting|\n\t editor-call|empty|end|endenhancement|endexec|endfunction|ending|endmodule|end-of-definition|end-of-page|end-of-selection|end-test-injection|end-test-seam|exit-command|extension|\n\t endprovide|endselect|entries|endtry|endwhile|enhancement|enum|event|events|excluding|exec|exit|export|\n\t exporting|extract|exception|exceptions|\n\t field-symbols|field-groups|field|first|fetch|fields|format|frame|free|from|function|find|for|found|function-pool|\n\t generate|get|group|\n\t handle|handler|hide|hashed|header|help-request|\n\t include|import|importing|index|infotypes|initial|initialization|\n\t\tid|implemented|ignoring|is|in|inner|interface|interfaces|interface-pool|intervals|init|input|insert|instance|into|\n\t\tjoin|\n\t\tkey|\n\t language|language\\s+graph|language\\s+sql|left-justified|leave|let|like|line|lines|line-count|line-size|listbox|list-processing|load|local|log-point|length|left|leading|lower|\n\t matchcode|memory|method|mesh|message|message-id|methods|mode|modify|module|move|move-corresponding|multiply|multiply-corresponding|match|modif|\n\t\tnew|new-line|new-page|new-section|next|no|no-display|no-gap|no-gaps|no-sign|no-zero|non-unique|number|\n\t occurrence|object|obligatory|of|order|output|overlay|optional|others|occurrences|occurs|offset|options|\n\t pack|parameter|parameters|partially|perform|pf-status|places|position|preferred|primary|print-control|private|privileged|program|protected|provide|public|pushbutton|put|\n\t radiobutton\\s+group|raising|range|ranges|receive|receiving|redefinition|reduce|reference|refresh|regex|reject|results|requested|\n\t ref|replace|report|required|reserve|respecting|restore|result\\s+xml|result\\s+\\(|return|returning|right|right-justified|rollback|read|read-only|rp-provide-from-last|run|\n\t scan|screen|scroll|search|select|select-options|selection-screen|set|stamp|state|source|subkey|\n\t seconds|selection-table|separated|set|shift|single|skip|sort|sorted|split|stable|standard|stamp|starting|start-of-selection|sum|subscreen|subtract-corresponding|statics|step|stop|structure|submatches|submit|subtract|summary|supplied|suppress|section|syntax-check|syntax-trace|system-call|switch|\n\t tabbed|tables|table|task|testing|test-seam|test-injection|textpool|then|time|times|title|titlebar|to|top-of-page|trailing|transaction|transfer|transformation|translate|transporting|types|type|type-pool|type-pools|\n\t unassign|unique|uline|union|unpack|until|update|upper|using|user-command|\n\t value|value-request|visible|\n\t wait|when|while|window|write|where|with|work|workspace|\n\t\txml)(?=\\s|\\.|:|,)",
"name": "keyword.control.simple.abap"
},
"text_symbols": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -572,7 +572,7 @@
]
},
"method": {
"begin": "(?x) (^|\\s+) ((\\w+)\\s+)? ((\\w+)\\s+)? ((\\w+)\\s+)? (\\w+) (?=\\s+\\bfunction\\b)",
"begin": "(?x) (^|\\s+) ((\\w+)\\s+)? ((\\w+)\\s+)? ((\\w+)\\s+)? ((\\w+)\\s+)? (?=\\bfunction\\b)",
"beginCaptures": {
"3": {
"name": "storage.modifier.actionscript.3"
Expand Down
Loading

0 comments on commit c47db3c

Please sign in to comment.