Xterm.js: ๋งํฌ ๋งค์ฒ˜๋Š” ์—ฌ๋Ÿฌ ์ค„ ๋งํฌ์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2015๋…„ 04์›” 28์ผ  ยท  13์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: xtermjs/xterm.js

arelinks help wanted typbug

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋‚˜๋Š” ์ด๊ฒƒ์„ ์ฐŒ๋ฅด๊ณ  ์‹ถ๋‹ค. ์ €๋Š” ์ง€๋‚œ 2 ๋…„ ๋™์•ˆ ์•ฝ๊ฐ„์˜ js๋ฅผ ์ˆ˜ํ–‰ํ–ˆ์œผ๋ฉฐ ์ฒซ ๋ฒˆ์งธ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ๋ฐ›๊ธฐ๋ฅผ ๊ณ ๋Œ€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋‘์—๊ฒŒ ๊ดœ์ฐฎ๋‹ค๋ฉด ๋‹ค๊ฐ€์˜ค๋Š” ์ฃผ๋ง์— ์ด๊ฑธ๋ฐ›์„ ์ˆ˜ ์žˆ์–ด์š” ๐Ÿ˜Š

๋ชจ๋“  13 ๋Œ“๊ธ€

์ด ๋ฌธ์ œ๋ฅผ ์กฐ์‚ฌํ•˜๋Š” ์‚ฌ๋žŒ์ด ์žˆ์Šต๋‹ˆ๊นŒ? VS Code์˜ ํ†ตํ•ฉ ํ„ฐ๋ฏธ๋„์˜ ํ‚ฌ๋Ÿฌ์ž…๋‹ˆ๋‹ค.

+1

์•ˆ๋…•ํ•˜์„ธ์š” @martellaj , ์ง€๊ธˆ์€ ๋ˆ„๊ตฌ์—๊ฒŒ๋„ ํ• ๋‹น๋˜์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ ์•„๋ฌด๋„ ์กฐ์‚ฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ํ•„์š”ํ•œ ์‹œ๊ฐ„์„ ์ฐพ๋Š” ์ฆ‰์‹œ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ฌผ๋ก  PR์€ ํ•ญ์ƒ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค ๐Ÿ˜.

์ด์ œ ๋ชจ๋“  ์ „์ œ ์กฐ๊ฑด์ด ์™„๋ฃŒ๋˜์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฒ„ํผ๋Š” ์ค„์ด ๋žฉํ•‘๋˜๋Š”์‹œ๊ธฐ๋ฅผ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค (์ ์–ด๋„ Linux / macOS์—์„œ๋Š”)
  • ์ „์ฒด ์ค„์„ ๋ฌธ์ž์—ด๋กœ ์žก๋Š” ๋น„๊ต์  ๋น ๋ฅธ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค
  • ๋งํฌ๋Š” ๋” ์ด์ƒ DOM์„ ์ €๊ธ€๋ง ํ•  ํ•„์š”๊ฐ€ ์—†์œผ๋ฏ€๋กœ ๋งˆ์šฐ์Šค๋ฅผ ์˜ฌ๋ ค ๋†“์„ ๋•Œ ๋‘ ๋ถ€๋ถ„์ด ๋ฐ˜์‘ํ•˜๋Š” ์—ฌ๋Ÿฌ ์ค„ ๋ผ์ธ์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ณง์ด ํ•ญ๋ชฉ์„๋ฐ›์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ด€์‹ฌ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•ดํ•ด์•ผ โ€‹โ€‹ํ•  ์ผ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • isWrapped ๋ฅผ ์ฟผ๋ฆฌํ•˜์—ฌ ํ–‰์„ ์—ฐ๊ฒฐํ•  ๋•Œ ์ค„ ๋ฐ”๊ฟˆ๋˜๋Š” ์ค„์„ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.
  • MouseZone ๋ฐ MouseZoneManager ๋ฅผ ์ˆ˜์ •ํ•˜์—ฌ ๋ž˜ํ•‘์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. MouseZone.y ๋ฅผ y1 ๋ฐ y2 ๋กœ ๋ฐ”๊พธ๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ข‹์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ํ™”๋ฉด ์˜ค๋ฅธ์ชฝ์—์„œ ๋ฒ—์–ด๋‚  ๋•Œ ๋งํฌ๊ฐ€ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์—ฌ๋Ÿฌ ์ค„ ๋งํฌ์™€ ๋™์‹œ์— ํ•ด๊ฒฐ๋˜์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ด๊ฒƒ์„ ์ฐŒ๋ฅด๊ณ  ์‹ถ๋‹ค. ์ €๋Š” ์ง€๋‚œ 2 ๋…„ ๋™์•ˆ ์•ฝ๊ฐ„์˜ js๋ฅผ ์ˆ˜ํ–‰ํ–ˆ์œผ๋ฉฐ ์ฒซ ๋ฒˆ์งธ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ๋ฐ›๊ธฐ๋ฅผ ๊ณ ๋Œ€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋‘์—๊ฒŒ ๊ดœ์ฐฎ๋‹ค๋ฉด ๋‹ค๊ฐ€์˜ค๋Š” ์ฃผ๋ง์— ์ด๊ฑธ๋ฐ›์„ ์ˆ˜ ์žˆ์–ด์š” ๐Ÿ˜Š

