Comments (7)
Hi - You're totally right. The current implementation in fact defines padding for all cells, and do not allow setting padding per cell, or neither it differeciates the first / last cell in a row from the other cells.
However, the current definition of FORMAT_CLEAN
defines no column separator, with left and righ cell's padding set to 1.
This result in a cell printed like this _value_
(where _
represent a space) and the resulting row would be _value__value__value_\n
with a minimum of 2 space between cells.
In fact, it may be indeed better to define FORMAT_CLEAN
with no padding, a a space as column separator. The result would be a cell printed like value
and a row printed value_value_value\n
This would remove extra space at the beginning and the end of the line, and reduce the minimum number of spaces between cells to only 1.
What do you think about that ?
from prettytable-rs.
You can of course manually define this kind of format with the following code :
use prettytable::format::FormatBuilder;
let my_clean_format = FormatBuilder::new()
.column_separator(' ')
.build();
table.set_format(my_clean_format);
from prettytable-rs.
If I understand correctly, that code snippet won't fix the problem I'm describing. It's not the padding between cells that is the problem, but the padding within the cell. Here is a sample image: http://i.imgur.com/tNAAcSZ.png
As you can see, a single line of the table is taking up multiple lines due to the extra padding.
from prettytable-rs.
Oh ok I got it. You are talking about extra spaces added to fill the last cell in order to fit the last column width (based on the largest cell in that column), right ? I'm running out of time for tonight, but I'll get a look tomorrow
from prettytable-rs.
Yes that's right, thanks for the prompt responses.
from prettytable-rs.
Thanks, this fixes my issue.
from prettytable-rs.
Fixed published on crates.io in v0.6.1
from prettytable-rs.
Related Issues (20)
- Using more than one character as separator
- term has security warning, please update HOT 1
- Question: Slice Usage With Row Macro
- Support styling options / colors for borders and separators HOT 2
- Crash due to subtract with overflow HOT 4
- Allow skipping line separators HOT 2
- Mark crate as `deprecated` on crates.io HOT 1
- TableSlice::print_tty() should not panic on I/O errors HOT 1
- output of a table to a string with styles -- is it possible? HOT 5
- Some suggestions to simplify the code
- Replace atty dependency in prettytable-rs due to RUSTSEC-2021-0145 HOT 2
- force casting Vec<T> to &[T] in Table::AsRef is causing trouble HOT 12
- Release 0.10.0 HOT 2
- Make Color optional HOT 1
- Release x.y.z
- Apply dynamic styles to nested table HOT 4
- Could we get some form of Format Macro? HOT 1
- Display Train over Table Object
- .printhtml() method doesnt insert table headers (titles) correctly HOT 2
- Unexpected `FromIterator<Utf8Char> for Vec<u8>` import by just importing prettytable-rs
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from prettytable-rs.