Linenoise: λ©€ν‹°λ°”μ΄νŠΈ 지원 μΆ”κ°€

에 λ§Œλ“  2012λ…„ 01μ›” 23일  Β·  21μ½”λ©˜νŠΈ  Β·  좜처: antirez/linenoise

ν˜„μž¬ μ½”λ“œλŠ” λ©€ν‹°λ°”μ΄νŠΈ λ¬Έμžμ—΄(예: ASCII λ²”μœ„λ₯Ό λ„˜λŠ” μœ λ‹ˆμ½”λ“œ λ¬Έμžκ°€ μžˆλŠ” λ¬Έμžμ—΄)을 μ§€μ›ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. refreshLine의 μ—΄ 이동은 ν„°ν‚€μ–΄μ˜ 'Ş'κ³Ό 같은 2λ°”μ΄νŠΈ λ¬Έμžμ— λŒ€ν•΄ 1 λŒ€μ‹  2λ₯Ό λ°˜ν™˜ν•˜λŠ” strlen()을 μ‚¬μš©ν•˜μ—¬ κ³„μ‚°λ©λ‹ˆλ‹€.

λΌμ΄λΈŒλŸ¬λ¦¬λŠ” μ—΄ 처리(μœ„μͺ½, μ•„λž˜μͺ½ ν™”μ‚΄ν‘œ, 문자 μ§€μš°κΈ° λ“±)λ₯Ό μœ„ν•œ λ°”μ΄νŠΈ 수 λŒ€μ‹  mbstowcs() λ˜λŠ” 기타 ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ 문자 수λ₯Ό 가져와야 ν•©λ‹ˆλ‹€.

λ˜ν•œ μ΄λŸ¬ν•œ κΈ°λŠ₯은 LC_CTYPE에 따라 λ‹€λ₯΄λ―€λ‘œ linenoiseλ₯Ό μ‚¬μš©ν•˜λŠ” μ‘μš© ν”„λ‘œκ·Έλž¨μ΄λ‚˜ μ‚¬μš©μžλŠ” setlocale(LC_ALL, "")을 ν˜ΈμΆœν•˜μ—¬ μ‘μš© ν”„λ‘œκ·Έλž¨μ˜ λ‘œμΊ˜μ„ μ‹œμŠ€ν…œ 둜캘둜 μ„€μ •ν•΄μ•Ό ν•©λ‹ˆλ‹€.

감사 ν•΄μš”.

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

