mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-06-27 00:51:18 +02:00
Bump gocui
And adapt client code.
This commit is contained in:
8
go.mod
8
go.mod
@ -16,7 +16,7 @@ require (
|
|||||||
github.com/integrii/flaggy v1.4.0
|
github.com/integrii/flaggy v1.4.0
|
||||||
github.com/jesseduffield/generics v0.0.0-20220320043834-727e535cbe68
|
github.com/jesseduffield/generics v0.0.0-20220320043834-727e535cbe68
|
||||||
github.com/jesseduffield/go-git/v5 v5.1.2-0.20221018185014-fdd53fef665d
|
github.com/jesseduffield/go-git/v5 v5.1.2-0.20221018185014-fdd53fef665d
|
||||||
github.com/jesseduffield/gocui v0.3.1-0.20240824154427-0fc91d5098e4
|
github.com/jesseduffield/gocui v0.3.1-0.20240906064314-bfab49c720d7
|
||||||
github.com/jesseduffield/kill v0.0.0-20220618033138-bfbe04675d10
|
github.com/jesseduffield/kill v0.0.0-20220618033138-bfbe04675d10
|
||||||
github.com/jesseduffield/lazycore v0.0.0-20221012050358-03d2e40243c5
|
github.com/jesseduffield/lazycore v0.0.0-20221012050358-03d2e40243c5
|
||||||
github.com/jesseduffield/minimal/gitignore v0.3.3-0.20211018110810-9cde264e6b1e
|
github.com/jesseduffield/minimal/gitignore v0.3.3-0.20211018110810-9cde264e6b1e
|
||||||
@ -75,8 +75,8 @@ require (
|
|||||||
github.com/xanzy/ssh-agent v0.2.1 // indirect
|
github.com/xanzy/ssh-agent v0.2.1 // indirect
|
||||||
golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa // indirect
|
golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa // indirect
|
||||||
golang.org/x/net v0.7.0 // indirect
|
golang.org/x/net v0.7.0 // indirect
|
||||||
golang.org/x/sys v0.24.0 // indirect
|
golang.org/x/sys v0.25.0 // indirect
|
||||||
golang.org/x/term v0.23.0 // indirect
|
golang.org/x/term v0.24.0 // indirect
|
||||||
golang.org/x/text v0.17.0 // indirect
|
golang.org/x/text v0.18.0 // indirect
|
||||||
gopkg.in/warnings.v0 v0.1.2 // indirect
|
gopkg.in/warnings.v0 v0.1.2 // indirect
|
||||||
)
|
)
|
||||||
|
16
go.sum
16
go.sum
@ -188,8 +188,8 @@ github.com/jesseduffield/generics v0.0.0-20220320043834-727e535cbe68 h1:EQP2Tv8T
|
|||||||
github.com/jesseduffield/generics v0.0.0-20220320043834-727e535cbe68/go.mod h1:+LLj9/WUPAP8LqCchs7P+7X0R98HiFujVFANdNaxhGk=
|
github.com/jesseduffield/generics v0.0.0-20220320043834-727e535cbe68/go.mod h1:+LLj9/WUPAP8LqCchs7P+7X0R98HiFujVFANdNaxhGk=
|
||||||
github.com/jesseduffield/go-git/v5 v5.1.2-0.20221018185014-fdd53fef665d h1:bO+OmbreIv91rCe8NmscRwhFSqkDJtzWCPV4Y+SQuXE=
|
github.com/jesseduffield/go-git/v5 v5.1.2-0.20221018185014-fdd53fef665d h1:bO+OmbreIv91rCe8NmscRwhFSqkDJtzWCPV4Y+SQuXE=
|
||||||
github.com/jesseduffield/go-git/v5 v5.1.2-0.20221018185014-fdd53fef665d/go.mod h1:nGNEErzf+NRznT+N2SWqmHnDnF9aLgANB1CUNEan09o=
|
github.com/jesseduffield/go-git/v5 v5.1.2-0.20221018185014-fdd53fef665d/go.mod h1:nGNEErzf+NRznT+N2SWqmHnDnF9aLgANB1CUNEan09o=
|
||||||
github.com/jesseduffield/gocui v0.3.1-0.20240824154427-0fc91d5098e4 h1:2su9wjacqT/WxvNrzzdvA6rBJa6n/yZ/jvaS1r60HfM=
|
github.com/jesseduffield/gocui v0.3.1-0.20240906064314-bfab49c720d7 h1:QeLCKRAt4T6sBg5tSrOc4OojCuAcPxUA+4vNMPY4aH4=
|
||||||
github.com/jesseduffield/gocui v0.3.1-0.20240824154427-0fc91d5098e4/go.mod h1:XtEbqCbn45keRXEu+OMZkjN5gw6AEob59afsgHjokZ8=
|
github.com/jesseduffield/gocui v0.3.1-0.20240906064314-bfab49c720d7/go.mod h1:XtEbqCbn45keRXEu+OMZkjN5gw6AEob59afsgHjokZ8=
|
||||||
github.com/jesseduffield/kill v0.0.0-20220618033138-bfbe04675d10 h1:jmpr7KpX2+2GRiE91zTgfq49QvgiqB0nbmlwZ8UnOx0=
|
github.com/jesseduffield/kill v0.0.0-20220618033138-bfbe04675d10 h1:jmpr7KpX2+2GRiE91zTgfq49QvgiqB0nbmlwZ8UnOx0=
|
||||||
github.com/jesseduffield/kill v0.0.0-20220618033138-bfbe04675d10/go.mod h1:aA97kHeNA+sj2Hbki0pvLslmE4CbDyhBeSSTUUnOuVo=
|
github.com/jesseduffield/kill v0.0.0-20220618033138-bfbe04675d10/go.mod h1:aA97kHeNA+sj2Hbki0pvLslmE4CbDyhBeSSTUUnOuVo=
|
||||||
github.com/jesseduffield/lazycore v0.0.0-20221012050358-03d2e40243c5 h1:CDuQmfOjAtb1Gms6a1p5L2P8RhbLUq5t8aL7PiQd2uY=
|
github.com/jesseduffield/lazycore v0.0.0-20221012050358-03d2e40243c5 h1:CDuQmfOjAtb1Gms6a1p5L2P8RhbLUq5t8aL7PiQd2uY=
|
||||||
@ -475,14 +475,14 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc
|
|||||||
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||||
golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg=
|
golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34=
|
||||||
golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||||
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||||
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
|
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
|
||||||
golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=
|
golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=
|
||||||
golang.org/x/term v0.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU=
|
golang.org/x/term v0.24.0 h1:Mh5cbb+Zk2hqqXNO7S1iTjEphVL+jb8ZWaqh/g+JWkM=
|
||||||
golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk=
|
golang.org/x/term v0.24.0/go.mod h1:lOBK/LVxemqiMij05LGJ0tzNr8xlmwBRJ81PX6wVLH8=
|
||||||
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
@ -493,8 +493,8 @@ golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
|||||||
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
|
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
|
||||||
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
|
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
|
||||||
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
|
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
|
||||||
golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc=
|
golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224=
|
||||||
golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
|
golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
|
||||||
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||||
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||||
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||||
|
@ -99,7 +99,7 @@ func (self *MergeConflictsContext) setContent() {
|
|||||||
|
|
||||||
func (self *MergeConflictsContext) FocusSelection() {
|
func (self *MergeConflictsContext) FocusSelection() {
|
||||||
if !self.IsUserScrolling() {
|
if !self.IsUserScrolling() {
|
||||||
_ = self.GetView().SetOriginY(self.GetOriginY())
|
self.GetView().SetOriginY(self.GetOriginY())
|
||||||
}
|
}
|
||||||
|
|
||||||
self.SetSelectedLineRange()
|
self.SetSelectedLineRange()
|
||||||
|
@ -116,7 +116,7 @@ func (self *PatchExplorerContext) FocusSelection() {
|
|||||||
|
|
||||||
newOriginY := state.CalculateOrigin(origin, bufferHeight, numLines)
|
newOriginY := state.CalculateOrigin(origin, bufferHeight, numLines)
|
||||||
|
|
||||||
_ = view.SetOriginY(newOriginY)
|
view.SetOriginY(newOriginY)
|
||||||
|
|
||||||
startIdx, endIdx := state.SelectedRange()
|
startIdx, endIdx := state.SelectedRange()
|
||||||
// As far as the view is concerned, we are always selecting a range
|
// As far as the view is concerned, we are always selecting a range
|
||||||
|
@ -53,7 +53,7 @@ func (self *SimpleContext) HandleFocus(opts types.OnFocusOpts) error {
|
|||||||
|
|
||||||
func (self *SimpleContext) HandleFocusLost(opts types.OnFocusLostOpts) error {
|
func (self *SimpleContext) HandleFocusLost(opts types.OnFocusLostOpts) error {
|
||||||
self.GetViewTrait().SetHighlight(false)
|
self.GetViewTrait().SetHighlight(false)
|
||||||
_ = self.view.SetOriginX(0)
|
self.view.SetOriginX(0)
|
||||||
if self.onFocusLostFn != nil {
|
if self.onFocusLostFn != nil {
|
||||||
return self.onFocusLostFn(opts)
|
return self.onFocusLostFn(opts)
|
||||||
}
|
}
|
||||||
|
@ -57,7 +57,7 @@ func (self *ViewTrait) SetFooter(value string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (self *ViewTrait) SetOriginX(value int) {
|
func (self *ViewTrait) SetOriginX(value int) {
|
||||||
_ = self.view.SetOriginX(value)
|
self.view.SetOriginX(value)
|
||||||
}
|
}
|
||||||
|
|
||||||
// tells us the start of line indexes shown in the view currently as well as the capacity of lines shown in the viewport.
|
// tells us the start of line indexes shown in the view currently as well as the capacity of lines shown in the viewport.
|
||||||
|
@ -163,7 +163,7 @@ func (self *ConfirmationHelper) prepareConfirmationPanel(
|
|||||||
self.c.Views().Confirmation.Wrap = !opts.Editable
|
self.c.Views().Confirmation.Wrap = !opts.Editable
|
||||||
self.c.Views().Confirmation.FgColor = theme.GocuiDefaultTextColor
|
self.c.Views().Confirmation.FgColor = theme.GocuiDefaultTextColor
|
||||||
self.c.Views().Confirmation.Mask = runeForMask(opts.Mask)
|
self.c.Views().Confirmation.Mask = runeForMask(opts.Mask)
|
||||||
_ = self.c.Views().Confirmation.SetOrigin(0, 0)
|
self.c.Views().Confirmation.SetOrigin(0, 0)
|
||||||
|
|
||||||
suggestionsContext := self.c.Contexts().Suggestions
|
suggestionsContext := self.c.Contexts().Suggestions
|
||||||
suggestionsContext.State.FindSuggestions = opts.FindSuggestionsFunc
|
suggestionsContext.State.FindSuggestions = opts.FindSuggestionsFunc
|
||||||
|
@ -237,7 +237,7 @@ func (self *SearchHelper) OnPromptContentChanged(searchString string) {
|
|||||||
switch context := state.Context.(type) {
|
switch context := state.Context.(type) {
|
||||||
case types.IFilterableContext:
|
case types.IFilterableContext:
|
||||||
context.SetSelection(0)
|
context.SetSelection(0)
|
||||||
_ = context.GetView().SetOriginY(0)
|
context.GetView().SetOriginY(0)
|
||||||
context.SetFilter(searchString, self.c.UserConfig().Gui.UseFuzzySearch())
|
context.SetFilter(searchString, self.c.UserConfig().Gui.UseFuzzySearch())
|
||||||
_ = self.c.PostRefreshUpdate(context)
|
_ = self.c.PostRefreshUpdate(context)
|
||||||
case types.ISearchableContext:
|
case types.ISearchableContext:
|
||||||
@ -253,7 +253,7 @@ func (self *SearchHelper) ReApplyFilter(context types.Context) {
|
|||||||
state := self.searchState()
|
state := self.searchState()
|
||||||
if context == state.Context {
|
if context == state.Context {
|
||||||
filterableContext.SetSelection(0)
|
filterableContext.SetSelection(0)
|
||||||
_ = filterableContext.GetView().SetOriginY(0)
|
filterableContext.GetView().SetOriginY(0)
|
||||||
}
|
}
|
||||||
filterableContext.ReApplyFilter(self.c.UserConfig().Gui.UseFuzzySearch())
|
filterableContext.ReApplyFilter(self.c.UserConfig().Gui.UseFuzzySearch())
|
||||||
}
|
}
|
||||||
|
@ -188,7 +188,7 @@ func (self *FilesController) Explode(v *gocui.View, onDone func()) {
|
|||||||
style := styles[(i*len(styles)/max)%len(styles)]
|
style := styles[(i*len(styles)/max)%len(styles)]
|
||||||
coloredImage := style.Sprint(image)
|
coloredImage := style.Sprint(image)
|
||||||
self.c.OnUIThread(func() error {
|
self.c.OnUIThread(func() error {
|
||||||
_ = v.SetOrigin(0, 0)
|
v.SetOrigin(0, 0)
|
||||||
v.SetContent(coloredImage)
|
v.SetContent(coloredImage)
|
||||||
return nil
|
return nil
|
||||||
})
|
})
|
||||||
|
@ -116,10 +116,10 @@ func (gui *Gui) refreshMainViews(opts types.RefreshMainOpts) error {
|
|||||||
// need to reset scroll positions of all other main views
|
// need to reset scroll positions of all other main views
|
||||||
for _, pair := range gui.allMainContextPairs() {
|
for _, pair := range gui.allMainContextPairs() {
|
||||||
if pair.Main != opts.Pair.Main {
|
if pair.Main != opts.Pair.Main {
|
||||||
_ = pair.Main.GetView().SetOrigin(0, 0)
|
pair.Main.GetView().SetOrigin(0, 0)
|
||||||
}
|
}
|
||||||
if pair.Secondary != nil && pair.Secondary != opts.Pair.Secondary {
|
if pair.Secondary != nil && pair.Secondary != opts.Pair.Secondary {
|
||||||
_ = pair.Secondary.GetView().SetOrigin(0, 0)
|
pair.Secondary.GetView().SetOrigin(0, 0)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -67,7 +67,7 @@ func (gui *Gui) newStringTaskWithScroll(view *gocui.View, str string, originX in
|
|||||||
|
|
||||||
f := func(tasks.TaskOpts) error {
|
f := func(tasks.TaskOpts) error {
|
||||||
gui.c.SetViewContent(view, str)
|
gui.c.SetViewContent(view, str)
|
||||||
_ = view.SetOrigin(originX, originY)
|
view.SetOrigin(originX, originY)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -119,16 +119,13 @@ func (gui *Gui) getManager(view *gocui.View) *tasks.ViewBufferManager {
|
|||||||
if linesHeight < originY {
|
if linesHeight < originY {
|
||||||
newOriginY := linesHeight
|
newOriginY := linesHeight
|
||||||
|
|
||||||
err := view.SetOrigin(0, newOriginY)
|
view.SetOrigin(0, newOriginY)
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
view.FlushStaleCells()
|
view.FlushStaleCells()
|
||||||
},
|
},
|
||||||
func() {
|
func() {
|
||||||
_ = view.SetOrigin(0, 0)
|
view.SetOrigin(0, 0)
|
||||||
},
|
},
|
||||||
func() gocui.Task {
|
func() gocui.Task {
|
||||||
return gui.c.GocuiGui().NewTask()
|
return gui.c.GocuiGui().NewTask()
|
||||||
|
@ -11,13 +11,8 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func (gui *Gui) resetViewOrigin(v *gocui.View) {
|
func (gui *Gui) resetViewOrigin(v *gocui.View) {
|
||||||
if err := v.SetCursor(0, 0); err != nil {
|
v.SetCursor(0, 0)
|
||||||
gui.Log.Error(err)
|
v.SetOrigin(0, 0)
|
||||||
}
|
|
||||||
|
|
||||||
if err := v.SetOrigin(0, 0); err != nil {
|
|
||||||
gui.Log.Error(err)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns the number of lines that we should read initially from a cmd task so
|
// Returns the number of lines that we should read initially from a cmd task so
|
||||||
|
16
vendor/github.com/jesseduffield/gocui/gui.go
generated
vendored
16
vendor/github.com/jesseduffield/gocui/gui.go
generated
vendored
@ -325,8 +325,8 @@ func (g *Gui) SetView(name string, x0, y0, x1, y1 int, overlaps byte) (*View, er
|
|||||||
newViewCursorX, newOriginX := updatedCursorAndOrigin(0, v.InnerWidth(), cursorX)
|
newViewCursorX, newOriginX := updatedCursorAndOrigin(0, v.InnerWidth(), cursorX)
|
||||||
newViewCursorY, newOriginY := updatedCursorAndOrigin(0, v.InnerHeight(), cursorY)
|
newViewCursorY, newOriginY := updatedCursorAndOrigin(0, v.InnerHeight(), cursorY)
|
||||||
|
|
||||||
_ = v.SetCursor(newViewCursorX, newViewCursorY)
|
v.SetCursor(newViewCursorX, newViewCursorY)
|
||||||
_ = v.SetOrigin(newOriginX, newOriginY)
|
v.SetOrigin(newOriginX, newOriginY)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1204,9 +1204,7 @@ func (g *Gui) ForceRedrawViews(views ...*View) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _, v := range views {
|
for _, v := range views {
|
||||||
if err := v.draw(); err != nil {
|
v.draw()
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Screen.Show()
|
Screen.Show()
|
||||||
@ -1252,9 +1250,7 @@ func (g *Gui) draw(v *View) error {
|
|||||||
Screen.HideCursor()
|
Screen.HideCursor()
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := v.draw(); err != nil {
|
v.draw()
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
if v.Frame {
|
if v.Frame {
|
||||||
var fgColor, bgColor, frameColor Attribute
|
var fgColor, bgColor, frameColor Attribute
|
||||||
@ -1360,9 +1356,7 @@ func (g *Gui) onKey(ev *GocuiEvent) error {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if !IsMouseScrollKey(ev.Key) {
|
if !IsMouseScrollKey(ev.Key) {
|
||||||
if err := v.SetCursor(newCx, newCy); err != nil {
|
v.SetCursor(newCx, newCy)
|
||||||
return err
|
|
||||||
}
|
|
||||||
if v.Editable {
|
if v.Editable {
|
||||||
v.TextArea.SetCursor2D(newX, newY)
|
v.TextArea.SetCursor2D(newX, newY)
|
||||||
|
|
||||||
|
165
vendor/github.com/jesseduffield/gocui/view.go
generated
vendored
165
vendor/github.com/jesseduffield/gocui/view.go
generated
vendored
@ -14,7 +14,6 @@ import (
|
|||||||
"unicode/utf8"
|
"unicode/utf8"
|
||||||
|
|
||||||
"github.com/gdamore/tcell/v2"
|
"github.com/gdamore/tcell/v2"
|
||||||
"github.com/go-errors/errors"
|
|
||||||
"github.com/mattn/go-runewidth"
|
"github.com/mattn/go-runewidth"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -26,10 +25,6 @@ const (
|
|||||||
RIGHT = 8 // view is overlapping at right edge
|
RIGHT = 8 // view is overlapping at right edge
|
||||||
)
|
)
|
||||||
|
|
||||||
// ErrInvalidPoint is returned when client passed invalid coordinates of a cell.
|
|
||||||
// Most likely client has passed negative coordinates of a cell.
|
|
||||||
var ErrInvalidPoint = errors.New("invalid point")
|
|
||||||
|
|
||||||
// A View is a window. It maintains its own internal buffer and cursor
|
// A View is a window. It maintains its own internal buffer and cursor
|
||||||
// position.
|
// position.
|
||||||
type View struct {
|
type View struct {
|
||||||
@ -487,10 +482,10 @@ func (v *View) Name() string {
|
|||||||
// setRune sets a rune at the given point relative to the view. It applies the
|
// setRune sets a rune at the given point relative to the view. It applies the
|
||||||
// specified colors, taking into account if the cell must be highlighted. Also,
|
// specified colors, taking into account if the cell must be highlighted. Also,
|
||||||
// it checks if the position is valid.
|
// it checks if the position is valid.
|
||||||
func (v *View) setRune(x, y int, ch rune, fgColor, bgColor Attribute) error {
|
func (v *View) setRune(x, y int, ch rune, fgColor, bgColor Attribute) {
|
||||||
maxX, maxY := v.Size()
|
maxX, maxY := v.Size()
|
||||||
if x < 0 || x >= maxX || y < 0 || y >= maxY {
|
if x < 0 || x >= maxX || y < 0 || y >= maxY {
|
||||||
return ErrInvalidPoint
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if v.Mask != 0 {
|
if v.Mask != 0 {
|
||||||
@ -498,27 +493,24 @@ func (v *View) setRune(x, y int, ch rune, fgColor, bgColor Attribute) error {
|
|||||||
bgColor = v.BgColor
|
bgColor = v.BgColor
|
||||||
ch = v.Mask
|
ch = v.Mask
|
||||||
} else if v.Highlight {
|
} else if v.Highlight {
|
||||||
var (
|
var ry, rcy int
|
||||||
ry, rcy int
|
|
||||||
err error
|
|
||||||
)
|
|
||||||
|
|
||||||
_, ry, err = v.realPosition(x, y)
|
_, ry, ok := v.realPosition(x, y)
|
||||||
if err != nil {
|
if !ok {
|
||||||
return err
|
return
|
||||||
}
|
}
|
||||||
_, rrcy, err := v.realPosition(v.cx, v.cy)
|
_, rrcy, ok := v.realPosition(v.cx, v.cy)
|
||||||
// if error is not nil, then the cursor is out of bounds, which is fine
|
// out of bounds is fine
|
||||||
if err == nil {
|
if ok {
|
||||||
rcy = rrcy
|
rcy = rrcy
|
||||||
}
|
}
|
||||||
|
|
||||||
rangeSelectStart := rcy
|
rangeSelectStart := rcy
|
||||||
rangeSelectEnd := rcy
|
rangeSelectEnd := rcy
|
||||||
if v.rangeSelectStartY != -1 {
|
if v.rangeSelectStartY != -1 {
|
||||||
_, realRangeSelectStart, err := v.realPosition(0, v.rangeSelectStartY-v.oy)
|
_, realRangeSelectStart, ok := v.realPosition(0, v.rangeSelectStartY-v.oy)
|
||||||
if err != nil {
|
if !ok {
|
||||||
return err
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
rangeSelectStart = min(realRangeSelectStart, rcy)
|
rangeSelectStart = min(realRangeSelectStart, rcy)
|
||||||
@ -558,8 +550,6 @@ func (v *View) setRune(x, y int, ch rune, fgColor, bgColor Attribute) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
tcellSetCell(v.x0+x+1, v.y0+y+1, ch, fgColor, bgColor, v.outMode)
|
tcellSetCell(v.x0+x+1, v.y0+y+1, ch, fgColor, bgColor, v.outMode)
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func min(a, b int) int {
|
func min(a, b int) int {
|
||||||
@ -578,14 +568,13 @@ func max(a, b int) int {
|
|||||||
|
|
||||||
// SetCursor sets the cursor position of the view at the given point,
|
// SetCursor sets the cursor position of the view at the given point,
|
||||||
// relative to the view. It checks if the position is valid.
|
// relative to the view. It checks if the position is valid.
|
||||||
func (v *View) SetCursor(x, y int) error {
|
func (v *View) SetCursor(x, y int) {
|
||||||
maxX, maxY := v.Size()
|
maxX, maxY := v.Size()
|
||||||
if x < 0 || x >= maxX || y < 0 || y >= maxY {
|
if x < 0 || x >= maxX || y < 0 || y >= maxY {
|
||||||
return nil
|
return
|
||||||
}
|
}
|
||||||
v.cx = x
|
v.cx = x
|
||||||
v.cy = y
|
v.cy = y
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (v *View) SetCursorX(x int) {
|
func (v *View) SetCursorX(x int) {
|
||||||
@ -622,29 +611,30 @@ func (v *View) CursorY() int {
|
|||||||
// it is linked with the origin point of view. It can be used to
|
// it is linked with the origin point of view. It can be used to
|
||||||
// implement Horizontal and Vertical scrolling with just incrementing
|
// implement Horizontal and Vertical scrolling with just incrementing
|
||||||
// or decrementing ox and oy.
|
// or decrementing ox and oy.
|
||||||
func (v *View) SetOrigin(x, y int) error {
|
func (v *View) SetOrigin(x, y int) {
|
||||||
if x < 0 || y < 0 {
|
|
||||||
return ErrInvalidPoint
|
|
||||||
}
|
|
||||||
v.ox = x
|
|
||||||
v.oy = y
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (v *View) SetOriginX(x int) error {
|
|
||||||
if x < 0 {
|
if x < 0 {
|
||||||
return ErrInvalidPoint
|
x = 0
|
||||||
}
|
}
|
||||||
v.ox = x
|
if y < 0 {
|
||||||
return nil
|
y = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
func (v *View) SetOriginY(y int) error {
|
v.ox = x
|
||||||
|
v.oy = y
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *View) SetOriginX(x int) {
|
||||||
|
if x < 0 {
|
||||||
|
x = 0
|
||||||
|
}
|
||||||
|
v.ox = x
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *View) SetOriginY(y int) {
|
||||||
if y < 0 {
|
if y < 0 {
|
||||||
return ErrInvalidPoint
|
y = 0
|
||||||
}
|
}
|
||||||
v.oy = y
|
v.oy = y
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Origin returns the origin position of the view.
|
// Origin returns the origin position of the view.
|
||||||
@ -662,13 +652,16 @@ func (v *View) OriginY() int {
|
|||||||
|
|
||||||
// SetWritePos sets the write position of the view's internal buffer.
|
// SetWritePos sets the write position of the view's internal buffer.
|
||||||
// So the next Write call would write directly to the specified position.
|
// So the next Write call would write directly to the specified position.
|
||||||
func (v *View) SetWritePos(x, y int) error {
|
func (v *View) SetWritePos(x, y int) {
|
||||||
if x < 0 || y < 0 {
|
if x < 0 {
|
||||||
return ErrInvalidPoint
|
x = 0
|
||||||
}
|
}
|
||||||
|
if y < 0 {
|
||||||
|
y = 0
|
||||||
|
}
|
||||||
|
|
||||||
v.wx = x
|
v.wx = x
|
||||||
v.wy = y
|
v.wy = y
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// WritePos returns the current write position of the view's internal buffer.
|
// WritePos returns the current write position of the view's internal buffer.
|
||||||
@ -678,14 +671,17 @@ func (v *View) WritePos() (x, y int) {
|
|||||||
|
|
||||||
// SetReadPos sets the read position of the view's internal buffer.
|
// SetReadPos sets the read position of the view's internal buffer.
|
||||||
// So the next Read call would read from the specified position.
|
// So the next Read call would read from the specified position.
|
||||||
func (v *View) SetReadPos(x, y int) error {
|
func (v *View) SetReadPos(x, y int) {
|
||||||
if x < 0 || y < 0 {
|
if x < 0 {
|
||||||
return ErrInvalidPoint
|
x = 0
|
||||||
}
|
}
|
||||||
|
if y < 0 {
|
||||||
|
y = 0
|
||||||
|
}
|
||||||
|
|
||||||
v.readBuffer = nil
|
v.readBuffer = nil
|
||||||
v.rx = x
|
v.rx = x
|
||||||
v.ry = y
|
v.ry = y
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ReadPos returns the current read position of the view's internal buffer.
|
// ReadPos returns the current read position of the view's internal buffer.
|
||||||
@ -992,16 +988,8 @@ func (v *View) FlushStaleCells() {
|
|||||||
func (v *View) rewind() {
|
func (v *View) rewind() {
|
||||||
v.ei.reset()
|
v.ei.reset()
|
||||||
|
|
||||||
if err := v.SetReadPos(0, 0); err != nil {
|
v.SetReadPos(0, 0)
|
||||||
// SetReadPos returns error only if x and y are negative
|
v.SetWritePos(0, 0)
|
||||||
// we are passing 0, 0, thus no error should occur.
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
if err := v.SetWritePos(0, 0); err != nil {
|
|
||||||
// SetWritePos returns error only if x and y are negative
|
|
||||||
// we are passing 0, 0, thus no error should occur.
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func containsUpcaseChar(str string) bool {
|
func containsUpcaseChar(str string) bool {
|
||||||
@ -1098,12 +1086,12 @@ func (v *View) IsTainted() bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// draw re-draws the view's contents.
|
// draw re-draws the view's contents.
|
||||||
func (v *View) draw() error {
|
func (v *View) draw() {
|
||||||
v.writeMutex.Lock()
|
v.writeMutex.Lock()
|
||||||
defer v.writeMutex.Unlock()
|
defer v.writeMutex.Unlock()
|
||||||
|
|
||||||
if !v.Visible {
|
if !v.Visible {
|
||||||
return nil
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
v.clearRunes()
|
v.clearRunes()
|
||||||
@ -1112,7 +1100,7 @@ func (v *View) draw() error {
|
|||||||
|
|
||||||
if v.Wrap {
|
if v.Wrap {
|
||||||
if maxX == 0 {
|
if maxX == 0 {
|
||||||
return nil
|
return
|
||||||
}
|
}
|
||||||
v.ox = 0
|
v.ox = 0
|
||||||
}
|
}
|
||||||
@ -1125,7 +1113,7 @@ func (v *View) draw() error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if len(v.viewLines) == 0 {
|
if len(v.viewLines) == 0 {
|
||||||
return nil
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
start := v.oy
|
start := v.oy
|
||||||
@ -1189,9 +1177,7 @@ func (v *View) draw() error {
|
|||||||
fgColor |= AttrUnderline
|
fgColor |= AttrUnderline
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := v.setRune(x, y, c.chr, fgColor, bgColor); err != nil {
|
v.setRune(x, y, c.chr, fgColor, bgColor)
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
// Not sure why the previous code was here but it caused problems
|
// Not sure why the previous code was here but it caused problems
|
||||||
// when typing wide characters in an editor
|
// when typing wide characters in an editor
|
||||||
@ -1199,7 +1185,6 @@ func (v *View) draw() error {
|
|||||||
cellIdx++
|
cellIdx++
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (v *View) refreshViewLinesIfNeeded() {
|
func (v *View) refreshViewLinesIfNeeded() {
|
||||||
@ -1268,16 +1253,16 @@ func (v *View) isHoveredHyperlink(x, y int) bool {
|
|||||||
|
|
||||||
// realPosition returns the position in the internal buffer corresponding to the
|
// realPosition returns the position in the internal buffer corresponding to the
|
||||||
// point (x, y) of the view.
|
// point (x, y) of the view.
|
||||||
func (v *View) realPosition(vx, vy int) (x, y int, err error) {
|
func (v *View) realPosition(vx, vy int) (x, y int, ok bool) {
|
||||||
vx = v.ox + vx
|
vx = v.ox + vx
|
||||||
vy = v.oy + vy
|
vy = v.oy + vy
|
||||||
|
|
||||||
if vx < 0 || vy < 0 {
|
if vx < 0 || vy < 0 {
|
||||||
return 0, 0, ErrInvalidPoint
|
return 0, 0, false
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(v.viewLines) == 0 {
|
if len(v.viewLines) == 0 {
|
||||||
return vx, vy, nil
|
return vx, vy, true
|
||||||
}
|
}
|
||||||
|
|
||||||
if vy < len(v.viewLines) {
|
if vy < len(v.viewLines) {
|
||||||
@ -1290,7 +1275,7 @@ func (v *View) realPosition(vx, vy int) (x, y int, err error) {
|
|||||||
y = vline.linesY + vy - len(v.viewLines) + 1
|
y = vline.linesY + vy - len(v.viewLines) + 1
|
||||||
}
|
}
|
||||||
|
|
||||||
return x, y, nil
|
return x, y, true
|
||||||
}
|
}
|
||||||
|
|
||||||
// clearRunes erases all the cells in the view.
|
// clearRunes erases all the cells in the view.
|
||||||
@ -1366,29 +1351,29 @@ func (v *View) ViewBuffer() string {
|
|||||||
|
|
||||||
// Line returns a string with the line of the view's internal buffer
|
// Line returns a string with the line of the view's internal buffer
|
||||||
// at the position corresponding to the point (x, y).
|
// at the position corresponding to the point (x, y).
|
||||||
func (v *View) Line(y int) (string, error) {
|
func (v *View) Line(y int) (string, bool) {
|
||||||
_, y, err := v.realPosition(0, y)
|
_, y, ok := v.realPosition(0, y)
|
||||||
if err != nil {
|
if !ok {
|
||||||
return "", err
|
return "", false
|
||||||
}
|
}
|
||||||
|
|
||||||
if y < 0 || y >= len(v.lines) {
|
if y < 0 || y >= len(v.lines) {
|
||||||
return "", ErrInvalidPoint
|
return "", false
|
||||||
}
|
}
|
||||||
|
|
||||||
return lineType(v.lines[y]).String(), nil
|
return lineType(v.lines[y]).String(), true
|
||||||
}
|
}
|
||||||
|
|
||||||
// Word returns a string with the word of the view's internal buffer
|
// Word returns a string with the word of the view's internal buffer
|
||||||
// at the position corresponding to the point (x, y).
|
// at the position corresponding to the point (x, y).
|
||||||
func (v *View) Word(x, y int) (string, error) {
|
func (v *View) Word(x, y int) (string, bool) {
|
||||||
x, y, err := v.realPosition(x, y)
|
x, y, ok := v.realPosition(x, y)
|
||||||
if err != nil {
|
if !ok {
|
||||||
return "", err
|
return "", false
|
||||||
}
|
}
|
||||||
|
|
||||||
if x < 0 || y < 0 || y >= len(v.lines) || x >= len(v.lines[y]) {
|
if x < 0 || y < 0 || y >= len(v.lines) || x >= len(v.lines[y]) {
|
||||||
return "", ErrInvalidPoint
|
return "", false
|
||||||
}
|
}
|
||||||
|
|
||||||
str := lineType(v.lines[y]).String()
|
str := lineType(v.lines[y]).String()
|
||||||
@ -1405,7 +1390,7 @@ func (v *View) Word(x, y int) (string, error) {
|
|||||||
} else {
|
} else {
|
||||||
nr = nr + x
|
nr = nr + x
|
||||||
}
|
}
|
||||||
return str[nl:nr], nil
|
return str[nl:nr], true
|
||||||
}
|
}
|
||||||
|
|
||||||
// indexFunc allows to split lines by words taking into account spaces
|
// indexFunc allows to split lines by words taking into account spaces
|
||||||
@ -1416,10 +1401,9 @@ func indexFunc(r rune) bool {
|
|||||||
|
|
||||||
// SetHighlight toggles highlighting of separate lines, for custom lists
|
// SetHighlight toggles highlighting of separate lines, for custom lists
|
||||||
// or multiple selection in views.
|
// or multiple selection in views.
|
||||||
func (v *View) SetHighlight(y int, on bool) error {
|
func (v *View) SetHighlight(y int, on bool) {
|
||||||
if y < 0 || y >= len(v.lines) {
|
if y < 0 || y >= len(v.lines) {
|
||||||
err := ErrInvalidPoint
|
return
|
||||||
return err
|
|
||||||
}
|
}
|
||||||
|
|
||||||
line := v.lines[y]
|
line := v.lines[y]
|
||||||
@ -1437,7 +1421,6 @@ func (v *View) SetHighlight(y int, on bool) error {
|
|||||||
v.tainted = true
|
v.tainted = true
|
||||||
v.lines[y] = cells
|
v.lines[y] = cells
|
||||||
v.clearHover()
|
v.clearHover()
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func lineWrap(line []cell, columns int) [][]cell {
|
func lineWrap(line []cell, columns int) [][]cell {
|
||||||
@ -1620,8 +1603,8 @@ func (v *View) RenderTextArea() {
|
|||||||
newViewCursorX, newOriginX := updatedCursorAndOrigin(prevOriginX, width, cursorX)
|
newViewCursorX, newOriginX := updatedCursorAndOrigin(prevOriginX, width, cursorX)
|
||||||
newViewCursorY, newOriginY := updatedCursorAndOrigin(prevOriginY, height, cursorY)
|
newViewCursorY, newOriginY := updatedCursorAndOrigin(prevOriginY, height, cursorY)
|
||||||
|
|
||||||
_ = v.SetCursor(newViewCursorX, newViewCursorY)
|
v.SetCursor(newViewCursorX, newViewCursorY)
|
||||||
_ = v.SetOrigin(newOriginX, newOriginY)
|
v.SetOrigin(newOriginX, newOriginY)
|
||||||
}
|
}
|
||||||
|
|
||||||
func updatedCursorAndOrigin(prevOrigin int, size int, cursor int) (int, int) {
|
func updatedCursorAndOrigin(prevOrigin int, size int, cursor int) (int, int) {
|
||||||
@ -1648,8 +1631,8 @@ func (v *View) ClearTextArea() {
|
|||||||
defer v.writeMutex.Unlock()
|
defer v.writeMutex.Unlock()
|
||||||
|
|
||||||
v.TextArea.Clear()
|
v.TextArea.Clear()
|
||||||
_ = v.SetOrigin(0, 0)
|
v.SetOrigin(0, 0)
|
||||||
_ = v.SetCursor(0, 0)
|
v.SetCursor(0, 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (v *View) overwriteLines(y int, content string) {
|
func (v *View) overwriteLines(y int, content string) {
|
||||||
|
19
vendor/golang.org/x/sys/cpu/cpu.go
generated
vendored
19
vendor/golang.org/x/sys/cpu/cpu.go
generated
vendored
@ -201,6 +201,25 @@ var S390X struct {
|
|||||||
_ CacheLinePad
|
_ CacheLinePad
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// RISCV64 contains the supported CPU features and performance characteristics for riscv64
|
||||||
|
// platforms. The booleans in RISCV64, with the exception of HasFastMisaligned, indicate
|
||||||
|
// the presence of RISC-V extensions.
|
||||||
|
//
|
||||||
|
// It is safe to assume that all the RV64G extensions are supported and so they are omitted from
|
||||||
|
// this structure. As riscv64 Go programs require at least RV64G, the code that populates
|
||||||
|
// this structure cannot run successfully if some of the RV64G extensions are missing.
|
||||||
|
// The struct is padded to avoid false sharing.
|
||||||
|
var RISCV64 struct {
|
||||||
|
_ CacheLinePad
|
||||||
|
HasFastMisaligned bool // Fast misaligned accesses
|
||||||
|
HasC bool // Compressed instruction-set extension
|
||||||
|
HasV bool // Vector extension compatible with RVV 1.0
|
||||||
|
HasZba bool // Address generation instructions extension
|
||||||
|
HasZbb bool // Basic bit-manipulation extension
|
||||||
|
HasZbs bool // Single-bit instructions extension
|
||||||
|
_ CacheLinePad
|
||||||
|
}
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
archInit()
|
archInit()
|
||||||
initOptions()
|
initOptions()
|
||||||
|
2
vendor/golang.org/x/sys/cpu/cpu_linux_noinit.go
generated
vendored
2
vendor/golang.org/x/sys/cpu/cpu_linux_noinit.go
generated
vendored
@ -2,7 +2,7 @@
|
|||||||
// Use of this source code is governed by a BSD-style
|
// Use of this source code is governed by a BSD-style
|
||||||
// license that can be found in the LICENSE file.
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
//go:build linux && !arm && !arm64 && !mips64 && !mips64le && !ppc64 && !ppc64le && !s390x
|
//go:build linux && !arm && !arm64 && !mips64 && !mips64le && !ppc64 && !ppc64le && !s390x && !riscv64
|
||||||
|
|
||||||
package cpu
|
package cpu
|
||||||
|
|
||||||
|
137
vendor/golang.org/x/sys/cpu/cpu_linux_riscv64.go
generated
vendored
Normal file
137
vendor/golang.org/x/sys/cpu/cpu_linux_riscv64.go
generated
vendored
Normal file
@ -0,0 +1,137 @@
|
|||||||
|
// Copyright 2024 The Go Authors. All rights reserved.
|
||||||
|
// Use of this source code is governed by a BSD-style
|
||||||
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
package cpu
|
||||||
|
|
||||||
|
import (
|
||||||
|
"syscall"
|
||||||
|
"unsafe"
|
||||||
|
)
|
||||||
|
|
||||||
|
// RISC-V extension discovery code for Linux. The approach here is to first try the riscv_hwprobe
|
||||||
|
// syscall falling back to HWCAP to check for the C extension if riscv_hwprobe is not available.
|
||||||
|
//
|
||||||
|
// A note on detection of the Vector extension using HWCAP.
|
||||||
|
//
|
||||||
|
// Support for the Vector extension version 1.0 was added to the Linux kernel in release 6.5.
|
||||||
|
// Support for the riscv_hwprobe syscall was added in 6.4. It follows that if the riscv_hwprobe
|
||||||
|
// syscall is not available then neither is the Vector extension (which needs kernel support).
|
||||||
|
// The riscv_hwprobe syscall should then be all we need to detect the Vector extension.
|
||||||
|
// However, some RISC-V board manufacturers ship boards with an older kernel on top of which
|
||||||
|
// they have back-ported various versions of the Vector extension patches but not the riscv_hwprobe
|
||||||
|
// patches. These kernels advertise support for the Vector extension using HWCAP. Falling
|
||||||
|
// back to HWCAP to detect the Vector extension, if riscv_hwprobe is not available, or simply not
|
||||||
|
// bothering with riscv_hwprobe at all and just using HWCAP may then seem like an attractive option.
|
||||||
|
//
|
||||||
|
// Unfortunately, simply checking the 'V' bit in AT_HWCAP will not work as this bit is used by
|
||||||
|
// RISC-V board and cloud instance providers to mean different things. The Lichee Pi 4A board
|
||||||
|
// and the Scaleway RV1 cloud instances use the 'V' bit to advertise their support for the unratified
|
||||||
|
// 0.7.1 version of the Vector Specification. The Banana Pi BPI-F3 and the CanMV-K230 board use
|
||||||
|
// it to advertise support for 1.0 of the Vector extension. Versions 0.7.1 and 1.0 of the Vector
|
||||||
|
// extension are binary incompatible. HWCAP can then not be used in isolation to populate the
|
||||||
|
// HasV field as this field indicates that the underlying CPU is compatible with RVV 1.0.
|
||||||
|
//
|
||||||
|
// There is a way at runtime to distinguish between versions 0.7.1 and 1.0 of the Vector
|
||||||
|
// specification by issuing a RVV 1.0 vsetvli instruction and checking the vill bit of the vtype
|
||||||
|
// register. This check would allow us to safely detect version 1.0 of the Vector extension
|
||||||
|
// with HWCAP, if riscv_hwprobe were not available. However, the check cannot
|
||||||
|
// be added until the assembler supports the Vector instructions.
|
||||||
|
//
|
||||||
|
// Note the riscv_hwprobe syscall does not suffer from these ambiguities by design as all of the
|
||||||
|
// extensions it advertises support for are explicitly versioned. It's also worth noting that
|
||||||
|
// the riscv_hwprobe syscall is the only way to detect multi-letter RISC-V extensions, e.g., Zba.
|
||||||
|
// These cannot be detected using HWCAP and so riscv_hwprobe must be used to detect the majority
|
||||||
|
// of RISC-V extensions.
|
||||||
|
//
|
||||||
|
// Please see https://docs.kernel.org/arch/riscv/hwprobe.html for more information.
|
||||||
|
|
||||||
|
// golang.org/x/sys/cpu is not allowed to depend on golang.org/x/sys/unix so we must
|
||||||
|
// reproduce the constants, types and functions needed to make the riscv_hwprobe syscall
|
||||||
|
// here.
|
||||||
|
|
||||||
|
const (
|
||||||
|
// Copied from golang.org/x/sys/unix/ztypes_linux_riscv64.go.
|
||||||
|
riscv_HWPROBE_KEY_IMA_EXT_0 = 0x4
|
||||||
|
riscv_HWPROBE_IMA_C = 0x2
|
||||||
|
riscv_HWPROBE_IMA_V = 0x4
|
||||||
|
riscv_HWPROBE_EXT_ZBA = 0x8
|
||||||
|
riscv_HWPROBE_EXT_ZBB = 0x10
|
||||||
|
riscv_HWPROBE_EXT_ZBS = 0x20
|
||||||
|
riscv_HWPROBE_KEY_CPUPERF_0 = 0x5
|
||||||
|
riscv_HWPROBE_MISALIGNED_FAST = 0x3
|
||||||
|
riscv_HWPROBE_MISALIGNED_MASK = 0x7
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
// sys_RISCV_HWPROBE is copied from golang.org/x/sys/unix/zsysnum_linux_riscv64.go.
|
||||||
|
sys_RISCV_HWPROBE = 258
|
||||||
|
)
|
||||||
|
|
||||||
|
// riscvHWProbePairs is copied from golang.org/x/sys/unix/ztypes_linux_riscv64.go.
|
||||||
|
type riscvHWProbePairs struct {
|
||||||
|
key int64
|
||||||
|
value uint64
|
||||||
|
}
|
||||||
|
|
||||||
|
const (
|
||||||
|
// CPU features
|
||||||
|
hwcap_RISCV_ISA_C = 1 << ('C' - 'A')
|
||||||
|
)
|
||||||
|
|
||||||
|
func doinit() {
|
||||||
|
// A slice of key/value pair structures is passed to the RISCVHWProbe syscall. The key
|
||||||
|
// field should be initialised with one of the key constants defined above, e.g.,
|
||||||
|
// RISCV_HWPROBE_KEY_IMA_EXT_0. The syscall will set the value field to the appropriate value.
|
||||||
|
// If the kernel does not recognise a key it will set the key field to -1 and the value field to 0.
|
||||||
|
|
||||||
|
pairs := []riscvHWProbePairs{
|
||||||
|
{riscv_HWPROBE_KEY_IMA_EXT_0, 0},
|
||||||
|
{riscv_HWPROBE_KEY_CPUPERF_0, 0},
|
||||||
|
}
|
||||||
|
|
||||||
|
// This call only indicates that extensions are supported if they are implemented on all cores.
|
||||||
|
if riscvHWProbe(pairs, 0) {
|
||||||
|
if pairs[0].key != -1 {
|
||||||
|
v := uint(pairs[0].value)
|
||||||
|
RISCV64.HasC = isSet(v, riscv_HWPROBE_IMA_C)
|
||||||
|
RISCV64.HasV = isSet(v, riscv_HWPROBE_IMA_V)
|
||||||
|
RISCV64.HasZba = isSet(v, riscv_HWPROBE_EXT_ZBA)
|
||||||
|
RISCV64.HasZbb = isSet(v, riscv_HWPROBE_EXT_ZBB)
|
||||||
|
RISCV64.HasZbs = isSet(v, riscv_HWPROBE_EXT_ZBS)
|
||||||
|
}
|
||||||
|
if pairs[1].key != -1 {
|
||||||
|
v := pairs[1].value & riscv_HWPROBE_MISALIGNED_MASK
|
||||||
|
RISCV64.HasFastMisaligned = v == riscv_HWPROBE_MISALIGNED_FAST
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Let's double check with HWCAP if the C extension does not appear to be supported.
|
||||||
|
// This may happen if we're running on a kernel older than 6.4.
|
||||||
|
|
||||||
|
if !RISCV64.HasC {
|
||||||
|
RISCV64.HasC = isSet(hwCap, hwcap_RISCV_ISA_C)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func isSet(hwc uint, value uint) bool {
|
||||||
|
return hwc&value != 0
|
||||||
|
}
|
||||||
|
|
||||||
|
// riscvHWProbe is a simplified version of the generated wrapper function found in
|
||||||
|
// golang.org/x/sys/unix/zsyscall_linux_riscv64.go. We simplify it by removing the
|
||||||
|
// cpuCount and cpus parameters which we do not need. We always want to pass 0 for
|
||||||
|
// these parameters here so the kernel only reports the extensions that are present
|
||||||
|
// on all cores.
|
||||||
|
func riscvHWProbe(pairs []riscvHWProbePairs, flags uint) bool {
|
||||||
|
var _zero uintptr
|
||||||
|
var p0 unsafe.Pointer
|
||||||
|
if len(pairs) > 0 {
|
||||||
|
p0 = unsafe.Pointer(&pairs[0])
|
||||||
|
} else {
|
||||||
|
p0 = unsafe.Pointer(&_zero)
|
||||||
|
}
|
||||||
|
|
||||||
|
_, _, e1 := syscall.Syscall6(sys_RISCV_HWPROBE, uintptr(p0), uintptr(len(pairs)), uintptr(0), uintptr(0), uintptr(flags), 0)
|
||||||
|
return e1 == 0
|
||||||
|
}
|
11
vendor/golang.org/x/sys/cpu/cpu_riscv64.go
generated
vendored
11
vendor/golang.org/x/sys/cpu/cpu_riscv64.go
generated
vendored
@ -8,4 +8,13 @@ package cpu
|
|||||||
|
|
||||||
const cacheLineSize = 64
|
const cacheLineSize = 64
|
||||||
|
|
||||||
func initOptions() {}
|
func initOptions() {
|
||||||
|
options = []option{
|
||||||
|
{Name: "fastmisaligned", Feature: &RISCV64.HasFastMisaligned},
|
||||||
|
{Name: "c", Feature: &RISCV64.HasC},
|
||||||
|
{Name: "v", Feature: &RISCV64.HasV},
|
||||||
|
{Name: "zba", Feature: &RISCV64.HasZba},
|
||||||
|
{Name: "zbb", Feature: &RISCV64.HasZbb},
|
||||||
|
{Name: "zbs", Feature: &RISCV64.HasZbs},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
1
vendor/golang.org/x/sys/unix/mkerrors.sh
generated
vendored
1
vendor/golang.org/x/sys/unix/mkerrors.sh
generated
vendored
@ -552,6 +552,7 @@ ccflags="$@"
|
|||||||
$2 !~ /^RTC_VL_(ACCURACY|BACKUP|DATA)/ &&
|
$2 !~ /^RTC_VL_(ACCURACY|BACKUP|DATA)/ &&
|
||||||
$2 ~ /^(NETLINK|NLM|NLMSG|NLA|IFA|IFAN|RT|RTC|RTCF|RTN|RTPROT|RTNH|ARPHRD|ETH_P|NETNSA)_/ ||
|
$2 ~ /^(NETLINK|NLM|NLMSG|NLA|IFA|IFAN|RT|RTC|RTCF|RTN|RTPROT|RTNH|ARPHRD|ETH_P|NETNSA)_/ ||
|
||||||
$2 ~ /^SOCK_|SK_DIAG_|SKNLGRP_$/ ||
|
$2 ~ /^SOCK_|SK_DIAG_|SKNLGRP_$/ ||
|
||||||
|
$2 ~ /^(CONNECT|SAE)_/ ||
|
||||||
$2 ~ /^FIORDCHK$/ ||
|
$2 ~ /^FIORDCHK$/ ||
|
||||||
$2 ~ /^SIOC/ ||
|
$2 ~ /^SIOC/ ||
|
||||||
$2 ~ /^TIOC/ ||
|
$2 ~ /^TIOC/ ||
|
||||||
|
37
vendor/golang.org/x/sys/unix/syscall_darwin.go
generated
vendored
37
vendor/golang.org/x/sys/unix/syscall_darwin.go
generated
vendored
@ -566,6 +566,43 @@ func PthreadFchdir(fd int) (err error) {
|
|||||||
return pthread_fchdir_np(fd)
|
return pthread_fchdir_np(fd)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Connectx calls connectx(2) to initiate a connection on a socket.
|
||||||
|
//
|
||||||
|
// srcIf, srcAddr, and dstAddr are filled into a [SaEndpoints] struct and passed as the endpoints argument.
|
||||||
|
//
|
||||||
|
// - srcIf is the optional source interface index. 0 means unspecified.
|
||||||
|
// - srcAddr is the optional source address. nil means unspecified.
|
||||||
|
// - dstAddr is the destination address.
|
||||||
|
//
|
||||||
|
// On success, Connectx returns the number of bytes enqueued for transmission.
|
||||||
|
func Connectx(fd int, srcIf uint32, srcAddr, dstAddr Sockaddr, associd SaeAssocID, flags uint32, iov []Iovec, connid *SaeConnID) (n uintptr, err error) {
|
||||||
|
endpoints := SaEndpoints{
|
||||||
|
Srcif: srcIf,
|
||||||
|
}
|
||||||
|
|
||||||
|
if srcAddr != nil {
|
||||||
|
addrp, addrlen, err := srcAddr.sockaddr()
|
||||||
|
if err != nil {
|
||||||
|
return 0, err
|
||||||
|
}
|
||||||
|
endpoints.Srcaddr = (*RawSockaddr)(addrp)
|
||||||
|
endpoints.Srcaddrlen = uint32(addrlen)
|
||||||
|
}
|
||||||
|
|
||||||
|
if dstAddr != nil {
|
||||||
|
addrp, addrlen, err := dstAddr.sockaddr()
|
||||||
|
if err != nil {
|
||||||
|
return 0, err
|
||||||
|
}
|
||||||
|
endpoints.Dstaddr = (*RawSockaddr)(addrp)
|
||||||
|
endpoints.Dstaddrlen = uint32(addrlen)
|
||||||
|
}
|
||||||
|
|
||||||
|
err = connectx(fd, &endpoints, associd, flags, iov, &n, connid)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
//sys connectx(fd int, endpoints *SaEndpoints, associd SaeAssocID, flags uint32, iov []Iovec, n *uintptr, connid *SaeConnID) (err error)
|
||||||
//sys sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error)
|
//sys sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error)
|
||||||
|
|
||||||
//sys shmat(id int, addr uintptr, flag int) (ret uintptr, err error)
|
//sys shmat(id int, addr uintptr, flag int) (ret uintptr, err error)
|
||||||
|
1
vendor/golang.org/x/sys/unix/syscall_hurd.go
generated
vendored
1
vendor/golang.org/x/sys/unix/syscall_hurd.go
generated
vendored
@ -11,6 +11,7 @@ package unix
|
|||||||
int ioctl(int, unsigned long int, uintptr_t);
|
int ioctl(int, unsigned long int, uintptr_t);
|
||||||
*/
|
*/
|
||||||
import "C"
|
import "C"
|
||||||
|
import "unsafe"
|
||||||
|
|
||||||
func ioctl(fd int, req uint, arg uintptr) (err error) {
|
func ioctl(fd int, req uint, arg uintptr) (err error) {
|
||||||
r0, er := C.ioctl(C.int(fd), C.ulong(req), C.uintptr_t(arg))
|
r0, er := C.ioctl(C.int(fd), C.ulong(req), C.uintptr_t(arg))
|
||||||
|
7
vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go
generated
vendored
7
vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go
generated
vendored
@ -237,6 +237,9 @@ const (
|
|||||||
CLOCK_UPTIME_RAW_APPROX = 0x9
|
CLOCK_UPTIME_RAW_APPROX = 0x9
|
||||||
CLONE_NOFOLLOW = 0x1
|
CLONE_NOFOLLOW = 0x1
|
||||||
CLONE_NOOWNERCOPY = 0x2
|
CLONE_NOOWNERCOPY = 0x2
|
||||||
|
CONNECT_DATA_AUTHENTICATED = 0x4
|
||||||
|
CONNECT_DATA_IDEMPOTENT = 0x2
|
||||||
|
CONNECT_RESUME_ON_READ_WRITE = 0x1
|
||||||
CR0 = 0x0
|
CR0 = 0x0
|
||||||
CR1 = 0x1000
|
CR1 = 0x1000
|
||||||
CR2 = 0x2000
|
CR2 = 0x2000
|
||||||
@ -1265,6 +1268,10 @@ const (
|
|||||||
RTV_SSTHRESH = 0x20
|
RTV_SSTHRESH = 0x20
|
||||||
RUSAGE_CHILDREN = -0x1
|
RUSAGE_CHILDREN = -0x1
|
||||||
RUSAGE_SELF = 0x0
|
RUSAGE_SELF = 0x0
|
||||||
|
SAE_ASSOCID_ALL = 0xffffffff
|
||||||
|
SAE_ASSOCID_ANY = 0x0
|
||||||
|
SAE_CONNID_ALL = 0xffffffff
|
||||||
|
SAE_CONNID_ANY = 0x0
|
||||||
SCM_CREDS = 0x3
|
SCM_CREDS = 0x3
|
||||||
SCM_RIGHTS = 0x1
|
SCM_RIGHTS = 0x1
|
||||||
SCM_TIMESTAMP = 0x2
|
SCM_TIMESTAMP = 0x2
|
||||||
|
7
vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go
generated
vendored
7
vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go
generated
vendored
@ -237,6 +237,9 @@ const (
|
|||||||
CLOCK_UPTIME_RAW_APPROX = 0x9
|
CLOCK_UPTIME_RAW_APPROX = 0x9
|
||||||
CLONE_NOFOLLOW = 0x1
|
CLONE_NOFOLLOW = 0x1
|
||||||
CLONE_NOOWNERCOPY = 0x2
|
CLONE_NOOWNERCOPY = 0x2
|
||||||
|
CONNECT_DATA_AUTHENTICATED = 0x4
|
||||||
|
CONNECT_DATA_IDEMPOTENT = 0x2
|
||||||
|
CONNECT_RESUME_ON_READ_WRITE = 0x1
|
||||||
CR0 = 0x0
|
CR0 = 0x0
|
||||||
CR1 = 0x1000
|
CR1 = 0x1000
|
||||||
CR2 = 0x2000
|
CR2 = 0x2000
|
||||||
@ -1265,6 +1268,10 @@ const (
|
|||||||
RTV_SSTHRESH = 0x20
|
RTV_SSTHRESH = 0x20
|
||||||
RUSAGE_CHILDREN = -0x1
|
RUSAGE_CHILDREN = -0x1
|
||||||
RUSAGE_SELF = 0x0
|
RUSAGE_SELF = 0x0
|
||||||
|
SAE_ASSOCID_ALL = 0xffffffff
|
||||||
|
SAE_ASSOCID_ANY = 0x0
|
||||||
|
SAE_CONNID_ALL = 0xffffffff
|
||||||
|
SAE_CONNID_ANY = 0x0
|
||||||
SCM_CREDS = 0x3
|
SCM_CREDS = 0x3
|
||||||
SCM_RIGHTS = 0x1
|
SCM_RIGHTS = 0x1
|
||||||
SCM_TIMESTAMP = 0x2
|
SCM_TIMESTAMP = 0x2
|
||||||
|
2
vendor/golang.org/x/sys/unix/zerrors_zos_s390x.go
generated
vendored
2
vendor/golang.org/x/sys/unix/zerrors_zos_s390x.go
generated
vendored
@ -581,6 +581,8 @@ const (
|
|||||||
AT_EMPTY_PATH = 0x1000
|
AT_EMPTY_PATH = 0x1000
|
||||||
AT_REMOVEDIR = 0x200
|
AT_REMOVEDIR = 0x200
|
||||||
RENAME_NOREPLACE = 1 << 0
|
RENAME_NOREPLACE = 1 << 0
|
||||||
|
ST_RDONLY = 1
|
||||||
|
ST_NOSUID = 2
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
20
vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go
generated
vendored
20
vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go
generated
vendored
@ -841,6 +841,26 @@ var libc_pthread_fchdir_np_trampoline_addr uintptr
|
|||||||
|
|
||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func connectx(fd int, endpoints *SaEndpoints, associd SaeAssocID, flags uint32, iov []Iovec, n *uintptr, connid *SaeConnID) (err error) {
|
||||||
|
var _p0 unsafe.Pointer
|
||||||
|
if len(iov) > 0 {
|
||||||
|
_p0 = unsafe.Pointer(&iov[0])
|
||||||
|
} else {
|
||||||
|
_p0 = unsafe.Pointer(&_zero)
|
||||||
|
}
|
||||||
|
_, _, e1 := syscall_syscall9(libc_connectx_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(endpoints)), uintptr(associd), uintptr(flags), uintptr(_p0), uintptr(len(iov)), uintptr(unsafe.Pointer(n)), uintptr(unsafe.Pointer(connid)), 0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
var libc_connectx_trampoline_addr uintptr
|
||||||
|
|
||||||
|
//go:cgo_import_dynamic libc_connectx connectx "/usr/lib/libSystem.B.dylib"
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) {
|
func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) {
|
||||||
_, _, e1 := syscall_syscall6(libc_sendfile_trampoline_addr, uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags))
|
_, _, e1 := syscall_syscall6(libc_sendfile_trampoline_addr, uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags))
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
|
5
vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s
generated
vendored
5
vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s
generated
vendored
@ -248,6 +248,11 @@ TEXT libc_pthread_fchdir_np_trampoline<>(SB),NOSPLIT,$0-0
|
|||||||
GLOBL ·libc_pthread_fchdir_np_trampoline_addr(SB), RODATA, $8
|
GLOBL ·libc_pthread_fchdir_np_trampoline_addr(SB), RODATA, $8
|
||||||
DATA ·libc_pthread_fchdir_np_trampoline_addr(SB)/8, $libc_pthread_fchdir_np_trampoline<>(SB)
|
DATA ·libc_pthread_fchdir_np_trampoline_addr(SB)/8, $libc_pthread_fchdir_np_trampoline<>(SB)
|
||||||
|
|
||||||
|
TEXT libc_connectx_trampoline<>(SB),NOSPLIT,$0-0
|
||||||
|
JMP libc_connectx(SB)
|
||||||
|
GLOBL ·libc_connectx_trampoline_addr(SB), RODATA, $8
|
||||||
|
DATA ·libc_connectx_trampoline_addr(SB)/8, $libc_connectx_trampoline<>(SB)
|
||||||
|
|
||||||
TEXT libc_sendfile_trampoline<>(SB),NOSPLIT,$0-0
|
TEXT libc_sendfile_trampoline<>(SB),NOSPLIT,$0-0
|
||||||
JMP libc_sendfile(SB)
|
JMP libc_sendfile(SB)
|
||||||
GLOBL ·libc_sendfile_trampoline_addr(SB), RODATA, $8
|
GLOBL ·libc_sendfile_trampoline_addr(SB), RODATA, $8
|
||||||
|
20
vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go
generated
vendored
20
vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go
generated
vendored
@ -841,6 +841,26 @@ var libc_pthread_fchdir_np_trampoline_addr uintptr
|
|||||||
|
|
||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func connectx(fd int, endpoints *SaEndpoints, associd SaeAssocID, flags uint32, iov []Iovec, n *uintptr, connid *SaeConnID) (err error) {
|
||||||
|
var _p0 unsafe.Pointer
|
||||||
|
if len(iov) > 0 {
|
||||||
|
_p0 = unsafe.Pointer(&iov[0])
|
||||||
|
} else {
|
||||||
|
_p0 = unsafe.Pointer(&_zero)
|
||||||
|
}
|
||||||
|
_, _, e1 := syscall_syscall9(libc_connectx_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(endpoints)), uintptr(associd), uintptr(flags), uintptr(_p0), uintptr(len(iov)), uintptr(unsafe.Pointer(n)), uintptr(unsafe.Pointer(connid)), 0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
var libc_connectx_trampoline_addr uintptr
|
||||||
|
|
||||||
|
//go:cgo_import_dynamic libc_connectx connectx "/usr/lib/libSystem.B.dylib"
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) {
|
func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) {
|
||||||
_, _, e1 := syscall_syscall6(libc_sendfile_trampoline_addr, uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags))
|
_, _, e1 := syscall_syscall6(libc_sendfile_trampoline_addr, uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags))
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
|
5
vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s
generated
vendored
5
vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s
generated
vendored
@ -248,6 +248,11 @@ TEXT libc_pthread_fchdir_np_trampoline<>(SB),NOSPLIT,$0-0
|
|||||||
GLOBL ·libc_pthread_fchdir_np_trampoline_addr(SB), RODATA, $8
|
GLOBL ·libc_pthread_fchdir_np_trampoline_addr(SB), RODATA, $8
|
||||||
DATA ·libc_pthread_fchdir_np_trampoline_addr(SB)/8, $libc_pthread_fchdir_np_trampoline<>(SB)
|
DATA ·libc_pthread_fchdir_np_trampoline_addr(SB)/8, $libc_pthread_fchdir_np_trampoline<>(SB)
|
||||||
|
|
||||||
|
TEXT libc_connectx_trampoline<>(SB),NOSPLIT,$0-0
|
||||||
|
JMP libc_connectx(SB)
|
||||||
|
GLOBL ·libc_connectx_trampoline_addr(SB), RODATA, $8
|
||||||
|
DATA ·libc_connectx_trampoline_addr(SB)/8, $libc_connectx_trampoline<>(SB)
|
||||||
|
|
||||||
TEXT libc_sendfile_trampoline<>(SB),NOSPLIT,$0-0
|
TEXT libc_sendfile_trampoline<>(SB),NOSPLIT,$0-0
|
||||||
JMP libc_sendfile(SB)
|
JMP libc_sendfile(SB)
|
||||||
GLOBL ·libc_sendfile_trampoline_addr(SB), RODATA, $8
|
GLOBL ·libc_sendfile_trampoline_addr(SB), RODATA, $8
|
||||||
|
13
vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go
generated
vendored
13
vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go
generated
vendored
@ -306,6 +306,19 @@ type XVSockPgen struct {
|
|||||||
|
|
||||||
type _Socklen uint32
|
type _Socklen uint32
|
||||||
|
|
||||||
|
type SaeAssocID uint32
|
||||||
|
|
||||||
|
type SaeConnID uint32
|
||||||
|
|
||||||
|
type SaEndpoints struct {
|
||||||
|
Srcif uint32
|
||||||
|
Srcaddr *RawSockaddr
|
||||||
|
Srcaddrlen uint32
|
||||||
|
Dstaddr *RawSockaddr
|
||||||
|
Dstaddrlen uint32
|
||||||
|
_ [4]byte
|
||||||
|
}
|
||||||
|
|
||||||
type Xucred struct {
|
type Xucred struct {
|
||||||
Version uint32
|
Version uint32
|
||||||
Uid uint32
|
Uid uint32
|
||||||
|
13
vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go
generated
vendored
13
vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go
generated
vendored
@ -306,6 +306,19 @@ type XVSockPgen struct {
|
|||||||
|
|
||||||
type _Socklen uint32
|
type _Socklen uint32
|
||||||
|
|
||||||
|
type SaeAssocID uint32
|
||||||
|
|
||||||
|
type SaeConnID uint32
|
||||||
|
|
||||||
|
type SaEndpoints struct {
|
||||||
|
Srcif uint32
|
||||||
|
Srcaddr *RawSockaddr
|
||||||
|
Srcaddrlen uint32
|
||||||
|
Dstaddr *RawSockaddr
|
||||||
|
Dstaddrlen uint32
|
||||||
|
_ [4]byte
|
||||||
|
}
|
||||||
|
|
||||||
type Xucred struct {
|
type Xucred struct {
|
||||||
Version uint32
|
Version uint32
|
||||||
Uid uint32
|
Uid uint32
|
||||||
|
1
vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go
generated
vendored
1
vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go
generated
vendored
@ -625,6 +625,7 @@ const (
|
|||||||
POLLRDNORM = 0x40
|
POLLRDNORM = 0x40
|
||||||
POLLWRBAND = 0x100
|
POLLWRBAND = 0x100
|
||||||
POLLWRNORM = 0x4
|
POLLWRNORM = 0x4
|
||||||
|
POLLRDHUP = 0x4000
|
||||||
)
|
)
|
||||||
|
|
||||||
type CapRights struct {
|
type CapRights struct {
|
||||||
|
1
vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go
generated
vendored
1
vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go
generated
vendored
@ -630,6 +630,7 @@ const (
|
|||||||
POLLRDNORM = 0x40
|
POLLRDNORM = 0x40
|
||||||
POLLWRBAND = 0x100
|
POLLWRBAND = 0x100
|
||||||
POLLWRNORM = 0x4
|
POLLWRNORM = 0x4
|
||||||
|
POLLRDHUP = 0x4000
|
||||||
)
|
)
|
||||||
|
|
||||||
type CapRights struct {
|
type CapRights struct {
|
||||||
|
1
vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go
generated
vendored
1
vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go
generated
vendored
@ -616,6 +616,7 @@ const (
|
|||||||
POLLRDNORM = 0x40
|
POLLRDNORM = 0x40
|
||||||
POLLWRBAND = 0x100
|
POLLWRBAND = 0x100
|
||||||
POLLWRNORM = 0x4
|
POLLWRNORM = 0x4
|
||||||
|
POLLRDHUP = 0x4000
|
||||||
)
|
)
|
||||||
|
|
||||||
type CapRights struct {
|
type CapRights struct {
|
||||||
|
1
vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go
generated
vendored
1
vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go
generated
vendored
@ -610,6 +610,7 @@ const (
|
|||||||
POLLRDNORM = 0x40
|
POLLRDNORM = 0x40
|
||||||
POLLWRBAND = 0x100
|
POLLWRBAND = 0x100
|
||||||
POLLWRNORM = 0x4
|
POLLWRNORM = 0x4
|
||||||
|
POLLRDHUP = 0x4000
|
||||||
)
|
)
|
||||||
|
|
||||||
type CapRights struct {
|
type CapRights struct {
|
||||||
|
1
vendor/golang.org/x/sys/unix/ztypes_freebsd_riscv64.go
generated
vendored
1
vendor/golang.org/x/sys/unix/ztypes_freebsd_riscv64.go
generated
vendored
@ -612,6 +612,7 @@ const (
|
|||||||
POLLRDNORM = 0x40
|
POLLRDNORM = 0x40
|
||||||
POLLWRBAND = 0x100
|
POLLWRBAND = 0x100
|
||||||
POLLWRNORM = 0x4
|
POLLWRNORM = 0x4
|
||||||
|
POLLRDHUP = 0x4000
|
||||||
)
|
)
|
||||||
|
|
||||||
type CapRights struct {
|
type CapRights struct {
|
||||||
|
2
vendor/golang.org/x/sys/unix/ztypes_linux.go
generated
vendored
2
vendor/golang.org/x/sys/unix/ztypes_linux.go
generated
vendored
@ -2486,7 +2486,7 @@ type XDPMmapOffsets struct {
|
|||||||
type XDPUmemReg struct {
|
type XDPUmemReg struct {
|
||||||
Addr uint64
|
Addr uint64
|
||||||
Len uint64
|
Len uint64
|
||||||
Chunk_size uint32
|
Size uint32
|
||||||
Headroom uint32
|
Headroom uint32
|
||||||
Flags uint32
|
Flags uint32
|
||||||
Tx_metadata_len uint32
|
Tx_metadata_len uint32
|
||||||
|
33
vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go
generated
vendored
33
vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go
generated
vendored
@ -727,6 +727,37 @@ const (
|
|||||||
RISCV_HWPROBE_EXT_ZBA = 0x8
|
RISCV_HWPROBE_EXT_ZBA = 0x8
|
||||||
RISCV_HWPROBE_EXT_ZBB = 0x10
|
RISCV_HWPROBE_EXT_ZBB = 0x10
|
||||||
RISCV_HWPROBE_EXT_ZBS = 0x20
|
RISCV_HWPROBE_EXT_ZBS = 0x20
|
||||||
|
RISCV_HWPROBE_EXT_ZICBOZ = 0x40
|
||||||
|
RISCV_HWPROBE_EXT_ZBC = 0x80
|
||||||
|
RISCV_HWPROBE_EXT_ZBKB = 0x100
|
||||||
|
RISCV_HWPROBE_EXT_ZBKC = 0x200
|
||||||
|
RISCV_HWPROBE_EXT_ZBKX = 0x400
|
||||||
|
RISCV_HWPROBE_EXT_ZKND = 0x800
|
||||||
|
RISCV_HWPROBE_EXT_ZKNE = 0x1000
|
||||||
|
RISCV_HWPROBE_EXT_ZKNH = 0x2000
|
||||||
|
RISCV_HWPROBE_EXT_ZKSED = 0x4000
|
||||||
|
RISCV_HWPROBE_EXT_ZKSH = 0x8000
|
||||||
|
RISCV_HWPROBE_EXT_ZKT = 0x10000
|
||||||
|
RISCV_HWPROBE_EXT_ZVBB = 0x20000
|
||||||
|
RISCV_HWPROBE_EXT_ZVBC = 0x40000
|
||||||
|
RISCV_HWPROBE_EXT_ZVKB = 0x80000
|
||||||
|
RISCV_HWPROBE_EXT_ZVKG = 0x100000
|
||||||
|
RISCV_HWPROBE_EXT_ZVKNED = 0x200000
|
||||||
|
RISCV_HWPROBE_EXT_ZVKNHA = 0x400000
|
||||||
|
RISCV_HWPROBE_EXT_ZVKNHB = 0x800000
|
||||||
|
RISCV_HWPROBE_EXT_ZVKSED = 0x1000000
|
||||||
|
RISCV_HWPROBE_EXT_ZVKSH = 0x2000000
|
||||||
|
RISCV_HWPROBE_EXT_ZVKT = 0x4000000
|
||||||
|
RISCV_HWPROBE_EXT_ZFH = 0x8000000
|
||||||
|
RISCV_HWPROBE_EXT_ZFHMIN = 0x10000000
|
||||||
|
RISCV_HWPROBE_EXT_ZIHINTNTL = 0x20000000
|
||||||
|
RISCV_HWPROBE_EXT_ZVFH = 0x40000000
|
||||||
|
RISCV_HWPROBE_EXT_ZVFHMIN = 0x80000000
|
||||||
|
RISCV_HWPROBE_EXT_ZFA = 0x100000000
|
||||||
|
RISCV_HWPROBE_EXT_ZTSO = 0x200000000
|
||||||
|
RISCV_HWPROBE_EXT_ZACAS = 0x400000000
|
||||||
|
RISCV_HWPROBE_EXT_ZICOND = 0x800000000
|
||||||
|
RISCV_HWPROBE_EXT_ZIHINTPAUSE = 0x1000000000
|
||||||
RISCV_HWPROBE_KEY_CPUPERF_0 = 0x5
|
RISCV_HWPROBE_KEY_CPUPERF_0 = 0x5
|
||||||
RISCV_HWPROBE_MISALIGNED_UNKNOWN = 0x0
|
RISCV_HWPROBE_MISALIGNED_UNKNOWN = 0x0
|
||||||
RISCV_HWPROBE_MISALIGNED_EMULATED = 0x1
|
RISCV_HWPROBE_MISALIGNED_EMULATED = 0x1
|
||||||
@ -734,4 +765,6 @@ const (
|
|||||||
RISCV_HWPROBE_MISALIGNED_FAST = 0x3
|
RISCV_HWPROBE_MISALIGNED_FAST = 0x3
|
||||||
RISCV_HWPROBE_MISALIGNED_UNSUPPORTED = 0x4
|
RISCV_HWPROBE_MISALIGNED_UNSUPPORTED = 0x4
|
||||||
RISCV_HWPROBE_MISALIGNED_MASK = 0x7
|
RISCV_HWPROBE_MISALIGNED_MASK = 0x7
|
||||||
|
RISCV_HWPROBE_KEY_ZICBOZ_BLOCK_SIZE = 0x6
|
||||||
|
RISCV_HWPROBE_WHICH_CPUS = 0x1
|
||||||
)
|
)
|
||||||
|
4
vendor/golang.org/x/sys/windows/syscall_windows.go
generated
vendored
4
vendor/golang.org/x/sys/windows/syscall_windows.go
generated
vendored
@ -313,6 +313,10 @@ func NewCallbackCDecl(fn interface{}) uintptr {
|
|||||||
//sys SetConsoleMode(console Handle, mode uint32) (err error) = kernel32.SetConsoleMode
|
//sys SetConsoleMode(console Handle, mode uint32) (err error) = kernel32.SetConsoleMode
|
||||||
//sys GetConsoleScreenBufferInfo(console Handle, info *ConsoleScreenBufferInfo) (err error) = kernel32.GetConsoleScreenBufferInfo
|
//sys GetConsoleScreenBufferInfo(console Handle, info *ConsoleScreenBufferInfo) (err error) = kernel32.GetConsoleScreenBufferInfo
|
||||||
//sys setConsoleCursorPosition(console Handle, position uint32) (err error) = kernel32.SetConsoleCursorPosition
|
//sys setConsoleCursorPosition(console Handle, position uint32) (err error) = kernel32.SetConsoleCursorPosition
|
||||||
|
//sys GetConsoleCP() (cp uint32, err error) = kernel32.GetConsoleCP
|
||||||
|
//sys GetConsoleOutputCP() (cp uint32, err error) = kernel32.GetConsoleOutputCP
|
||||||
|
//sys SetConsoleCP(cp uint32) (err error) = kernel32.SetConsoleCP
|
||||||
|
//sys SetConsoleOutputCP(cp uint32) (err error) = kernel32.SetConsoleOutputCP
|
||||||
//sys WriteConsole(console Handle, buf *uint16, towrite uint32, written *uint32, reserved *byte) (err error) = kernel32.WriteConsoleW
|
//sys WriteConsole(console Handle, buf *uint16, towrite uint32, written *uint32, reserved *byte) (err error) = kernel32.WriteConsoleW
|
||||||
//sys ReadConsole(console Handle, buf *uint16, toread uint32, read *uint32, inputControl *byte) (err error) = kernel32.ReadConsoleW
|
//sys ReadConsole(console Handle, buf *uint16, toread uint32, read *uint32, inputControl *byte) (err error) = kernel32.ReadConsoleW
|
||||||
//sys resizePseudoConsole(pconsole Handle, size uint32) (hr error) = kernel32.ResizePseudoConsole
|
//sys resizePseudoConsole(pconsole Handle, size uint32) (hr error) = kernel32.ResizePseudoConsole
|
||||||
|
1
vendor/golang.org/x/sys/windows/types_windows.go
generated
vendored
1
vendor/golang.org/x/sys/windows/types_windows.go
generated
vendored
@ -1060,6 +1060,7 @@ const (
|
|||||||
SIO_GET_EXTENSION_FUNCTION_POINTER = IOC_INOUT | IOC_WS2 | 6
|
SIO_GET_EXTENSION_FUNCTION_POINTER = IOC_INOUT | IOC_WS2 | 6
|
||||||
SIO_KEEPALIVE_VALS = IOC_IN | IOC_VENDOR | 4
|
SIO_KEEPALIVE_VALS = IOC_IN | IOC_VENDOR | 4
|
||||||
SIO_UDP_CONNRESET = IOC_IN | IOC_VENDOR | 12
|
SIO_UDP_CONNRESET = IOC_IN | IOC_VENDOR | 12
|
||||||
|
SIO_UDP_NETRESET = IOC_IN | IOC_VENDOR | 15
|
||||||
|
|
||||||
// cf. http://support.microsoft.com/default.aspx?scid=kb;en-us;257460
|
// cf. http://support.microsoft.com/default.aspx?scid=kb;en-us;257460
|
||||||
|
|
||||||
|
38
vendor/golang.org/x/sys/windows/zsyscall_windows.go
generated
vendored
38
vendor/golang.org/x/sys/windows/zsyscall_windows.go
generated
vendored
@ -247,7 +247,9 @@ var (
|
|||||||
procGetCommandLineW = modkernel32.NewProc("GetCommandLineW")
|
procGetCommandLineW = modkernel32.NewProc("GetCommandLineW")
|
||||||
procGetComputerNameExW = modkernel32.NewProc("GetComputerNameExW")
|
procGetComputerNameExW = modkernel32.NewProc("GetComputerNameExW")
|
||||||
procGetComputerNameW = modkernel32.NewProc("GetComputerNameW")
|
procGetComputerNameW = modkernel32.NewProc("GetComputerNameW")
|
||||||
|
procGetConsoleCP = modkernel32.NewProc("GetConsoleCP")
|
||||||
procGetConsoleMode = modkernel32.NewProc("GetConsoleMode")
|
procGetConsoleMode = modkernel32.NewProc("GetConsoleMode")
|
||||||
|
procGetConsoleOutputCP = modkernel32.NewProc("GetConsoleOutputCP")
|
||||||
procGetConsoleScreenBufferInfo = modkernel32.NewProc("GetConsoleScreenBufferInfo")
|
procGetConsoleScreenBufferInfo = modkernel32.NewProc("GetConsoleScreenBufferInfo")
|
||||||
procGetCurrentDirectoryW = modkernel32.NewProc("GetCurrentDirectoryW")
|
procGetCurrentDirectoryW = modkernel32.NewProc("GetCurrentDirectoryW")
|
||||||
procGetCurrentProcessId = modkernel32.NewProc("GetCurrentProcessId")
|
procGetCurrentProcessId = modkernel32.NewProc("GetCurrentProcessId")
|
||||||
@ -347,8 +349,10 @@ var (
|
|||||||
procSetCommMask = modkernel32.NewProc("SetCommMask")
|
procSetCommMask = modkernel32.NewProc("SetCommMask")
|
||||||
procSetCommState = modkernel32.NewProc("SetCommState")
|
procSetCommState = modkernel32.NewProc("SetCommState")
|
||||||
procSetCommTimeouts = modkernel32.NewProc("SetCommTimeouts")
|
procSetCommTimeouts = modkernel32.NewProc("SetCommTimeouts")
|
||||||
|
procSetConsoleCP = modkernel32.NewProc("SetConsoleCP")
|
||||||
procSetConsoleCursorPosition = modkernel32.NewProc("SetConsoleCursorPosition")
|
procSetConsoleCursorPosition = modkernel32.NewProc("SetConsoleCursorPosition")
|
||||||
procSetConsoleMode = modkernel32.NewProc("SetConsoleMode")
|
procSetConsoleMode = modkernel32.NewProc("SetConsoleMode")
|
||||||
|
procSetConsoleOutputCP = modkernel32.NewProc("SetConsoleOutputCP")
|
||||||
procSetCurrentDirectoryW = modkernel32.NewProc("SetCurrentDirectoryW")
|
procSetCurrentDirectoryW = modkernel32.NewProc("SetCurrentDirectoryW")
|
||||||
procSetDefaultDllDirectories = modkernel32.NewProc("SetDefaultDllDirectories")
|
procSetDefaultDllDirectories = modkernel32.NewProc("SetDefaultDllDirectories")
|
||||||
procSetDllDirectoryW = modkernel32.NewProc("SetDllDirectoryW")
|
procSetDllDirectoryW = modkernel32.NewProc("SetDllDirectoryW")
|
||||||
@ -2162,6 +2166,15 @@ func GetComputerName(buf *uint16, n *uint32) (err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetConsoleCP() (cp uint32, err error) {
|
||||||
|
r0, _, e1 := syscall.Syscall(procGetConsoleCP.Addr(), 0, 0, 0, 0)
|
||||||
|
cp = uint32(r0)
|
||||||
|
if cp == 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
func GetConsoleMode(console Handle, mode *uint32) (err error) {
|
func GetConsoleMode(console Handle, mode *uint32) (err error) {
|
||||||
r1, _, e1 := syscall.Syscall(procGetConsoleMode.Addr(), 2, uintptr(console), uintptr(unsafe.Pointer(mode)), 0)
|
r1, _, e1 := syscall.Syscall(procGetConsoleMode.Addr(), 2, uintptr(console), uintptr(unsafe.Pointer(mode)), 0)
|
||||||
if r1 == 0 {
|
if r1 == 0 {
|
||||||
@ -2170,6 +2183,15 @@ func GetConsoleMode(console Handle, mode *uint32) (err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetConsoleOutputCP() (cp uint32, err error) {
|
||||||
|
r0, _, e1 := syscall.Syscall(procGetConsoleOutputCP.Addr(), 0, 0, 0, 0)
|
||||||
|
cp = uint32(r0)
|
||||||
|
if cp == 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
func GetConsoleScreenBufferInfo(console Handle, info *ConsoleScreenBufferInfo) (err error) {
|
func GetConsoleScreenBufferInfo(console Handle, info *ConsoleScreenBufferInfo) (err error) {
|
||||||
r1, _, e1 := syscall.Syscall(procGetConsoleScreenBufferInfo.Addr(), 2, uintptr(console), uintptr(unsafe.Pointer(info)), 0)
|
r1, _, e1 := syscall.Syscall(procGetConsoleScreenBufferInfo.Addr(), 2, uintptr(console), uintptr(unsafe.Pointer(info)), 0)
|
||||||
if r1 == 0 {
|
if r1 == 0 {
|
||||||
@ -3038,6 +3060,14 @@ func SetCommTimeouts(handle Handle, timeouts *CommTimeouts) (err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func SetConsoleCP(cp uint32) (err error) {
|
||||||
|
r1, _, e1 := syscall.Syscall(procSetConsoleCP.Addr(), 1, uintptr(cp), 0, 0)
|
||||||
|
if r1 == 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
func setConsoleCursorPosition(console Handle, position uint32) (err error) {
|
func setConsoleCursorPosition(console Handle, position uint32) (err error) {
|
||||||
r1, _, e1 := syscall.Syscall(procSetConsoleCursorPosition.Addr(), 2, uintptr(console), uintptr(position), 0)
|
r1, _, e1 := syscall.Syscall(procSetConsoleCursorPosition.Addr(), 2, uintptr(console), uintptr(position), 0)
|
||||||
if r1 == 0 {
|
if r1 == 0 {
|
||||||
@ -3054,6 +3084,14 @@ func SetConsoleMode(console Handle, mode uint32) (err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func SetConsoleOutputCP(cp uint32) (err error) {
|
||||||
|
r1, _, e1 := syscall.Syscall(procSetConsoleOutputCP.Addr(), 1, uintptr(cp), 0, 0)
|
||||||
|
if r1 == 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
func SetCurrentDirectory(path *uint16) (err error) {
|
func SetCurrentDirectory(path *uint16) (err error) {
|
||||||
r1, _, e1 := syscall.Syscall(procSetCurrentDirectoryW.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0)
|
r1, _, e1 := syscall.Syscall(procSetCurrentDirectoryW.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0)
|
||||||
if r1 == 0 {
|
if r1 == 0 {
|
||||||
|
1
vendor/golang.org/x/term/term_windows.go
generated
vendored
1
vendor/golang.org/x/term/term_windows.go
generated
vendored
@ -26,6 +26,7 @@ func makeRaw(fd int) (*State, error) {
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
raw := st &^ (windows.ENABLE_ECHO_INPUT | windows.ENABLE_PROCESSED_INPUT | windows.ENABLE_LINE_INPUT | windows.ENABLE_PROCESSED_OUTPUT)
|
raw := st &^ (windows.ENABLE_ECHO_INPUT | windows.ENABLE_PROCESSED_INPUT | windows.ENABLE_LINE_INPUT | windows.ENABLE_PROCESSED_OUTPUT)
|
||||||
|
raw |= windows.ENABLE_VIRTUAL_TERMINAL_INPUT
|
||||||
if err := windows.SetConsoleMode(windows.Handle(fd), raw); err != nil {
|
if err := windows.SetConsoleMode(windows.Handle(fd), raw); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
8
vendor/modules.txt
vendored
8
vendor/modules.txt
vendored
@ -172,7 +172,7 @@ github.com/jesseduffield/go-git/v5/utils/merkletrie/filesystem
|
|||||||
github.com/jesseduffield/go-git/v5/utils/merkletrie/index
|
github.com/jesseduffield/go-git/v5/utils/merkletrie/index
|
||||||
github.com/jesseduffield/go-git/v5/utils/merkletrie/internal/frame
|
github.com/jesseduffield/go-git/v5/utils/merkletrie/internal/frame
|
||||||
github.com/jesseduffield/go-git/v5/utils/merkletrie/noder
|
github.com/jesseduffield/go-git/v5/utils/merkletrie/noder
|
||||||
# github.com/jesseduffield/gocui v0.3.1-0.20240824154427-0fc91d5098e4
|
# github.com/jesseduffield/gocui v0.3.1-0.20240906064314-bfab49c720d7
|
||||||
## explicit; go 1.12
|
## explicit; go 1.12
|
||||||
github.com/jesseduffield/gocui
|
github.com/jesseduffield/gocui
|
||||||
# github.com/jesseduffield/kill v0.0.0-20220618033138-bfbe04675d10
|
# github.com/jesseduffield/kill v0.0.0-20220618033138-bfbe04675d10
|
||||||
@ -316,16 +316,16 @@ golang.org/x/net/proxy
|
|||||||
# golang.org/x/sync v0.8.0
|
# golang.org/x/sync v0.8.0
|
||||||
## explicit; go 1.18
|
## explicit; go 1.18
|
||||||
golang.org/x/sync/errgroup
|
golang.org/x/sync/errgroup
|
||||||
# golang.org/x/sys v0.24.0
|
# golang.org/x/sys v0.25.0
|
||||||
## explicit; go 1.18
|
## explicit; go 1.18
|
||||||
golang.org/x/sys/cpu
|
golang.org/x/sys/cpu
|
||||||
golang.org/x/sys/plan9
|
golang.org/x/sys/plan9
|
||||||
golang.org/x/sys/unix
|
golang.org/x/sys/unix
|
||||||
golang.org/x/sys/windows
|
golang.org/x/sys/windows
|
||||||
# golang.org/x/term v0.23.0
|
# golang.org/x/term v0.24.0
|
||||||
## explicit; go 1.18
|
## explicit; go 1.18
|
||||||
golang.org/x/term
|
golang.org/x/term
|
||||||
# golang.org/x/text v0.17.0
|
# golang.org/x/text v0.18.0
|
||||||
## explicit; go 1.18
|
## explicit; go 1.18
|
||||||
golang.org/x/text/encoding
|
golang.org/x/text/encoding
|
||||||
golang.org/x/text/encoding/internal/identifier
|
golang.org/x/text/encoding/internal/identifier
|
||||||
|
Reference in New Issue
Block a user