ชุมชนนักพัฒนาต่างคุยกันถึงเครื่องมือใหม่ที่เชื่อมช่องว่างระหว่างโปรแกรมแก้ไขแบบเทอร์มินัลและการแจ้งเตือนของระบบ Terminal-notifier ที่สร้างโดยผู้ใช้ GitHub ชื่อ tomasv มอบอินเทอร์เฟซการแจ้งเตือนสำหรับ Mac ที่มีสไตล์ให้กับผู้ใช้ Vim และ Neovim ซึ่งผสานเข้ากับเวิร์กโฟลว์การแก้ไขของพวกเขาได้อย่างราบรื่น
UI ที่สะอาดพร้อมฟีเจอร์ที่ทรงพลัง
Terminal-notifier มอบอินเทอร์เฟซที่สะอาดและชัดเจนสำหรับผู้ใช้ Vim และ Neovim ที่ต้องการการจัดการการแจ้งเตือนที่ดีขึ้น เครื่องมือนี้รองรับการส่งข้อความแบบ call-based การจับคู่ตัวเลขแบบกำหนดเองสำหรับคำขอ และความสามารถในการบันทึกล็อกที่ครอบคลุม สิ่งที่ทำให้โปรเจกต์นี้โดดเด่นคือแนวทางการทำงานแบบคู่ ที่มอบทั้งคุณสมบัติแบบประกาศ (declarative) และแบบคำสั่ง (imperative) สำหรับการเติมคำอัตโนมัติและคำสั่งต่างๆ
ชุมชนได้ตอบรับเชิงบวกต่อการออกแบบนี้ ผู้แสดงความคิดเห็นคนหนึ่งระบุว่า:
ดูค่อนข้างดีทีเดียว
ความรู้สึกนี้ได้รับการสะท้อนจากหลายคนที่ชื่นชมความสวยงามที่เรียบง่ายผสานกับฟังก์ชันการทำงานที่แข็งแกร่ง
คุณสมบัติหลักของ Terminal-Notifier:
- อินเตอร์เฟซที่สะอาดและชัดเจน
- ระบบข้อความแบบใช้การเรียก (Call-based)
- การจับคู่ตัวเลขจำนวนเต็มแบบกำหนดเองสำหรับคำขอ
- รองรับข้อมูลบันทึก/ข้อผิดพลาด
- ส่วนขยายหลายรูปแบบ (Declarative, History, Inspector, Repeater, Library)
ความต้องการของระบบ:
- Neovim/Vim
- iTerm2
- oh-my-zsh (ตัวเลือกเสริม)
- fzf-lua/fzf-lua
- nvim-telescope/telescope.nvim
- folke/lazy.nvim
แผนการพัฒนา:
- การสร้างข้อผิดพลาดตามการกำหนดค่า
- ตัวสร้างส่วนย่อย
- การสนับสนุนตัวแก้ไข
- การสนับสนุนปลั๊กอิน
- การสนับสนุนการตรวจสอบและการส่งออก
การผสานเข้ากับระบบนิเวศ Vim ที่มีอยู่
Terminal-notifier ไม่ได้อยู่อย่างโดดเดี่ยว แต่สร้างขึ้นบนระบบนิเวศ Vim ที่มีอยู่แล้ว มันต้องการปลั๊กอินยอดนิยมอย่าง fzf-lua/fzf-lua และ nvim-telescope/telescope.nvim โดยใช้ความสามารถของพวกมันเพื่อเพิ่มประสิทธิภาพการทำงาน เครื่องมือนี้รวมส่วนขยายหลายอย่าง: Declarative, History, Inspector, Repeater และ Library ซึ่งแต่ละส่วนทำหน้าที่เฉพาะภายในกรอบการแจ้งเตือน
ผู้ใช้บางคนสงสัยว่าการที่เครื่องมือนี้ต้องพึ่งพาทั้ง Vim และ tmux นั้นจำเป็นหรือไม่ ผู้แสดงความคิดเห็นคนหนึ่งสงสัยว่า Vim เองสามารถจัดการความต้องการ multiplexing ได้หรือไม่ โดยแนะนำว่าการพึ่งพาเพิ่มเติมอาจเป็นอุปสรรคต่อการนำไปใช้ นักพัฒนาตอบว่าพวกเขาได้ลองแนวทางนี้แล้วแต่พบว่ามันสับสนเกินไปที่จะหาบัฟเฟอร์ด้วยฟังก์ชันหน้าต่างที่ใช้งานอยู่ในปัจจุบัน ซึ่งบ่งชี้ว่าการออกแบบปัจจุบันเป็นทางเลือกที่ตั้งใจมากกว่าการมองข้าม
โอกาสในการทำงานร่วมกันในชุมชนนักพัฒนา
สิ่งที่น่าสนใจที่สุดคือโปรเจกต์นี้ได้ดึงดูดความสนใจจากนักพัฒนาเครื่องมืออื่นๆ ในวงการ ผู้ก่อตั้ง Caido (เครื่องมือทดสอบความปลอดภัยเว็บ) แสดงความสนใจในความร่วมมือที่อาจเกิดขึ้น โดยสังเกตเห็นความคล้ายคลึงในโค้ดเบสของพวกเขาและแนะนำว่าส่วนประกอบบางอย่างสามารถแยกออกเป็นไลบรารีที่ใช้ร่วมกันได้ ความร่วมมือระหว่างโปรเจกต์เช่นนี้อาจเป็นประโยชน์ต่อชุมชนนักพัฒนาในวงกว้าง โดยปรับปรุงการสร้างมาตรฐานและลดการทำงานซ้ำซ้อน
การกล่าวถึงการสนับสนุน HTTP/2 และตัวแยกวิเคราะห์แบบยืดหยุ่นเป็นพิเศษ เน้นย้ำถึงพื้นที่ที่ความร่วมมืออาจเกิดประโยชน์อย่างมาก เนื่องจากส่วนประกอบเหล่านี้มักต้องการทรัพยากรการพัฒนาที่สำคัญและได้รับประโยชน์จากการทดสอบและการปรับปรุงจากชุมชน
ข้อควรพิจารณาเกี่ยวกับเส้นโค้งการเรียนรู้
ในขณะที่ผู้แสดงความคิดเห็นหลายคนแสดงความกระตือรือร้นต่อโปรเจกต์ แต่ก็มีความกังวลเกี่ยวกับเส้นโค้งการเรียนรู้และการพึ่งพา ผู้แสดงความคิดเห็นคนหนึ่งคัดค้านข้อกำหนดสำหรับ tmux และ Vim อย่างชัดเจน โดยสังเกตว่าเครื่องมืออย่าง MitmProxy มอบประสบการณ์การติดตั้งที่ง่ายกว่า ซึ่งผู้ใช้สามารถดาวน์โหลดได้... และใช้งานได้ทันที
สิ่งนี้เน้นย้ำความตึงเครียดที่พบบ่อยในเครื่องมือนักพัฒนาระหว่างพลัง/การปรับแต่งได้และความง่ายในการนำไปใช้ Terminal-notifier ชัดเจนว่าอยู่ฝั่งที่เสนอการผสานและพลังอย่างลึกซึ้งให้กับผู้ที่ลงทุนในระบบนิเวศ Vim อยู่แล้ว มากกว่าการให้ความสำคัญกับการเข้าถึงได้ทันทีสำหรับผู้มาใหม่
สำหรับผู้ที่เต็มใจที่จะก้าวผ่านเส้นโค้งการเรียนรู้ terminal-notifier เสนอชุดคำสั่งและประเภทไฟล์ที่หลากหลายซึ่งออกแบบมาเพื่อเพิ่มประสบการณ์การแจ้งเตือน ตั้งแต่คำสั่งแบบ anchor ไปจนถึงการจัดการเกจและการจัดการข้อผิดพลาด เครื่องมือนี้ให้การควบคุมอย่างละเอียดว่าการแจ้งเตือนจะแสดง กรอง และโต้ตอบอย่างไร
เมื่อการพัฒนาดำเนินต่อไป แผนงานรวมถึงการสร้างข้อผิดพลาดตามการกำหนดค่า การสร้างส่วนย่อยของตัวสร้าง การขยายการสนับสนุนของตัวแก้ไข และการปรับปรุงความสามารถในการตรวจสอบและส่งออก สำหรับผู้ใช้ Vim ระดับสูงบนระบบ Mac ที่ต้องการเพิ่มประสบการณ์การแจ้งเตือน terminal-notifier ถือเป็นส่วนเสริมที่น่าสนใจสำหรับชุดเครื่องมือของพวกเขา
อ้างอิง: tomasv/terminal-notifier: Terminal-notifier is system with deep and easy to use interface