λ‚΄ 포크(https://github.com/yrose/linenoise/tree/utf8-support)λŠ” 이제 μœ λ‹ˆμ½”λ“œ 11.0을 μ§€μ›ν•˜κ³  antirez/linenoise 의 λͺ¨λ“  졜근 λ³€κ²½ 사항을 ν¬ν•¨ν•©λ‹ˆλ‹€.

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

utf-8을 μ§€μ›ν•˜λŠ” λ‚΄ 포크 https://github.com/msteveb/linenoiseλ₯Ό μ‚΄νŽ΄λ³΄μ‹­μ‹œμ˜€.

이 λͺ¨λ“  κΈ°λŠ₯이 μ •λ§λ‘œ ν•„μš”ν•©λ‹ˆκΉŒ? λ‚˜λŠ” κ·Έ λ‚΄μš©μ— μ΅μˆ™ν•˜μ§€ μ•Šμ§€λ§Œ λ¬Έμžμ—΄μ˜ 길이가 λ¬Έμžμ—΄μ˜ 문자 μˆ˜μ™€ λ™μΌν•˜λ‹€κ³  κ°€μ •λ˜λŠ” strlen() λŒ€μ‹  mbstowcs()λ₯Ό μ‚¬μš©ν•˜μ—¬ λͺ‡ 가지 μ΄μƒν•œ 문제λ₯Ό μ‰½κ²Œ κ³ μ³€μŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ 백슀페이슀λ₯Ό μ‚¬μš©ν•˜μ—¬ μ™€μ΄λ“œ 문자 μ‚­μ œλ₯Ό μˆ˜μ •ν•˜λŠ” 방법을 찾지 λͺ»ν–ˆμŠ΅λ‹ˆλ‹€.

μ—¬κΈ°μ„œ μ ‘κ·Ό 방식은 utf-8에 λŒ€ν•œ μ‹œμŠ€ν…œ 지원에 λŒ€ν•œ μ˜μ‘΄λ„λ₯Ό ν”Όν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, 직렬 포트λ₯Ό 톡해 utf-8 μ½˜μ†”μ„ μ—¬μ „νžˆ ν–‰λ³΅ν•˜κ²Œ μ‹€ν–‰ν•  수 μžˆλŠ” λ‘œμΌ€μΌ 지원 없이 uClibcλ₯Ό μ‹€ν–‰ν•˜λŠ” μ‹œμŠ€ν…œμ΄ μžˆμŠ΅λ‹ˆλ‹€. λ¬Όλ‘  λ‹€λ₯Έ μ ‘κ·Ό 방식을 μ·¨ν•˜λŠ” 것도 ν™˜μ˜ν•©λ‹ˆλ‹€.

λΉ„μŠ·ν•œ λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€. μ‰˜ κ΅¬ν˜„μ„ μœ„ν•΄ 라인 λ…Έμ΄μ¦ˆλ₯Ό μ‹œλ„ν–ˆμŠ΅λ‹ˆλ‹€. 컬러 ν”„λ‘¬ν”„νŠΈλ₯Ό μ›ν•˜λ©΄ μ΄μŠ€μΌ€μ΄ν”„ μ½”λ“œκ°€ 길이 계산에 ν¬ν•¨λ©λ‹ˆλ‹€.

더 κ°„λ‹¨ν•˜κ³  μ‰¬μš΄ μˆ˜μ •μ€ λ‹€μŒμ„ μˆ˜ν–‰ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

1) ν”„λ‘¬ν”„νŠΈμ˜ 길이λ₯Ό 직접 지정할 수 μžˆμŠ΅λ‹ˆλ‹€.
2) ν”„λ‘¬ν”„νŠΈλ₯Ό 좜λ ₯ν•œ ν›„ 터미널 λͺ…령을 μ‚¬μš©ν•˜μ—¬ μ»€μ„œμ˜ μœ„μΉ˜λ₯Ό β€‹β€‹μΆ”μΆœν•©λ‹ˆλ‹€(κ°€λŠ₯ν•œμ§€ ν™•μ‹€ν•˜μ§€ μ•ŠμŒ)

λ‚˜λŠ” 이것을 mongo shell의 μ½”λ“œμ—μ„œ μ°ΎλŠ”λ‹€. λ©€ν‹°λ°”μ΄νŠΈ λ¬Έμžκ°€ μžˆμ„ λ•Œ μ»€μ„œκ°€ μ΄μƒν•˜κ²Œ μ›€μ§μ΄λŠ” CLI 도ꡬ(mongo, redis-cli, node)κ°€ 점점 더 λ§Žμ•„μ§€λ©΄ 항상 짜증이 λ‚©λ‹ˆλ‹€. λ‹€λ₯Έ μ‚¬λžŒλ“€μ΄ linenoiseλ‚˜ λ‹€λ₯Έ 것을 μ‚¬μš©ν•˜κ³  μžˆλŠ”μ§€λŠ” λͺ¨λ₯΄κ² μ§€λ§Œ 이 λ¬Έμ œκ°€ ν•΄κ²°λ˜μ—ˆμœΌλ©΄ ν•©λ‹ˆλ‹€ :-)

λ„ˆλΉ„λ₯Ό 직접 지정할 수 μžˆλ„λ‘ μˆ˜μ •λœ linenoiseλ₯Ό λ§Œλ“€μ—ˆμœΌλ―€λ‘œ μ‘μš© ν”„λ‘œκ·Έλž¨μ— λŒ€ν•œ μΆ”κ°€ μž‘μ—…μ΄μ§€λ§Œ μ΅œμ†Œν•œ κ°€λŠ₯ν•©λ‹ˆλ‹€. μ•½ 3κ°œμ›” 정도 문제 없이 μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. μ•„λ§ˆλ„ pull request둜 λ³€ν™˜ν•˜κ² μŠ΅λ‹ˆλ‹€.

