@ 261105.1

260113.9 · c43f7c01ec1de92e440c25503a02dc7494481794

chore: move cursors demo to demos and add test for it

reading declarations

Changes to demos/cursors/cursors.go. All files

demos/cursors/cursors.go

new file mode 100644@@ -0,0 +1,88 @@+// Copyright 2026 The TCell Authors+//+// Licensed under the Apache License, Version 2.0 (the "License");+// you may not use this file except in compliance with the License.+// You may obtain a copy of the License at+//+//    http://www.apache.org/licenses/LICENSE-2.0+//+// Unless required by applicable law or agreed to in writing, software+// distributed under the License is distributed on an "AS IS" BASIS,+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.+// See the License for the specific language governing permissions and+// limitations under the License.++package main++import (+	"fmt"+	"os"++	"github.com/gdamore/tcell/v3"+	"github.com/gdamore/tcell/v3/color"+)++func main() {+	tcell.SetEncodingFallback(tcell.EncodingFallbackASCII)+	s, e := tcell.NewScreen()+	if e != nil {+		fmt.Fprintf(os.Stderr, "%v\n", e)+		os.Exit(1)+	}+	if e = s.Init(); e != nil {+		fmt.Fprintf(os.Stderr, "%v\n", e)+		os.Exit(1)+	}+	defer s.Fini()++	s.SetStyle(tcell.StyleDefault)+	s.Clear()++	text := "This demonstrates cursor styles.  Press 0 through 6 to change the style."+	s.PutStr(1, 1, text)++	s.Put(2, 2, "0", tcell.StyleDefault)+	s.SetCursorStyle(tcell.CursorStyleDefault)+	s.ShowCursor(3, 2)++	for {+		s.Show()+		ev := <-s.EventQ()+		switch ev := ev.(type) {+		case *tcell.EventKey:+			switch ev.Key() {+			case tcell.KeyRune:+				switch ev.Str() {+				case "0":+					s.Put(2, 2, "0", tcell.StyleDefault)+					s.SetCursorStyle(tcell.CursorStyleDefault, color.Reset)+				case "1":+					s.Put(2, 2, "1", tcell.StyleDefault)+					s.SetCursorStyle(tcell.CursorStyleBlinkingBlock, color.Green)+				case "2":+					s.Put(2, 2, "2", tcell.StyleDefault)+					s.SetCursorStyle(tcell.CursorStyleSteadyBlock, color.Blue)+				case "3":+					s.Put(2, 2, "3", tcell.StyleDefault)+					s.SetCursorStyle(tcell.CursorStyleBlinkingUnderline, color.Red)+				case "4":+					s.Put(2, 2, "4", tcell.StyleDefault)+					s.SetCursorStyle(tcell.CursorStyleSteadyUnderline, color.Orange)+				case "5":+					s.Put(2, 2, "5", tcell.StyleDefault)+					s.SetCursorStyle(tcell.CursorStyleBlinkingBar, color.Yellow)+				case "6":+					s.Put(2, 2, "6", tcell.StyleDefault)+					s.SetCursorStyle(tcell.CursorStyleSteadyBar, color.Pink)+				}++			case tcell.KeyEscape, tcell.KeyEnter, tcell.KeyCtrlQ:+				return+			case tcell.KeyCtrlL:+				s.Sync()+			}+		case *tcell.EventResize:+			s.Sync()+		}+	}+}