๊ผญ @chirgjn . ์‹œ์ž‘ ์œ„์น˜์— ๋Œ€ํ•œ ํžŒํŠธ๋กœ ์—ฌ๋Ÿฌ ์ค„์— ๊ฑธ์ณ์žˆ์„ ์ˆ˜์žˆ๋Š” MouseZone ์˜ ์ง€์› ๋ฒ”์œ„๊ฐ€ ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ค„์ด isWrapped ๋กœ ํ‘œ์‹œ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ํ•ด๋‹น ์ค„์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค. ์ „์ฒด ์ค„ ๋ฐ”๊ฟˆํ•˜๊ณ  ์ ์ ˆํ•œ MouseZone ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋Œ€๋ถ€๋ถ„ Linkifier.ts ๋ฐ MouseZoneManager.ts์—์„œ ์ž‘์—…ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ด€๋ จ๋ฉ๋‹ˆ๋‹ค.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ ์ฃผ๋ง์— ๐Ÿ˜ƒ

@chirgjn ์ด๊ฒƒ์— ์ง„์ „์ด ์žˆ์Šต๋‹ˆ๊นŒ?

@bastichelaar PR์ด ๋‚˜์˜ค์ง€ ์•Š์œผ๋ฉด ๋‹ค์Œ์— ์–ป๊ณ  ์‹ถ์€ ๋ช‡ ๊ฐ€์ง€ ์ผ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.

์ด๋ด, ๋‹ต์žฅ์ด ๋Šฆ์–ด์„œ ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ์˜ค๋Š˜ PR์„ ์ค€๋น„ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

2018 ๋…„ 2 ์›” 27 ์ผ ํ™”์š”์ผ ์˜คํ›„ 8:59 Daniel Imms, [email protected] ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ผ์Šต๋‹ˆ๋‹ค.

@bastichelaar https://github.com/bastichelaar ๊ทธ๊ฒƒ์€ ์†Œ์ˆ˜ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค
PR์ด ์•ˆ ๋“ค์–ด ์˜ค๋ฉด ๋‹ค์Œ์— ๊ฐ€๊ณ  ์‹ถ์€ ๊ฒƒ๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค.

โ€”
๋‹น์‹ ์ด ์–ธ๊ธ‰ ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์„ ๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ณ  GitHub์—์„œ ํ™•์ธํ•˜์„ธ์š”.
https://github.com/xtermjs/xterm.js/issues/24#issuecomment-368916869 ,
๋˜๋Š” ์Šค๋ ˆ๋“œ ์Œ์†Œ๊ฑฐ
https://github.com/notifications/unsubscribe-auth/ADeQIqmu9RJPm29PJHZe0XU2trHAV8WWks5tZB9wgaJpZM4EKjoM
.

@chirgjn ์ฐธ๊ณ ๋กœ ์ž‘์—…์„ ์‹œ์ž‘ํ–ˆ์œผ๋ฉฐ ์•„๋งˆ ๋‹ค์Œ ์ฃผ ๋˜๋Š” 2์— ์™„๋ฃŒ ํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค. https://github.com/xtermjs/xterm.js/pull/1303

@Tyriar ์ž‘์—…์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํ™•์ธํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์— ๋„์›€์„ ๋“œ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! ๐Ÿ‘

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