λ‚΄ 포크의 'utf-8 지원' λΆ„κΈ° λŠ” μ΅œμ‹  linenoise 버전 1.0에 λ‚˜νƒ€λ‚˜λŠ” λ‹€μŒ UTF-8 문제λ₯Ό μˆ˜μ •ν–ˆμŠ΅λ‹ˆλ‹€.

  • λ©€ν‹°λ°”μ΄νŠΈ 문자: ΓΆ (U+00F6)
  • 닀쀑 μ½”λ“œ 문자: ö (U+006F U+0308)
  • μ™€μ΄λ“œ 문자: ζ—₯本θͺž ('일본어')
  • μœ„μ˜ λ¬Έμžμ™€ ANSI μ΄μŠ€μΌ€μ΄ν”„ 처리된 컬러 ν…μŠ€νŠΈλ₯Ό ν¬ν•¨ν•˜λŠ” ν”„λ‘¬ν”„νŠΈ ν…μŠ€νŠΈ.

λ‚˜λŠ” λ¨Όμ € https://github.com/msteveb/linenoiseλ₯Ό μ‹œλ„ν–ˆμŠ΅λ‹ˆλ‹€

μ•ˆλ…•ν•˜μ„Έμš”, μ €λŠ” 이 문제둜 λ‹€μŒκ³Ό 같은 길을 갈 생각을 ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

  1. C 일반 λ¬Έμžμ—΄ ν•¨μˆ˜κ°€ 닀쀑 λ°”μ΄νŠΈ 인식 ν•¨μˆ˜λ‘œ λŒ€μ²΄λ˜μ–΄μ•Ό ν•˜λŠ” μœ„μΉ˜λ₯Ό ν™•μΈν•˜λ €λ©΄ @yhrose λ₯Ό 참쑰둜 μ‚¬μš©ν•˜μ‹­μ‹œμ˜€.
  2. linenoise μ‚¬μš©μžκ°€ λ¬Έμžμ—΄ 길이 계산을 μœ„ν•œ λŒ€μ²΄ ν•¨μˆ˜λ₯Ό μ„€μ •ν•  수 μžˆλŠ” APIλ₯Ό λ‚΄λ³΄λƒ…λ‹ˆλ‹€. ν•¨μˆ˜λ₯Ό κΈ°λ³Έ C ν•¨μˆ˜λ‘œ μ„€μ •ν•©λ‹ˆλ‹€.
  3. λ©€ν‹°λ°”μ΄νŠΈ 지원을 μœ„ν•΄ 길이 ν•¨μˆ˜λ₯Ό μ„€μ •ν•˜κΈ° μœ„ν•΄ linenoise μƒˆ ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•˜μ—¬ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— μΆ”κ°€ν•  수 μžˆλŠ” λΆ„λ¦¬λœ 파일둜 @yrose μ½”λ“œλ₯Ό ν¬ν•¨ν•©λ‹ˆλ‹€.

이 λ°©λ²•μœΌλ‘œ μš°λ¦¬λŠ” linenoise λ‹¨μˆœμ„±μ΄ 거의 κ·ΈλŒ€λ‘œ μœ μ§€λœλ‹€λŠ” 것을 μ–»μŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ μ„ νƒμ μœΌλ‘œ C++ ν•¨μˆ˜, λ‹€λ₯Έ μ‚¬μš©μž 제곡 ν•¨μˆ˜, ν‘œμ€€ ν•¨μˆ˜μ™€ λ‹€λ₯Έ λ‹€λ₯Έ μ‚¬μš©μž 제곡 ν•¨μˆ˜, λ˜λŠ” ν”„λ‘œμ νŠΈκ°€ C둜 λ˜μ–΄ 있고 @yhiroseκ°€ 이미 μ“΄ 것을

λ‹Ήμ‹ μ—κ²Œ μ˜λ―Έκ°€ μžˆμŠ΅λ‹ˆκΉŒ? 감사 ν•΄μš”.

@antirez , λ©€ν‹°λ°”μ΄νŠΈ μ½”λ“œ μ‚¬μš©μžμ—κ²Œ 관심을 κ°€μ Έμ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€! 당신이 μ œμ‹œν•œ μ•„μ΄λ””μ–΄λŠ” λ‚˜μ—κ²Œ μ™„μ „νžˆ μ˜λ―Έκ°€ μžˆμŠ΅λ‹ˆλ‹€. linenoise 라이브러리 μžμ²΄κ°€ ν™•μž₯성을 μ œκ³΅ν•  수 μžˆλ‹€λ©΄ λ‹€λ₯Έ λ©€ν‹°λ°”μ΄νŠΈ 인코딩 지원을 μ‰½κ²Œ μΆ”κ°€ν•  수 있기 λ•Œλ¬Έμ— λ”μš± κΈ°μ©λ‹ˆλ‹€.

