Xterm.js: 선택이 λ°˜μ „λ˜λ„λ‘ ν—ˆμš©

에 λ§Œλ“  2017λ…„ 06μ›” 10일  Β·  4μ½”λ©˜νŠΈ  Β·  좜처: xtermjs/xterm.js

더 이상 ::selection μ‚¬μš©ν•  수 μ—†μœΌλ―€λ‘œ ν˜„μž¬ λ²„μ „μ˜ VS Codeμ—μ„œλŠ” 더 이상 κ°€λŠ₯ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

screen shot 2017-06-09 at 4 40 40 pm

이 λ¬Έμ œμ— μ ‘κ·Όν•  λ•Œ λͺ‡ 가지 λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€.

  • 선택 ν•­λͺ©μ€ ν˜„μž¬ ν–‰μ˜ ν…μŠ€νŠΈ μ•„λž˜μ— 그렀지며 배경색도 κ°€μ§ˆ 수 μžˆμŠ΅λ‹ˆλ‹€. 이 λΆ„λ¦¬λŠ” 쒋은 것이며 μ„ νƒμ˜ λ Œλ”λ§μ„ ν–‰μ˜ λ Œλ”λ§κ³Ό μ™„μ „νžˆ λΆ„λ¦¬λœ μƒνƒœλ‘œ μœ μ§€ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.
  • .xterm-rows의 λͺ¨λ“  μš”μ†Œκ°€ 자체 μš”μ†Œλ‘œ λž˜ν•‘λ˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— 선택은 μš”μ†Œμ˜ μ€‘κ°„μ—μ„œ μ‹œμž‘ν•˜κ±°λ‚˜ 끝날 수 있으며, μ΄λŠ” 일뢀 μ†”λ£¨μ…˜μ„ μ œν•œν•©λ‹ˆλ‹€.

