Merge pull request #1233 from hedgedoc/fix/insertOnStartOfLines
Fix insertOnStartOfLines behaviour
This commit is contained in:
		
						commit
						dc1f621eb8
					
				@ -1,4 +1,5 @@
 | 
				
			|||||||
const wrapSymbols = ['*', '_', '~', '^', '+', '=']
 | 
					const wrapSymbols = ['*', '_', '~', '^', '+', '=']
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function wrapTextWith (editor, cm, symbol) {
 | 
					export function wrapTextWith (editor, cm, symbol) {
 | 
				
			||||||
  if (!cm.getSelection()) {
 | 
					  if (!cm.getSelection()) {
 | 
				
			||||||
    return CodeMirror.Pass
 | 
					    return CodeMirror.Pass
 | 
				
			||||||
@ -106,12 +107,14 @@ export function insertOnStartOfLines (cm, symbol) {
 | 
				
			|||||||
  for (let i = 0; i < ranges.length; i++) {
 | 
					  for (let i = 0; i < ranges.length; i++) {
 | 
				
			||||||
    const range = ranges[i]
 | 
					    const range = ranges[i]
 | 
				
			||||||
    if (!range.empty()) {
 | 
					    if (!range.empty()) {
 | 
				
			||||||
      const from = range.from()
 | 
					      const cursorFrom = range.from()
 | 
				
			||||||
      const to = range.to()
 | 
					      const cursorTo = range.to()
 | 
				
			||||||
      let selection = cm.getRange({ line: from.line, ch: 0 }, to)
 | 
					      const firstLineStart = { line: cursorFrom.line, ch: 0 }
 | 
				
			||||||
 | 
					      const lastLineEnd = { line: cursorTo.line, ch: cm.getLine(cursorTo.line).length }
 | 
				
			||||||
 | 
					      let selection = cm.getRange(firstLineStart, lastLineEnd)
 | 
				
			||||||
      selection = selection.replace(/\n/g, '\n' + symbol)
 | 
					      selection = selection.replace(/\n/g, '\n' + symbol)
 | 
				
			||||||
      selection = symbol + selection
 | 
					      selection = symbol + selection
 | 
				
			||||||
      cm.replaceRange(selection, from, to)
 | 
					      cm.replaceRange(selection, firstLineStart, lastLineEnd)
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
      cm.replaceRange(symbol, { line: cursor.line, ch: 0 }, { line: cursor.line, ch: 0 })
 | 
					      cm.replaceRange(symbol, { line: cursor.line, ch: 0 }, { line: cursor.line, ch: 0 })
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user