λ‚΄ ν¬ν¬μ—μ„œ λ³Ό 수 μžˆλ“―μ΄ 'λ©€ν‹° λ°”μ΄νŠΈ' 지원을 ν™œμ„±ν™”ν•˜λŠ” κ°€μž₯ μ€‘μš”ν•œ κ°œλ…μ€ ν…μŠ€νŠΈ λ²„νΌμ˜ ' λ°”μ΄νŠΈ μœ„μΉ˜/λ„ˆλΉ„ '와 ν™”λ©΄μ˜ ' μ—΄ μœ„μΉ˜/λ„ˆλΉ„ 'λ₯Ό λͺ…ν™•ν•˜κ²Œ κ΅¬λΆ„ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. λ‹€μŒμ€ UTF-8의 λͺ‡ 가지 μ˜ˆμž…λ‹ˆλ‹€.

  • あ (U+3042): E3 81 82 (3λ°”μ΄νŠΈ): μ™€μ΄λ“œ(2μ—΄ λ„ˆλΉ„)
  • ΓΆ (U+00F6): C3 B6 (2λ°”μ΄νŠΈ): 쒁음(1μ—΄ λ„ˆλΉ„)
  • ö (U+006F U+0308): 6F CC 88 (3λ°”μ΄νŠΈ): 쒁음(1μ—΄ λ„ˆλΉ„)

차이점을 μ•Œκ²Œ 되면 λ©€ν‹°λ°”μ΄νŠΈ μ½”λ“œλ₯Ό μ˜¬λ°”λ₯΄κ²Œ μ²˜λ¦¬ν•˜λŠ” 것이 맀우 μ‰½μŠ΅λ‹ˆλ‹€. 첫 번째 μ»€λ°‹μ˜ λ³€κ²½ μ‚¬ν•­μ—μ„œ 아이디어λ₯Ό νŒŒμ•…ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 두 번째 컀밋 μ—μ„œλ„ ν”„λ‘¬ν”„νŠΈ ν…μŠ€νŠΈμ— λ™μΌν•œ 원칙을 μ μš©ν–ˆμŠ΅λ‹ˆλ‹€.

μš°λ¦¬κ°€ μ£Όμ˜ν•΄μ•Ό ν•  μœ μΌν•œ 곳은 멀티라인 λͺ¨λ“œ 처리 μ½”λ“œμž…λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, λ§ˆμ§€λ§‰ λ¬Έμžκ°€ μ™€μ΄λ“œμ΄κ³  ν˜„μž¬ 행에 1개의 μ—΄λ§Œ 남아 μžˆλŠ” 경우 ν•΄λ‹Ή μ™€μ΄λ“œ λ¬ΈμžλŠ” λ‚˜λ¨Έμ§€ 곡간에 λ§žμ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ μ™€μ΄λ“œ λ¬ΈμžλŠ” λ‹€μŒ μ€„μ˜ μ‹œμž‘ 뢀뢄에 ν‘œμ‹œλ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€. 이 μ½”λ“œ κ°€ μ²˜λ¦¬ν•©λ‹ˆλ‹€.

λ‚΄κ°€ ν•œ 또 λ‹€λ₯Έ 일은 μ„Έ 번째 컀밋 μ—μ„œ μ—΄ μœ„μΉ˜/λ„ˆλΉ„λ₯Ό 계산할 λ•Œ λͺ¨λ“  ANSI μ΄μŠ€μΌ€μ΄ν”„ μ‹œν€€μŠ€ 문자λ₯Ό κ±΄λ„ˆλ›°λŠ” κ²ƒμž…λ‹ˆλ‹€. 이 변경을 톡해 ν”„λ‘¬ν”„νŠΈ ν…μŠ€νŠΈμ—μ„œ 색상을 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

κ°€κΉŒμš΄ μ‹œμΌ 내에 μƒˆλ‘œμš΄ APIλ₯Ό 보게 λ˜μ–΄ 맀우 κΈ°μ©λ‹ˆλ‹€. 이 λ¬Έμ œμ— λŒ€ν•΄ 질문이 있으면 μ•Œλ €μ£Όμ„Έμš”. λ‚˜λŠ” 당신이 ν›Œλ₯­ν•œ 일을 ν•  것이라고 ν™•μ‹ ν•©λ‹ˆλ‹€!!