ν•œ 가지 아이디어:

  • 선택 ν•­λͺ©μ΄ 3개의 청크둜 λΆ„ν• λœλ‹€λŠ” 아이디어λ₯Ό ν™œμš©ν•˜μ‹­μ‹œμ˜€. 상단 ν–‰, 쀑간 ν–‰, ν•˜λ‹¨ ν–‰ (https://github.com/sourcelair/xterm.js/pull/691μ—μ„œμ™€ 같이)
  • .xterm-rows λ‚΄μ˜ 쀑간 ν–‰ μš”μ†ŒλŠ” CSSλ₯Ό 톡해 배경색과 전경색을 λ°˜μ „μ‹œν‚€λŠ” xterm-invert-selection 클래슀둜 ν‘œμ‹œν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • z-index: 1 μ‚¬μš©ν•˜μ—¬ ν–‰ μœ„μ— μœ„μͺ½ 및 μ•„λž˜μͺ½ 행을 그릴 수 있으며 ν–‰μ˜ μ‹€μ œ λ‚΄μš©μ΄ 선택 ν•­λͺ©μ— μΆ”κ°€λ©λ‹ˆλ‹€. aria-hidden λŠ” 두 번 μ½νžˆμ§€ μ•Šλ„λ‘ ν•˜κΈ° μœ„ν•΄ μΆ”κ°€ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ˜¬λ°”λ₯Έ μ†”λ£¨μ…˜μΈμ§€ ν™•μ‹€ν•˜μ§€ μ•Šμ§€λ§Œ μœ„μ˜ μ†”λ£¨μ…˜μ—μ„œ ν…μŠ€νŠΈ λ³΅μ œκ°€ λ§ˆμŒμ— 듀지 μ•Šμ§€λ§Œ 적어도 2행에 μžˆμŠ΅λ‹ˆλ‹€.

areselection out-of-scope typenhancement

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

μ§€κΈˆμ€ PR을 ν•  μ‹œκ°„μ΄ μ—†μ§€λ§Œ css mix-blend-mode 속성을 μ‚¬μš©ν•˜μ—¬ 맀우 적은 λ…Έλ ₯으둜 λ Œλ”λŸ¬λ‘œ 이 μž‘μ—…μ„ μˆ˜ν–‰ν•  수 μžˆμŒμ„ λ°œκ²¬ν–ˆμŠ΅λ‹ˆλ‹€.

.xterm-selection-layer {
    mix-blend-mode: exclusion;
}

λ˜ν•œ 뢈투λͺ…ν•˜μ§€ μ•Šμ€ 선택 색상을 μ‚¬μš©ν•˜λ”λΌλ„ μ „κ²½, 선택 μ˜μ—­ 및 배경이 ν‘œμ‹œλ©λ‹ˆλ‹€.

.xterm-selection-layer {
    mix-blend-mode: multiply;
}

λΆˆν–‰νžˆλ„ Edge atmμ—μ„œλŠ” μ§€μ›ν•˜μ§€ μ•ŠλŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.

λͺ¨λ“  4 λŒ“κΈ€

@Tyriar 트루 컬러 지원을 μ œκ³΅ν•˜λ©΄ μœ„μ˜ 아이디어가 μž‘λ™ν•˜μ§€ μ•Šμ„ 것 κ°™μŠ΅λ‹ˆλ‹€. λ°°κ²½/선택/전경을 λ³„λ„μ˜ λ ˆμ΄μ–΄λ‘œ λΆ„ν• ν•œ λ‹€μŒ 선택 μ˜μ—­ 내에 μžˆλŠ” μ „κ²½ 및 λ°°κ²½ 열을 μ‘°μž‘ν•΄μ•Ό ν•©λ‹ˆλ‹€. νŠΈλ£¨μ»¬λŸ¬κ°€ λ³‘ν•©λ˜λ©΄ λ ˆμ΄μ–΄λ‘œ λΆ„ν• ν•΄ λ³΄κ² μŠ΅λ‹ˆλ‹€.

이것은 더 쒋은 κ²ƒμž…λ‹ˆλ‹€. μ €λŠ” μš°λ¦¬κ°€ 이것을 κ°€λŠ₯ν•˜κ²Œ ν•˜κΈ° μœ„ν•΄ μ„±λŠ₯/μ•„ν‚€ν…μ²˜ λ˜λŠ” 무엇이든 νƒ€ν˜‘ν•˜κ³  싢지 μ•Šμ„ 것이라고 μƒκ°ν•©λ‹ˆλ‹€. https://github.com/sourcelair/xterm.js/issues/720 이 훨씬 더 μ€‘μš”ν•©λ‹ˆλ‹€.

μ§€κΈˆμ€ PR을 ν•  μ‹œκ°„μ΄ μ—†μ§€λ§Œ css mix-blend-mode 속성을 μ‚¬μš©ν•˜μ—¬ 맀우 적은 λ…Έλ ₯으둜 λ Œλ”λŸ¬λ‘œ 이 μž‘μ—…μ„ μˆ˜ν–‰ν•  수 μžˆμŒμ„ λ°œκ²¬ν–ˆμŠ΅λ‹ˆλ‹€.

.xterm-selection-layer {
    mix-blend-mode: exclusion;
}

λ˜ν•œ 뢈투λͺ…ν•˜μ§€ μ•Šμ€ 선택 색상을 μ‚¬μš©ν•˜λ”λΌλ„ μ „κ²½, 선택 μ˜μ—­ 및 배경이 ν‘œμ‹œλ©λ‹ˆλ‹€.

.xterm-selection-layer {
    mix-blend-mode: multiply;
}

λΆˆν–‰νžˆλ„ Edge atmμ—μ„œλŠ” μ§€μ›ν•˜μ§€ μ•ŠλŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.

λ‹«λŠ” 것은 μ²˜μŒμ— μ˜³μ€ κ²ƒμ²˜λŸΌ λ³΄μ˜€κ³  아무도 그것에 νˆ¬ν‘œν•˜μ§€ μ•Šμ€ 것보닀 훨씬 더 λ³΅μž‘ν•©λ‹ˆλ‹€. κ²Œλ‹€κ°€ 그것은 또 λ‹€λ₯Έ 선택이 될 κ²ƒμž…λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