diff options
author | Tulir Asokan <tulir@maunium.net> | 2019-04-09 18:42:49 +0300 |
---|---|---|
committer | Tulir Asokan <tulir@maunium.net> | 2019-04-09 18:42:49 +0300 |
commit | 2b6c435e5020535a916e23b09d47608d788eaf05 (patch) | |
tree | e18d7a90b5119bd9dec0b07265b518eef654458d /ui/messages/html/blockquote.go | |
parent | 927be9bdcd15d77bb44280c6b8de2f72b6a47254 (diff) |
Refactor message parsing things
Diffstat (limited to 'ui/messages/html/blockquote.go')
-rw-r--r-- | ui/messages/html/blockquote.go | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/ui/messages/html/blockquote.go b/ui/messages/html/blockquote.go new file mode 100644 index 0000000..30ce52e --- /dev/null +++ b/ui/messages/html/blockquote.go @@ -0,0 +1,49 @@ +// gomuks - A terminal Matrix client written in Go. +// Copyright (C) 2019 Tulir Asokan +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see <https://www.gnu.org/licenses/>. + +package html + +import ( + "fmt" + + "maunium.net/go/mauview" +) + +type BlockquoteEntity struct { + *BaseEntity +} + +const BlockQuoteChar = '>' + +func NewBlockquoteEntity(children []Entity) *BlockquoteEntity { + return &BlockquoteEntity{&BaseEntity{ + Tag: "blockquote", + Children: children, + Block: true, + Indent: 2, + }} +} + +func (be *BlockquoteEntity) Draw(screen mauview.Screen) { + be.BaseEntity.Draw(screen) + for y := 0; y < be.height; y++ { + screen.SetContent(0, y, BlockQuoteChar, nil, be.Style) + } +} + +func (be *BlockquoteEntity) String() string { + return fmt.Sprintf("&html.BlockquoteEntity{%s},\n", be.BaseEntity) +} |