λ””μžμΈ λͺ©ν‘œμ— 따라 linenoise μ½”λ“œμ™€ UTF-8 인코딩 μ½”λ“œ κ°„μ˜ 쒅속성에 λŒ€ν•΄ μžμ„Ένžˆ μ‘°μ‚¬ν•œ ν›„ λ‹€λ₯Έ 인코딩 지원을 μΆ”κ°€ν•  λ•Œ μ„Έ 가지 κΈ°λŠ₯만 ν•„μš”ν•˜λ‹€λŠ” 것을 κΉ¨λ‹¬μ•˜μŠ΅λ‹ˆλ‹€.

연ꡬλ₯Ό 기반으둜 λ‚΄ 지점을 μ—…λ°μ΄νŠΈν–ˆμŠ΅λ‹ˆλ‹€. λ‹€μŒμ€ linenoise ν—€λ“œμ™€ utf8-support λΆ„κΈ° κ°„μ˜ 차이점 μž…λ‹ˆλ‹€. κ±°κΈ°μ—μ„œ λ³Ό 수 μžˆλ“―μ΄ linenoise.c μ—μ„œ λͺ¨λ“  UTF-8 νŠΉμ • μ½”λ“œλ₯Ό μ œκ±°ν•˜κ³  encodings/utf8.h 및 encodings/utf8.c λ„£μ—ˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ linenoise.h에 linenoiseSetEncodingFunctions λΌλŠ” μ‹€ν—˜ APIλ₯Ό μΆ”κ°€ν•˜μ—¬ μ‚¬μš©μžκ°€ κ³ μœ ν•œ 인코딩 κΈ°λŠ₯ μ„ΈνŠΈλ₯Ό μ„€μ •ν•  수 μžˆλ„λ‘ ν–ˆμŠ΅λ‹ˆλ‹€. λͺ¨λ“  κΈ°λŠ₯이 μ—¬μ „νžˆ μž‘λ™ν•˜λŠ” 것을 ν™•μΈν–ˆμŠ΅λ‹ˆλ‹€.

λ‹€μŒμ€ ν˜„μž¬ μ‹€ν—˜μš© API의 μŠ€λ‹ˆνŽ«μž…λ‹ˆλ‹€.

typedef size_t (linenoisePrevCharLen)(const char *buf, size_t buf_len, size_t pos, size_t *col_len);
typedef size_t (linenoiseNextCharLen)(const char *buf, size_t buf_len, size_t pos, size_t *col_len);
typedef size_t (linenoiseReadCode)(int fd, char *buf, size_t buf_len, int* c);

void linenoiseSetEncodingFunctions(
    linenoisePrevCharLen *prevCharLenFunc,
    linenoiseNextCharLen *nextCharLenFunc,
    linenoiseReadCode *readCodeFunc);

linenoisePrevCharLen 및 linenoiseNextCharLen λŠ” λ°”μ΄νŠΈ 길이 λ₯Ό λ°˜ν™˜ κ°’μœΌλ‘œ λ°˜ν™˜ν•˜κ³  μ—΄ 길이 λ₯Ό col_len λ§€κ°œλ³€μˆ˜λ‘œ μ„€μ •ν•©λ‹ˆλ‹€. linenoiseReadCode λ°”μ΄νŠΈ λ₯Ό buf 둜 읽고 λ°”μ΄νŠΈ λ₯Ό λ³€ν™˜ν•˜κ³  인코딩에 의미 μžˆλŠ” 문자 μ½”λ“œλ₯Ό c λ§€κ°œλ³€μˆ˜λ‘œ μ„€μ •ν•©λ‹ˆλ‹€.

μ‚¬μš©μžκ°€ linenoiseSetEncodingFunctions ν˜ΈμΆœν•˜μ§€ μ•ŠμœΌλ©΄ _default_ κ΅¬ν˜„μ„ ν˜ΈμΆœν•˜κ²Œ λ©λ‹ˆλ‹€. 그듀은 λ‹¨μˆœνžˆ _1λ°”μ΄νŠΈ_λ₯Ό 문자둜 μ²˜λ¦¬ν•©λ‹ˆλ‹€.

