mirror of
https://github.com/overleaf/overleaf.git
synced 2025-04-14 22:35:25 +00:00
Merge pull request #19418 from overleaf/mj-write-and-cite-custom-render
[web] Write & Cite autocomplete prototype GitOrigin-RevId: f51edb9b1ab9cc2ac8f18277cb291ee87650c213
This commit is contained in:
parent
f4896b2152
commit
34422b1428
8 changed files with 33 additions and 18 deletions
13
package-lock.json
generated
13
package-lock.json
generated
|
@ -3274,9 +3274,9 @@
|
|||
},
|
||||
"node_modules/@codemirror/autocomplete": {
|
||||
"version": "6.12.0",
|
||||
"resolved": "git+ssh://git@github.com/overleaf/codemirror-autocomplete.git#51ba3679f062cd0d216095bc1dc0b0cf64576939",
|
||||
"resolved": "git+ssh://git@github.com/overleaf/codemirror-autocomplete.git#7af69bc097a328a123f116c05787436e34e5b572",
|
||||
"integrity": "sha512-cjfnTZXLQJ19SFIzsdW6HEVUgiZ9vJu16KwbfLIXu8pEz5B5stubsSFrYUw/vyFuvllaT7xVIEF+tiUaqwdVVA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@codemirror/language": "^6.0.0",
|
||||
"@codemirror/state": "^6.0.0",
|
||||
|
@ -44276,7 +44276,7 @@
|
|||
"@babel/preset-react": "^7.22.15",
|
||||
"@babel/preset-typescript": "^7.23.2",
|
||||
"@babel/register": "^7.22.15",
|
||||
"@codemirror/autocomplete": "github:overleaf/codemirror-autocomplete#v6.12.0-overleaf-1",
|
||||
"@codemirror/autocomplete": "github:overleaf/codemirror-autocomplete#v6.12.0-overleaf-2",
|
||||
"@codemirror/commands": "^6.4.0",
|
||||
"@codemirror/lang-markdown": "^6.2.4",
|
||||
"@codemirror/language": "^6.10.0",
|
||||
|
@ -47881,9 +47881,10 @@
|
|||
"dev": true
|
||||
},
|
||||
"@codemirror/autocomplete": {
|
||||
"version": "git+ssh://git@github.com/overleaf/codemirror-autocomplete.git#51ba3679f062cd0d216095bc1dc0b0cf64576939",
|
||||
"version": "git+ssh://git@github.com/overleaf/codemirror-autocomplete.git#7af69bc097a328a123f116c05787436e34e5b572",
|
||||
"integrity": "sha512-cjfnTZXLQJ19SFIzsdW6HEVUgiZ9vJu16KwbfLIXu8pEz5B5stubsSFrYUw/vyFuvllaT7xVIEF+tiUaqwdVVA==",
|
||||
"dev": true,
|
||||
"from": "@codemirror/autocomplete@github:overleaf/codemirror-autocomplete#v6.12.0-overleaf-1",
|
||||
"from": "@codemirror/autocomplete@github:overleaf/codemirror-autocomplete#v6.12.0-overleaf-2",
|
||||
"requires": {
|
||||
"@codemirror/language": "^6.0.0",
|
||||
"@codemirror/state": "^6.0.0",
|
||||
|
@ -52596,7 +52597,7 @@
|
|||
"@babel/preset-react": "^7.22.15",
|
||||
"@babel/preset-typescript": "^7.23.2",
|
||||
"@babel/register": "^7.22.15",
|
||||
"@codemirror/autocomplete": "github:overleaf/codemirror-autocomplete#v6.12.0-overleaf-1",
|
||||
"@codemirror/autocomplete": "github:overleaf/codemirror-autocomplete#v6.12.0-overleaf-2",
|
||||
"@codemirror/commands": "^6.4.0",
|
||||
"@codemirror/lang-markdown": "^6.2.4",
|
||||
"@codemirror/language": "^6.10.0",
|
||||
|
|
|
@ -338,6 +338,7 @@ const _ProjectController = {
|
|||
'track-pdf-download',
|
||||
!anonymous && 'writefull-oauth-promotion',
|
||||
'ieee-stylesheet',
|
||||
'write-and-cite',
|
||||
].filter(Boolean)
|
||||
|
||||
const getUserValues = async userId =>
|
||||
|
|
|
@ -1152,6 +1152,7 @@
|
|||
"saving_notification_with_seconds": "",
|
||||
"search": "",
|
||||
"search_bib_files": "",
|
||||
"search_by_citekey_author_year_title": "",
|
||||
"search_command_find": "",
|
||||
"search_command_replace": "",
|
||||
"search_in_all_projects": "",
|
||||
|
|
|
@ -167,7 +167,7 @@ export const makeMultipleArgumentCompletionSource = (
|
|||
CompletionBuilderOptions,
|
||||
'completions' | 'context' | 'existingKeys' | 'from' | 'validFor'
|
||||
>
|
||||
) => CompletionResult | null
|
||||
) => ReturnType<CompletionSource>
|
||||
): CompletionSource => {
|
||||
const completionSource: CompletionSource = (context: CompletionContext) => {
|
||||
const token = context.tokenBefore(ifInSpec)
|
||||
|
|
|
@ -21,6 +21,10 @@ export function buildReferenceCompletions(
|
|||
type: 'reference',
|
||||
label: referenceKey,
|
||||
extend: extendRequiredParameter,
|
||||
deduplicate: {
|
||||
key: referenceKey,
|
||||
priority: 1,
|
||||
},
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,7 +21,7 @@ export const ifInType = (
|
|||
}
|
||||
}
|
||||
|
||||
export function isInEmptyArgumentNodeForAutocomplete(state: EditorState) {
|
||||
function isInEmptyArgumentNodeOfType(state: EditorState, types: string[]) {
|
||||
const main = state.selection.main
|
||||
if (!main.empty) {
|
||||
return false
|
||||
|
@ -44,8 +44,16 @@ export function isInEmptyArgumentNodeForAutocomplete(state: EditorState) {
|
|||
return false
|
||||
}
|
||||
|
||||
const ancestor = ancestorOfNodeWithType(
|
||||
nodeLeft,
|
||||
const ancestor = ancestorOfNodeWithType(nodeLeft, ...types)
|
||||
if (!ancestor) {
|
||||
return false
|
||||
}
|
||||
|
||||
return ancestor.from === nodeLeft.from && ancestor.to === nodeRight.to
|
||||
}
|
||||
|
||||
export function isInEmptyArgumentNodeForAutocomplete(state: EditorState) {
|
||||
return isInEmptyArgumentNodeOfType(state, [
|
||||
'EnvNameGroup',
|
||||
'BibliographyStyleArgument',
|
||||
'BibliographyArgument',
|
||||
|
@ -53,11 +61,10 @@ export function isInEmptyArgumentNodeForAutocomplete(state: EditorState) {
|
|||
'DocumentClassArgument',
|
||||
'FilePathArgument',
|
||||
'RefArgument',
|
||||
'PackageArgument'
|
||||
)
|
||||
if (!ancestor) {
|
||||
return false
|
||||
}
|
||||
|
||||
return ancestor.from === nodeLeft.from && ancestor.to === nodeRight.to
|
||||
'PackageArgument',
|
||||
])
|
||||
}
|
||||
|
||||
export function isInEmptyCiteArgumentNode(state: EditorState) {
|
||||
return isInEmptyArgumentNodeOfType(state, ['BibKeyArgument'])
|
||||
}
|
||||
|
|
|
@ -1692,6 +1692,7 @@
|
|||
"saving_notification_with_seconds": "Saving __docname__... (__seconds__ seconds of unsaved changes)",
|
||||
"search": "Search",
|
||||
"search_bib_files": "Search by author, title, year",
|
||||
"search_by_citekey_author_year_title": "Search by citation key, author, title, year",
|
||||
"search_command_find": "Find",
|
||||
"search_command_replace": "Replace",
|
||||
"search_in_all_projects": "Search in all projects",
|
||||
|
|
|
@ -182,7 +182,7 @@
|
|||
"@babel/preset-react": "^7.22.15",
|
||||
"@babel/preset-typescript": "^7.23.2",
|
||||
"@babel/register": "^7.22.15",
|
||||
"@codemirror/autocomplete": "github:overleaf/codemirror-autocomplete#v6.12.0-overleaf-1",
|
||||
"@codemirror/autocomplete": "github:overleaf/codemirror-autocomplete#v6.12.0-overleaf-2",
|
||||
"@codemirror/commands": "^6.4.0",
|
||||
"@codemirror/lang-markdown": "^6.2.4",
|
||||
"@codemirror/language": "^6.10.0",
|
||||
|
|
Loading…
Add table
Reference in a new issue