이 κ²Œμ‹œλ¬Όμ΄ μƒˆλ‘œμš΄ 인코딩 APIλ₯Ό 섀계할 λ•Œ 도움이 되기λ₯Ό λ°”λžλ‹ˆλ‹€. λ‚˜λŠ” 정말 그것을 κΈ°λŒ€ν•˜κ³ μžˆλ‹€!!

@yhirose 정말 멋진 μž‘ν’ˆμž…λ‹ˆλ‹€!!! :-) μ½”λ“œλ₯Ό ν™•μΈν•˜κ³  λ³‘ν•©ν•˜κ² μŠ΅λ‹ˆλ‹€. κ°μ‚¬ν•©λ‹ˆλ‹€.

아직 λ³‘ν•©λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆκΉŒ?

@antirez 병합에 진전이 μžˆμŠ΅λ‹ˆκΉŒ?

'힌트' κΈ°λŠ₯κ³Ό 같은 μ›λž˜ linenoise의 졜근 λ³€κ²½ 사항을 λ”°λΌμž‘κΈ° μœ„ν•΄ 포크(https://github.com/yhrose/linenoise/tree/utf8-support)λ₯Ό μˆ˜μ •ν–ˆμŠ΅λ‹ˆλ‹€.

@yhirose 정말 κ°μ‚¬ν•©λ‹ˆλ‹€. 쒋은 μ½”λ“œλ₯Ό 더 잘 λ§Œλ“€μ—ˆμŠ΅λ‹ˆλ‹€! 그리고 λ‚΄
더 μ‰½κ²Œ!

@sonophoto

2016λ…„ 6μ›” 27일 μ›”μš”μΌ 18:56:45 -0700에 yhiroseλŠ” λ‹€μŒκ³Ό 같이 μΌμŠ΅λ‹ˆλ‹€.

   I have modified my fork 

(https://github.com/yrose/linenoise/tree/utf8-support) λ”°λΌμž‘κΈ°
'힌트'와 같은 μ›λž˜ linenoise에 적용된 졜근 λ³€κ²½ μ‚¬ν•­μœΌλ‘œ
νŠΉμ§•.
β€”
이 μŠ€λ ˆλ“œμ— κ°€μž…ν–ˆκΈ° λ•Œλ¬Έμ— 이 λ©”μ‹œμ§€λ₯Ό λ°›κ³  μžˆμŠ΅λ‹ˆλ‹€.
이 이메일에 직접 λ‹΅μž₯ν•˜κ±°λ‚˜ GitHubμ—μ„œ λ³΄κ±°λ‚˜ μŠ€λ ˆλ“œλ₯Ό μŒμ†Œκ±°ν•˜μ„Έμš”.

*

λ‚΄ 포크(https://github.com/yrose/linenoise/tree/utf8-support)λŠ” 이제 μœ λ‹ˆμ½”λ“œ 9.0을 μ§€μ›ν•©λ‹ˆλ‹€.

@antirez κ°€κΉŒμš΄ μž₯λž˜μ— @yhirose 의 λ©€ν‹°λ°”μ΄νŠΈ 지원을 병합할 자유 μ‹œκ°„μ΄ μžˆμŠ΅λ‹ˆκΉŒ? μ•„λ‹ˆλ©΄ κ·Έλ•ŒκΉŒμ§€ @yhirose 의 포크λ₯Ό μ‚¬μš©ν•˜λ„λ‘ https://github.com/hoelzro/lua-linenoise λ₯Ό μ „ν™˜ν•΄μ•Ό ν•©λ‹ˆκΉŒ? ✌️

λ‚΄ 포크(https://github.com/yrose/linenoise/tree/utf8-support)λŠ” 이제 μœ λ‹ˆμ½”λ“œ 11.0을 μ§€μ›ν•˜κ³  antirez/linenoise 의 λͺ¨λ“  졜근 λ³€κ²½ 사항을 ν¬ν•¨ν•©λ‹ˆλ‹€.

λ‚΄ 포크(https://github.com/yrose/linenoise/tree/utf8-support)λŠ” 이제 μœ λ‹ˆμ½”λ“œ 12.1을 μ§€μ›ν•©λ‹ˆλ‹€.

λ‚΄ 포크(https://github.com/yrose/linenoise/tree/utf8-support)λŠ” 이제 μœ λ‹ˆμ½”λ“œ 13.0을 μ§€μ›ν•©λ‹ˆλ‹€.

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